# v1.74 Milestone Audit

Status: passed

## Scope Closed

- Phase `148`: Hypothesis Branch Routing Surface

## Requirements Coverage

Score: `4/4` requirements satisfied

- `REQ-HROUTE-01` satisfied
  - the research-question contract now records bounded branch-routing metadata
    per competing hypothesis, including route kind, route target summary, and
    route target ref
  - evidence:
    - `research/knowledge-hub/knowledge_hub/runtime_read_path_support.py`
    - `research/knowledge-hub/knowledge_hub/topic_shell_support.py`
    - `schemas/research-question.schema.json`
- `REQ-HROUTE-02` satisfied
  - runtime status, runtime protocol note, and replay all surface the active
    branch hypothesis plus parked branch routes directly
  - evidence:
    - `research/knowledge-hub/knowledge_hub/runtime_bundle_support.py`
    - `research/knowledge-hub/knowledge_hub/topic_replay.py`
    - `research/knowledge-hub/tests/test_topic_replay.py`
    - `research/knowledge-hub/tests/test_aitp_service.py -k "runtime_protocol_bundle_matches_public_schema or topic_status_and_prepare_verification_surface_new_shell_fields"`
- `REQ-HROUTE-03` satisfied
  - the hypothesis-routing surface coexists with steering, deferred candidates,
    and follow-up subtopics instead of replacing them
  - evidence:
    - `research/knowledge-hub/runtime/scripts/run_hypothesis_branch_routing_acceptance.py`
    - `research/knowledge-hub/tests/test_hypothesis_branch_routing_contracts.py`
- `REQ-VERIFY-01` satisfied
  - the milestone closes with one isolated hypothesis-routing acceptance lane
    plus targeted regression coverage
  - evidence:
    - `research/knowledge-hub/runtime/scripts/run_hypothesis_branch_routing_acceptance.py --json`
    - `research/knowledge-hub/tests/test_runtime_scripts.py -k "hypothesis_branch_routing_acceptance" -q`
    - `research/knowledge-hub/tests/test_schema_contracts.py -q`

## Cross-Surface Integration Check

The milestone is single-phase, so the integration audit is cross-surface rather
than cross-phase:

- question contract integration passed
  - `research_question.contract.json|md` persists and renders route kind plus
    route target metadata on each competing hypothesis
- runtime bundle integration passed
  - `status --json` exposes `active_branch_hypothesis_id`,
    `deferred_branch_hypothesis_ids`, and
    `followup_branch_hypothesis_ids` through `active_research_contract`
- replay integration passed
  - `replay-topic --json` surfaces the active branch hypothesis and parked
    route counts while keeping the question contract in the reading path
- coexistence integration passed
  - deferred buffer visibility, follow-up subtopic visibility, and steering
    artifact visibility remain intact in the bounded acceptance lane
- docs/test integration passed
  - kernel README, runtime README, and runbook all reference the new
    hypothesis-routing acceptance lane and surface

## Verification Evidence

- `python -m pytest research/knowledge-hub/tests/test_hypothesis_branch_routing_contracts.py -q`
  - result: `2 passed`
- `python -m pytest research/knowledge-hub/tests/test_schema_contracts.py -q`
  - result: `10 passed`
- `python -m pytest research/knowledge-hub/tests/test_topic_replay.py -q`
  - result: `2 passed`
- `python research/knowledge-hub/runtime/scripts/run_hypothesis_branch_routing_acceptance.py --json`
  - result: `success`
- `python -m pytest research/knowledge-hub/tests/test_runtime_scripts.py -k "hypothesis_branch_routing_acceptance" -q`
  - result: `1 passed, 33 deselected`
- `python -m pytest research/knowledge-hub/tests/test_competing_hypotheses_contracts.py -q`
  - result: `2 passed`
- `python -m pytest research/knowledge-hub/tests/test_aitp_service.py -k "runtime_protocol_bundle_matches_public_schema or topic_status_and_prepare_verification_surface_new_shell_fields" -q`
  - result: `1 passed, 129 deselected`
- `python -m pytest research/knowledge-hub/tests/test_runtime_profiles_and_projections.py -k "projection_helpers_write_valid_outputs" -q`
  - result: `1 passed, 12 deselected`

## Accepted Open Gaps

- automatic branch spawning and multi-branch scheduling remain deferred beyond
  the explicit hypothesis-routing surface
- hypothesis auto-adjudication heuristics remain outside this milestone
- no broader full-suite rerun was attempted because unrelated in-flight
  working-tree changes remain present outside the `v1.74` slice
