---
phase: 155-hypothesis-route-transition-receipt-surface
plan: 01
type: execute
wave: 1
depends_on:
  - v1.80-closure
files_modified:
  - research/knowledge-hub/knowledge_hub/runtime_read_path_support.py
  - research/knowledge-hub/knowledge_hub/runtime_bundle_support.py
  - research/knowledge-hub/knowledge_hub/topic_replay.py
  - research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json
  - research/knowledge-hub/runtime/scripts/run_hypothesis_route_transition_receipt_acceptance.py
  - research/knowledge-hub/tests/test_hypothesis_route_transition_receipt_contracts.py
  - research/knowledge-hub/tests/test_runtime_scripts.py
  - research/knowledge-hub/tests/test_topic_replay.py
  - research/knowledge-hub/tests/test_schema_contracts.py
  - research/knowledge-hub/README.md
  - research/knowledge-hub/runtime/README.md
  - research/knowledge-hub/runtime/AITP_TEST_RUNBOOK.md
autonomous: true
requirements:
  - REQ-HRECEIPT-01
  - REQ-HRECEIPT-02
  - REQ-HRECEIPT-03
  - REQ-VERIFY-01
must_haves:
  truths:
    - extend existing route transition-intent and helper contracts instead of inventing a disconnected transition ledger
    - keep the first slice bounded to declarative transition-receipt visibility rather than automatic route mutation
    - coexist with the current action queue and helper mechanisms
---

<objective>
Make the concrete route-transition receipt explicit on the active topic surface
so operators can see whether the bounded handoff was actually enacted and where
the durable receipt lives, without widening into new runtime mutation.
</objective>

<tasks>

<task type="auto">
  <name>Task 1: Add hypothesis route transition-receipt summary to runtime/replay surfaces</name>
  <files>research/knowledge-hub/knowledge_hub/runtime_read_path_support.py, research/knowledge-hub/knowledge_hub/runtime_bundle_support.py, research/knowledge-hub/knowledge_hub/topic_replay.py, research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json</files>
  <read_first>research/knowledge-hub/knowledge_hub/runtime_read_path_support.py</read_first>
  <action>Add one explicit route transition-receipt summary derived from route transition intent plus enacted runtime state.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_hypothesis_route_transition_receipt_contracts.py -q</verify>
  <acceptance_criteria>
    - runtime surfaces expose whether the intended handoff was realized directly
    - replay/read paths surface the route-transition receipt directly
    - the receipt surface coexists with route transition intent and helper mechanisms
  </acceptance_criteria>
  <done>The route transition-receipt surface is durable and operator-visible.</done>
</task>

<task type="auto">
  <name>Task 2: Add isolated acceptance and docs</name>
  <files>research/knowledge-hub/runtime/scripts/run_hypothesis_route_transition_receipt_acceptance.py, research/knowledge-hub/tests/test_runtime_scripts.py, research/knowledge-hub/tests/test_topic_replay.py, research/knowledge-hub/tests/test_schema_contracts.py, research/knowledge-hub/README.md, research/knowledge-hub/runtime/README.md, research/knowledge-hub/runtime/AITP_TEST_RUNBOOK.md</files>
  <read_first>research/knowledge-hub/runtime/scripts/run_hypothesis_route_transition_intent_acceptance.py</read_first>
  <action>Add one isolated acceptance lane and align docs so the route transition-receipt surface is testable and discoverable.</action>
  <verify>python research/knowledge-hub/runtime/scripts/run_hypothesis_route_transition_receipt_acceptance.py --json</verify>
  <acceptance_criteria>
    - docs and runbook reference the route transition-receipt acceptance lane
    - isolated acceptance proves declarative route-transition receipt visibility on a temp kernel root without widening into automatic mutation
  </acceptance_criteria>
  <done>Phase `155` is ready to execute and verify.</done>
</task>

</tasks>
