---
phase: 41-collaborator-routing-and-human-override
plan: 01
type: execute
wave: 1
depends_on:
  - 40-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:
    - collaborator memory must guide routing without becoming canonical truth
    - human override sources should be explicit and visible
    - mismatch between collaborator preference and current route should not stay hidden
  artifacts:
    - path: research/knowledge-hub/knowledge_hub/aitp_service.py
      provides: collaborator routing guidance surface
      contains: "collaborator_routing_guidance"
    - path: research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json
      provides: runtime contract for collaborator routing guidance
      contains: "\"collaborator_routing_guidance\""
---

<objective>
Add an explicit collaborator-routing guidance surface that combines
task-type-by-lane guidance, collaborator preferences, and human override paths.
</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/41-collaborator-routing-and-human-override/41-CONTEXT.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 collaborator routing 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/41-collaborator-routing-and-human-override/41-CONTEXT.md</read_first>
  <action>Add failing tests that require a `collaborator_routing_guidance` surface and verify lane-preference mismatch becomes visible and operator-editable through explicit override surfaces.</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
  </acceptance_criteria>
  <done>A real failing contract exists for collaborator routing guidance.</done>
</task>

<task type="auto">
  <name>Task 2: Implement collaborator routing 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, research/knowledge-hub/runtime/schemas/progressive-disclosure-runtime-bundle.schema.json</read_first>
  <action>Add a routing-guidance JSON/Markdown surface that summarizes current task type, lane, collaborator lane preferences, alignment status, override surfaces, and a recommended steering action. Surface it in the runtime bundle and elevate it into `must_read_now` when there is a material preference mismatch.</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 collaborator routing guidance
    - preference mismatch becomes visible
    - override surfaces are explicit
  </acceptance_criteria>
  <done>AITP exposes collaborator-routing guidance instead of hiding route drift in raw notes.</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/40-task-type-by-lane-guidance/40-01-SUMMARY.md</read_first>
  <action>Re-run the integrated regression slice so collaborator-routing guidance lands on 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 `41` lands without regressing Phase `40`.</done>
</task>

</tasks>
