{
  "schemaVersion": 1,
  "study": "cold-email-founder-workflow-interview-study",
  "title": "Founder outreach workflow interview protocol",
  "status": "awaiting-real-data",
  "scope": "Collection template, not a dataset or completed field study. All null values are intentionally uncollected.",
  "unitOfObservation": "founder-interview",
  "requiredInputs": "Consenting founders at the intended stage, including non-users when possible.",
  "controls": "Reconstruct the last actual session; do not present feature suggestions before observing the problem.",
  "primaryAnalysis": "Observed handoffs, interruptions and unfinished tasks; retrospective reports need corroboration.",
  "registration": {
    "owner": null,
    "protocolVersion": "1",
    "registeredAt": null,
    "population": null,
    "eligibilityRules": null,
    "primaryOutcomeDefinition": null,
    "denominator": null,
    "observationWindow": null,
    "targetSampleAndJustification": null,
    "assignmentProcedureAndSeed": null,
    "exclusionRules": null,
    "safetyStopConditions": null,
    "missingDataPolicy": null,
    "retentionAndAccessOwner": null
  },
  "collectionRules": [
    "Assign pseudonymous IDs; do not store mailbox passwords, access tokens or unnecessary identifiers.",
    "Freeze the outcome and exclusions before collection; retain exclusions with reasons.",
    "Do not use repeated observations as independent people. Record clustering by person, company or mailbox.",
    "Do not treat a software test, simulated reply or researcher-written example as participant or campaign evidence.",
    "Record complaints and opt-outs and follow the actual suppression workflow.",
    "For interviews obtain permission before recording and respect withdrawal.",
    "Publish aggregate or redacted evidence only after review; keep original private records outside the public website."
  ],
  "fieldDictionary": {
    "participant_id": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "participant id",
      "missingValue": null
    },
    "company_stage": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "company stage",
      "missingValue": null
    },
    "team_size": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "team size",
      "missingValue": null
    },
    "sales_motion": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "sales motion",
      "missingValue": null
    },
    "consent_recorded": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "consent recorded",
      "missingValue": null
    },
    "recent_task": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "recent task",
      "missingValue": null
    },
    "interruption": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "interruption",
      "missingValue": null
    },
    "resume_method": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "resume method",
      "missingValue": null
    },
    "delegation": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "delegation",
      "missingValue": null
    },
    "unresolved_work": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "unresolved work",
      "missingValue": null
    },
    "redacted_quote": {
      "required": true,
      "type": "string, number or boolean as specified by the registered protocol; null until collected",
      "meaning": "redacted quote",
      "missingValue": null
    }
  },
  "blankRecord": {
    "observation_id": null,
    "participant_id": null,
    "company_stage": null,
    "team_size": null,
    "sales_motion": null,
    "consent_recorded": null,
    "recent_task": null,
    "interruption": null,
    "resume_method": null,
    "delegation": null,
    "unresolved_work": null,
    "redacted_quote": null,
    "excluded": false,
    "exclusion_reason": null,
    "protocol_deviation": null
  },
  "records": [],
  "analysisStatus": "not-run",
  "results": null,
  "interpretationLimits": "Interview accounts are retrospective and may omit routine work. Validate important patterns through consensual observation or a later diary study. Publish results only after the evidence, method and limitations have been reviewed. This protocol provides no benchmark, expected lift or completed-study claim.",
  "procedure": [
    "Recruit people at the intended stage and record team size, sales motion and current tooling. Avoid selecting only enthusiastic product users.",
    "Walk through the last outreach session from research to reply handling. Ask about interruptions, postponed actions and decisions delegated to others.",
    "Before collection, write the primary outcome, observation window, exclusion rules and stopping conditions. Preserve excluded observations with a reason rather than quietly removing them.",
    "Pilot the procedure with fictional or owned test data, resolve ambiguous fields, and freeze a dated protocol version before the main run."
  ],
  "interviewPrompts": [
    "Walk me through the last specific instance.",
    "What did you do next?",
    "What evidence or artifact did you use?",
    "What remained unresolved?",
    "Tell me about a case that worked differently."
  ]
}
