---
phase: 43-assumption-and-regime-intake
plan: 01
type: execute
wave: 1
depends_on:
  - 42-source-identity-and-citation-graph/42-01
files_modified:
  - research/knowledge-hub/knowledge_hub/source_distillation_support.py
  - research/knowledge-hub/knowledge_hub/runtime_bundle_support.py
  - research/knowledge-hub/tests/test_aitp_service.py
  - research/knowledge-hub/tests/test_runtime_profiles_and_projections.py
  - research/knowledge-hub/tests/test_schema_contracts.py
  - research/knowledge-hub/tests/test_topic_start_regressions.py
autonomous: true
requirements:
  - REQ-L1-01
user_setup: []
must_haves:
  truths:
    - L1 intake must expose assumptions and regime limits explicitly
    - reading-depth labels must be source-backed enough for later layers to reuse
    - this phase strengthens intake structure, not contradiction handling yet
---

<objective>
Strengthen `L1` intake with explicit assumption, regime, and reading-depth
structure so later layers inherit a materially better research substrate.
</objective>

<context>
@.planning/phases/43-assumption-and-regime-intake/43-CONTEXT.md
@research/knowledge-hub/knowledge_hub/source_distillation_support.py
@research/knowledge-hub/knowledge_hub/runtime_bundle_support.py
@research/knowledge-hub/tests/test_aitp_service.py
@research/knowledge-hub/tests/test_runtime_profiles_and_projections.py
@research/knowledge-hub/tests/test_schema_contracts.py
@research/knowledge-hub/tests/test_topic_start_regressions.py
</context>

<tasks>

<task type="auto">
  <name>Task 1: Add failing tests for stronger assumption/regime/reading-depth intake</name>
  <files>research/knowledge-hub/tests/test_aitp_service.py, research/knowledge-hub/tests/test_runtime_profiles_and_projections.py, research/knowledge-hub/tests/test_schema_contracts.py, research/knowledge-hub/tests/test_topic_start_regressions.py</files>
  <action>Add failing tests that require explicit `L1` assumptions, regimes, and reading-depth structure to survive source distillation and runtime projection.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_aitp_service.py research/knowledge-hub/tests/test_runtime_profiles_and_projections.py research/knowledge-hub/tests/test_schema_contracts.py research/knowledge-hub/tests/test_topic_start_regressions.py -q</verify>
  <acceptance_criteria>
    - tests fail before implementation
  </acceptance_criteria>
  <done>A real failing contract exists for stronger `L1` intake structure.</done>
</task>

<task type="auto">
  <name>Task 2: Implement stronger `L1` assumption/regime/reading-depth intake</name>
  <files>research/knowledge-hub/knowledge_hub/source_distillation_support.py, research/knowledge-hub/knowledge_hub/runtime_bundle_support.py</files>
  <action>Implement stronger source-backed assumption, regime, and reading-depth extraction and expose the resulting fields through the current runtime/topic read path.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_aitp_service.py research/knowledge-hub/tests/test_runtime_profiles_and_projections.py research/knowledge-hub/tests/test_schema_contracts.py research/knowledge-hub/tests/test_topic_start_regressions.py -q</verify>
  <acceptance_criteria>
    - `L1` intake becomes materially stronger and visible in runtime surfaces
  </acceptance_criteria>
  <done>The `L1` layer exposes stronger intake structure for later phases.</done>
</task>

<task type="auto">
  <name>Task 3: Re-run the integrated regression slice for the active intake milestone</name>
  <files>research/knowledge-hub/tests/test_aitp_service.py, research/knowledge-hub/tests/test_aitp_cli.py, research/knowledge-hub/tests/test_aitp_cli_e2e.py, research/knowledge-hub/tests/test_runtime_profiles_and_projections.py, research/knowledge-hub/tests/test_schema_contracts.py, research/knowledge-hub/tests/test_topic_start_regressions.py</files>
  <action>Re-run the intake-focused integrated regression slice so Phase `43` lands on a stable baseline.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_aitp_service.py research/knowledge-hub/tests/test_aitp_cli.py research/knowledge-hub/tests/test_aitp_cli_e2e.py research/knowledge-hub/tests/test_runtime_profiles_and_projections.py research/knowledge-hub/tests/test_schema_contracts.py research/knowledge-hub/tests/test_topic_start_regressions.py -q</verify>
  <acceptance_criteria>
    - the integrated regression slice exits 0
  </acceptance_criteria>
  <done>Phase `43` lands on a stable baseline.</done>
</task>

</tasks>
