{
  "$schema": "./product-roadmap.schema.json",
  "roadmapId": "ROADMAP-EXAMPLE-001",
  "version": 4,
  "state": "reviewed",
  "title": "Signal Harbor outcome roadmap",
  "product": "Signal Harbor",
  "vision": "Help a fictional public-service product team turn scattered feedback into reviewable evidence without exposing sensitive message content.",
  "audience": "The fictional Signal Harbor product team, service owner, researchers, and operations reviewers.",
  "interpretation": "Now, Next, and Later are relative evidence and uncertainty horizons. They are not sprints, milestones, release windows, staffing plans, or delivery commitments.",
  "people": [
    {
      "id": "PERSON-STEWARD",
      "name": "Casey Lin",
      "role": "roadmap-steward",
      "contact": "casey@signal-harbor.example.test"
    },
    {
      "id": "PERSON-REVIEWER",
      "name": "Jordan Bell",
      "role": "reviewer",
      "contact": "jordan@signal-harbor.example.test"
    },
    {
      "id": "PERSON-RESEARCH",
      "name": "Samira Cole",
      "role": "evidence-owner",
      "contact": "samira@signal-harbor.example.test"
    },
    {
      "id": "PERSON-OPERATIONS",
      "name": "Rowan Gray",
      "role": "evidence-owner",
      "contact": "rowan@signal-harbor.example.test"
    }
  ],
  "dates": {
    "createdAt": "2026-06-15",
    "updatedAt": "2026-08-01",
    "reviewBy": "2026-10-01"
  },
  "evidence": [
    {
      "id": "EVD-INTERVIEWS",
      "kind": "user-research",
      "label": "Fictional feedback-triage interviews",
      "ownerId": "PERSON-RESEARCH",
      "observedAt": "2026-07-18",
      "summary": "In six scripted example interviews, reviewers described missing context and inconsistent categories as the largest barriers to using submitted feedback.",
      "limitation": "The interviews are fictional template data and are not representative research findings.",
      "reference": "https://research.signal-harbor.example.test/studies/triage-001"
    },
    {
      "id": "EVD-COMPLETENESS",
      "kind": "performance",
      "label": "Synthetic intake completeness baseline",
      "ownerId": "PERSON-RESEARCH",
      "observedAt": "2026-07-20",
      "summary": "A synthetic fixture set marks 54 percent of sample submissions complete enough for the fictional review protocol.",
      "limitation": "The percentage comes from generated fixtures, not production analytics, and only demonstrates how a baseline is recorded.",
      "reference": "https://analytics.signal-harbor.example.test/reports/completeness-001"
    },
    {
      "id": "EVD-TRIAGE-TIME",
      "kind": "operations",
      "label": "Synthetic evidence-to-review duration",
      "ownerId": "PERSON-OPERATIONS",
      "observedAt": "2026-07-22",
      "summary": "The fictional workflow fixture has a median of nine days from feedback receipt to a recorded product review decision.",
      "limitation": "The duration is synthetic and cannot forecast the cycle time of a real team.",
      "reference": "https://ops.signal-harbor.example.test/reports/review-duration-001"
    },
    {
      "id": "EVD-AUDIT-GAP",
      "kind": "constraint",
      "label": "Decision traceability gap",
      "ownerId": "PERSON-OPERATIONS",
      "observedAt": "2026-07-24",
      "summary": "The fictional review found that two of five prior roadmap moves lacked an evidence cutoff and a recorded rationale.",
      "limitation": "This is a generated audit scenario used to exercise decision-history fields.",
      "reference": "https://ops.signal-harbor.example.test/audits/roadmap-001"
    },
    {
      "id": "EVD-SHARING",
      "kind": "user-research",
      "label": "Fictional stakeholder sharing review",
      "ownerId": "PERSON-RESEARCH",
      "observedAt": "2026-07-26",
      "summary": "Scripted reviewers wanted an outcome summary that omitted raw feedback text and made evidence limitations visible.",
      "limitation": "The review is fictional and does not establish privacy, security, accessibility, or stakeholder requirements.",
      "reference": "https://research.signal-harbor.example.test/studies/sharing-001"
    }
  ],
  "themes": [
    {
      "id": "THM-TRUSTED-INTAKE",
      "name": "Trusted intake evidence",
      "strategicGoal": "Increase the share of feedback that can support a product decision without inventing missing context.",
      "evidenceIds": ["EVD-INTERVIEWS", "EVD-COMPLETENESS"],
      "outcomeIds": ["OUT-COMPLETE", "OUT-PORTABLE"]
    },
    {
      "id": "THM-FASTER-LEARNING",
      "name": "Faster evidence review",
      "strategicGoal": "Reduce avoidable delay between observing a pattern and recording a product decision.",
      "evidenceIds": ["EVD-TRIAGE-TIME", "EVD-AUDIT-GAP"],
      "outcomeIds": ["OUT-TRACEABLE", "OUT-REVIEW-TIME"]
    },
    {
      "id": "THM-SAFE-SHARING",
      "name": "Safe outcome sharing",
      "strategicGoal": "Help stakeholders understand the outcome direction and evidence limits without exposing raw message content.",
      "evidenceIds": ["EVD-SHARING", "EVD-AUDIT-GAP"],
      "outcomeIds": ["OUT-SHAREABLE"]
    }
  ],
  "horizons": [
    {
      "id": "HZN-NOW",
      "label": "Now",
      "order": 1,
      "definition": "Active evidence and learning work selected for the current review cycle; not a sprint or release commitment.",
      "confidence": "high"
    },
    {
      "id": "HZN-NEXT",
      "label": "Next",
      "order": 2,
      "definition": "The next outcome area to consider when Now evidence meets its review signal and dependencies remain acceptable.",
      "confidence": "medium"
    },
    {
      "id": "HZN-LATER",
      "label": "Later",
      "order": 3,
      "definition": "Lower-confidence options retained for learning and future review, with no delivery date or promise.",
      "confidence": "low"
    }
  ],
  "outcomes": [
    {
      "id": "OUT-COMPLETE",
      "themeId": "THM-TRUSTED-INTAKE",
      "horizonId": "HZN-NOW",
      "statement": "A larger share of submitted feedback contains the context required by the fictional review protocol.",
      "baseline": "Synthetic fixture baseline: 54 percent complete on 2026-07-20.",
      "targetDirection": "Increase completeness without increasing collection of unnecessary personal information.",
      "measure": "Share of synthetic submissions passing the documented completeness rubric.",
      "evidenceIds": ["EVD-INTERVIEWS", "EVD-COMPLETENESS"],
      "reviewSignal": "Review whether the rubric and prompts improve fixture completeness without adding prohibited fields.",
      "status": "active"
    },
    {
      "id": "OUT-TRACEABLE",
      "themeId": "THM-FASTER-LEARNING",
      "horizonId": "HZN-NOW",
      "statement": "Every roadmap move can be traced to a dated evidence cutoff, rationale, and named reviewer.",
      "baseline": "Fictional audit: three of five historic moves were traceable on 2026-07-24.",
      "targetDirection": "Increase complete decision records while keeping review overhead bounded.",
      "measure": "Share of review decisions with valid subject, evidence, horizon, owner, date, and rationale links.",
      "evidenceIds": ["EVD-AUDIT-GAP"],
      "reviewSignal": "All decisions in the next fictional review pass the closed validator and a manual rationale check.",
      "status": "active"
    },
    {
      "id": "OUT-REVIEW-TIME",
      "themeId": "THM-FASTER-LEARNING",
      "horizonId": "HZN-NEXT",
      "statement": "Reviewers reach an evidence-qualified keep, move, pause, promote, or remove decision sooner.",
      "baseline": "Synthetic median: nine days from receipt to review decision on 2026-07-22.",
      "targetDirection": "Decrease avoidable waiting while preserving evidence and participant checks.",
      "measure": "Median synthetic days from evidence cutoff to recorded review decision.",
      "evidenceIds": ["EVD-TRIAGE-TIME", "EVD-AUDIT-GAP"],
      "reviewSignal": "A trial on generated records shows a shorter duration with no missing evidence or reviewer links.",
      "status": "candidate"
    },
    {
      "id": "OUT-SHAREABLE",
      "themeId": "THM-SAFE-SHARING",
      "horizonId": "HZN-LATER",
      "statement": "Stakeholders can understand outcome direction and evidence limits without seeing raw feedback content.",
      "baseline": "The fictional sharing review has no approved summary format.",
      "targetDirection": "Increase comprehension while keeping raw message content outside the roadmap view.",
      "measure": "Scripted comprehension checks and a manual sensitive-content inspection.",
      "evidenceIds": ["EVD-SHARING", "EVD-AUDIT-GAP"],
      "reviewSignal": "A redacted prototype passes the fictional comprehension and content-exposure checks.",
      "status": "candidate"
    },
    {
      "id": "OUT-PORTABLE",
      "themeId": "THM-TRUSTED-INTAKE",
      "horizonId": "HZN-LATER",
      "statement": "The team can export the reviewed roadmap record without losing evidence or decision links.",
      "baseline": "The fictional team has no verified portable record format.",
      "targetDirection": "Increase portability while retaining closed shapes and stable identifiers.",
      "measure": "Byte-stable JSON export passes schema, cross-reference, and clean-extraction checks.",
      "evidenceIds": ["EVD-AUDIT-GAP", "EVD-COMPLETENESS"],
      "reviewSignal": "The generated export rebuilds and validates independently from an exact allowlist.",
      "status": "candidate"
    }
  ],
  "initiatives": [
    {
      "id": "INIT-CONTEXT",
      "name": "Context-quality learning loop",
      "horizonId": "HZN-NOW",
      "outcomeIds": ["OUT-COMPLETE"],
      "hypothesis": "Testing a smaller context rubric and clearer prompts may increase usable evidence without collecting more personal information.",
      "exclusions": [
        "No approved field-level requirements.",
        "No commitment to ship a specific intake interface."
      ],
      "dependencyIds": ["DEP-TAXONOMY"]
    },
    {
      "id": "INIT-TRACE",
      "name": "Review-decision trace",
      "horizonId": "HZN-NOW",
      "outcomeIds": ["OUT-TRACEABLE"],
      "hypothesis": "A stable review record may reduce unexplained roadmap changes and make evidence gaps easier to challenge.",
      "exclusions": [
        "No executive authorization workflow.",
        "No replacement for PRD or project-plan records."
      ],
      "dependencyIds": ["DEP-ACCESS"]
    },
    {
      "id": "INIT-REVIEW-FLOW",
      "name": "Evidence-review trial",
      "horizonId": "HZN-NEXT",
      "outcomeIds": ["OUT-REVIEW-TIME"],
      "hypothesis": "A bounded evidence cutoff and pre-review completeness check may reduce waiting during roadmap review.",
      "exclusions": [
        "No automated prioritization decision.",
        "No project schedule or meeting-time commitment."
      ],
      "dependencyIds": ["DEP-TAXONOMY", "DEP-ACCESS"]
    },
    {
      "id": "INIT-SHARING",
      "name": "Redacted outcome summary",
      "horizonId": "HZN-LATER",
      "outcomeIds": ["OUT-SHAREABLE"],
      "hypothesis": "A generated summary constrained to outcomes, evidence labels, and limitations may improve stakeholder understanding without exposing raw content.",
      "exclusions": [
        "No public sharing commitment.",
        "No privacy, security, or accessibility certification."
      ],
      "dependencyIds": ["DEP-ACCESS"]
    },
    {
      "id": "INIT-EXPORT",
      "name": "Portable roadmap record",
      "horizonId": "HZN-LATER",
      "outcomeIds": ["OUT-PORTABLE"],
      "hypothesis": "A closed JSON record and deterministic archive may make roadmap history easier to preserve and transfer.",
      "exclusions": [
        "No vendor migration guarantee.",
        "No export of raw research content or credentials."
      ],
      "dependencyIds": ["DEP-EXPORT"]
    }
  ],
  "dependencies": [
    {
      "id": "DEP-TAXONOMY",
      "kind": "evidence",
      "description": "The fictional team has not reviewed whether one context rubric works across every feedback channel.",
      "ownerId": "PERSON-RESEARCH",
      "affectsInitiativeIds": ["INIT-CONTEXT", "INIT-REVIEW-FLOW"],
      "status": "open"
    },
    {
      "id": "DEP-ACCESS",
      "kind": "policy",
      "description": "A real organization would need an approved access and redaction policy before sharing any feedback-derived summary.",
      "ownerId": "PERSON-OPERATIONS",
      "affectsInitiativeIds": ["INIT-TRACE", "INIT-REVIEW-FLOW", "INIT-SHARING"],
      "status": "watching"
    },
    {
      "id": "DEP-EXPORT",
      "kind": "technical",
      "description": "The fictional example requires stable IDs and a closed schema before a portable record can be evaluated.",
      "ownerId": "PERSON-STEWARD",
      "affectsInitiativeIds": ["INIT-EXPORT"],
      "status": "resolved"
    }
  ],
  "decisions": [
    {
      "id": "DEC-CONTEXT-KEEP",
      "reviewId": "REVIEW-004",
      "action": "keep",
      "subjectId": "INIT-CONTEXT",
      "fromHorizonId": "HZN-NOW",
      "toHorizonId": "HZN-NOW",
      "rationale": "The fictional completeness baseline and interview pattern support a bounded learning loop, while the open taxonomy dependency remains explicit.",
      "evidenceIds": ["EVD-INTERVIEWS", "EVD-COMPLETENESS"],
      "decidedByIds": ["PERSON-STEWARD", "PERSON-REVIEWER", "PERSON-RESEARCH"],
      "decidedAt": "2026-08-01"
    },
    {
      "id": "DEC-TRACE-PROMOTE",
      "reviewId": "REVIEW-004",
      "action": "promote",
      "subjectId": "INIT-TRACE",
      "fromHorizonId": "HZN-NEXT",
      "toHorizonId": "HZN-NOW",
      "rationale": "The generated audit exposes missing rationale and cutoff links, so tracing the next review is the nearest testable outcome.",
      "evidenceIds": ["EVD-AUDIT-GAP"],
      "decidedByIds": ["PERSON-STEWARD", "PERSON-REVIEWER", "PERSON-OPERATIONS"],
      "decidedAt": "2026-08-01"
    },
    {
      "id": "DEC-REVIEW-KEEP",
      "reviewId": "REVIEW-004",
      "action": "keep",
      "subjectId": "INIT-REVIEW-FLOW",
      "fromHorizonId": "HZN-NEXT",
      "toHorizonId": "HZN-NEXT",
      "rationale": "The synthetic duration suggests an opportunity, but the team first needs complete trace data from the Now review.",
      "evidenceIds": ["EVD-TRIAGE-TIME", "EVD-AUDIT-GAP"],
      "decidedByIds": ["PERSON-STEWARD", "PERSON-REVIEWER"],
      "decidedAt": "2026-08-01"
    },
    {
      "id": "DEC-SHARING-MOVE",
      "reviewId": "REVIEW-004",
      "action": "move",
      "subjectId": "INIT-SHARING",
      "fromHorizonId": "HZN-NEXT",
      "toHorizonId": "HZN-LATER",
      "rationale": "The fictional sharing need remains plausible, but the access-policy dependency and evidence limitations make Later the honest horizon.",
      "evidenceIds": ["EVD-SHARING", "EVD-AUDIT-GAP"],
      "decidedByIds": ["PERSON-STEWARD", "PERSON-REVIEWER", "PERSON-OPERATIONS"],
      "decidedAt": "2026-08-01"
    },
    {
      "id": "DEC-EXPORT-KEEP",
      "reviewId": "REVIEW-004",
      "action": "keep",
      "subjectId": "INIT-EXPORT",
      "fromHorizonId": "HZN-LATER",
      "toHorizonId": "HZN-LATER",
      "rationale": "The schema dependency is resolved in the example, but portability is less urgent than validating evidence and review behavior.",
      "evidenceIds": ["EVD-AUDIT-GAP", "EVD-COMPLETENESS"],
      "decidedByIds": ["PERSON-STEWARD", "PERSON-REVIEWER"],
      "decidedAt": "2026-08-01"
    }
  ],
  "reviews": [
    {
      "id": "REVIEW-004",
      "reviewedAt": "2026-08-01",
      "evidenceCutoff": "2026-07-26",
      "facilitatorId": "PERSON-STEWARD",
      "participantIds": [
        "PERSON-STEWARD",
        "PERSON-REVIEWER",
        "PERSON-RESEARCH",
        "PERSON-OPERATIONS"
      ],
      "decisionIds": [
        "DEC-CONTEXT-KEEP",
        "DEC-TRACE-PROMOTE",
        "DEC-REVIEW-KEEP",
        "DEC-SHARING-MOVE",
        "DEC-EXPORT-KEEP"
      ],
      "nextReviewAt": "2026-10-01",
      "summary": "Keep two bounded Now learning items, retain one Next hypothesis, move sharing to Later, and keep portability in Later without creating delivery commitments."
    }
  ],
  "openQuestions": [
    {
      "id": "QUESTION-TAXONOMY",
      "question": "Does one context rubric work across the fictional feedback channels without collecting unnecessary data?",
      "ownerId": "PERSON-RESEARCH",
      "affectsIds": ["OUT-COMPLETE", "INIT-CONTEXT", "DEP-TAXONOMY"],
      "reviewBy": "2026-10-01",
      "status": "open",
      "resolution": null
    },
    {
      "id": "QUESTION-EXPORT",
      "question": "Can the example record rebuild from an exact allowlist with stable bytes?",
      "ownerId": "PERSON-STEWARD",
      "affectsIds": ["OUT-PORTABLE", "INIT-EXPORT", "DEP-EXPORT"],
      "reviewBy": "2026-08-01",
      "status": "resolved",
      "resolution": "The fictional pack rebuild and native tests pass from a clean extraction; this does not prove vendor portability."
    }
  ],
  "boundaries": {
    "requirementsApproved": false,
    "backlogPrioritized": false,
    "deliveryScheduleCommitted": false,
    "milestoneDatesCommitted": false,
    "releaseDatesPromised": false,
    "budgetApproved": false,
    "staffingCommitted": false,
    "productionAuthorized": false,
    "productSuccessGuaranteed": false
  }
}
