---
phase: 40-task-type-by-lane-guidance
plan: 01
type: execute
wave: 1
depends_on:
  - 39-01
files_modified:
  - research/knowledge-hub/knowledge_hub/aitp_service.py
  - research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json
  - research/knowledge-hub/tests/test_runtime_profiles_and_projections.py
  - research/knowledge-hub/tests/test_schema_contracts.py
autonomous: true
requirements:
  - REQ-ORCH-04
user_setup: []
must_haves:
  truths:
    - guidance should differ by both `task_type` and lane family
    - the surface should help a physicist understand first-loop expectations
    - this phase should add guidance, not silently replace the queue engine
  artifacts:
    - path: research/knowledge-hub/knowledge_hub/aitp_service.py
      provides: task-type-by-lane runtime guidance surface
      contains: "task_type_lane_guidance"
    - path: research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json
      provides: runtime bundle contract for guidance surface
      contains: "\"task_type_lane_guidance\""
---

<objective>
Add a dedicated `task_type × lane` guidance surface so AITP can expose
different first-loop expectations for exploratory, conjectural, and
target-driven work across major physics lanes.

Purpose: move from merely labeling the job type to carrying actionable
research-organization guidance.
</objective>

<execution_context>
@D:/BaiduSyncdisk/Theoretical-Physics/.codex-home/get-shit-done/workflows/execute-plan.md
@D:/BaiduSyncdisk/Theoretical-Physics/.codex-home/get-shit-done/templates/summary.md
</execution_context>

<context>
@.planning/phases/40-task-type-by-lane-guidance/40-CONTEXT.md
@docs/superpowers/specs/2026-04-08-aitp-research-scenario-and-layer-responsibility-freeze-design.md
@research/knowledge-hub/knowledge_hub/aitp_service.py
@research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json
@research/knowledge-hub/tests/test_runtime_profiles_and_projections.py
@research/knowledge-hub/tests/test_schema_contracts.py
</context>

<tasks>

<task type="auto">
  <name>Task 1: Add failing tests for task-type-by-lane guidance</name>
  <files>research/knowledge-hub/tests/test_runtime_profiles_and_projections.py, research/knowledge-hub/tests/test_schema_contracts.py</files>
  <read_first>research/knowledge-hub/tests/test_runtime_profiles_and_projections.py, research/knowledge-hub/tests/test_schema_contracts.py, .planning/phases/40-task-type-by-lane-guidance/40-CONTEXT.md</read_first>
  <action>Add failing tests that require a `task_type_lane_guidance` runtime surface and verify at least these distinct combinations behave differently: `open_exploration × formal_theory`, `conjecture_attempt × toy_numeric/model_numeric`, and `target_driven_execution × code_method`.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_runtime_profiles_and_projections.py research/knowledge-hub/tests/test_schema_contracts.py -q</verify>
  <acceptance_criteria>
    - tests fail before implementation
    - runtime schema requires the new guidance surface
  </acceptance_criteria>
  <done>A real failing contract exists for task-type-by-lane guidance.</done>
</task>

<task type="auto">
  <name>Task 2: Implement task-type-by-lane runtime guidance surface</name>
  <files>research/knowledge-hub/knowledge_hub/aitp_service.py, research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json</files>
  <read_first>research/knowledge-hub/knowledge_hub/aitp_service.py, docs/superpowers/specs/2026-04-08-aitp-research-scenario-and-layer-responsibility-freeze-design.md, research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json</read_first>
  <action>Add a dedicated runtime guidance surface with task type, lane, normalized lane family, summary, layer expectations, recommended first moves, and human interaction bias. Materialize JSON/Markdown artifacts and expose them in the runtime bundle.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_runtime_profiles_and_projections.py research/knowledge-hub/tests/test_schema_contracts.py -q</verify>
  <acceptance_criteria>
    - runtime bundle includes `task_type_lane_guidance`
    - distinct combinations produce distinct guidance summaries
    - the surface is human-readable and machine-visible
  </acceptance_criteria>
  <done>AITP now exposes first-loop research organization guidance by job type and lane.</done>
</task>

<task type="auto">
  <name>Task 3: Re-run the integrated regression slice</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_l2_graph_activation.py, research/knowledge-hub/tests/test_topic_start_regressions.py</files>
  <read_first>.planning/phases/39-task-type-aware-interaction-bias/39-01-SUMMARY.md</read_first>
  <action>Re-run the integrated regression slice so the guidance surface lands on top of the current green 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_l2_graph_activation.py research/knowledge-hub/tests/test_topic_start_regressions.py -q</verify>
  <acceptance_criteria>
    - the integrated regression slice exits 0
  </acceptance_criteria>
  <done>Phase `40` lands without regressing the Phase `39` baseline.</done>
</task>

</tasks>
