---
phase: 02-steering-and-checkpoint-durability
plan: 01
type: execute
wave: 1
depends_on: ["01-03"]
files_modified: [research/knowledge-hub/knowledge_hub/aitp_service.py, research/knowledge-hub/tests/test_aitp_service.py]
autonomous: true
requirements: [STEER-01, STEER-02]
user_setup: []
must_haves:
  truths:
    - Steering-style checkpoint answers materialize durable steering artifacts.
    - Runtime refresh follows durable steering instead of leaving it as archived chat.
  artifacts:
    - path: research/knowledge-hub/knowledge_hub/aitp_service.py
      provides: checkpoint-answer steering materialization
    - path: research/knowledge-hub/tests/test_aitp_service.py
      provides: steering checkpoint regression coverage
  key_links:
    - from: research/knowledge-hub/knowledge_hub/aitp_service.py
      to: research/knowledge-hub/tests/test_aitp_service.py
      via: end-to-end steering checkpoint tests
      pattern: answer_operator_checkpoint
---

<objective>
Make answered steering checkpoints durable enough to change the route rather
than only closing the checkpoint ledger entry.

Purpose: Phase 2 needed checkpoint answers to affect real runtime steering.
Output: answer-to-steering materialization and regression coverage.
</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/PROJECT.md
@.planning/ROADMAP.md
@.planning/STATE.md
@.planning/phases/02-steering-and-checkpoint-durability/02-CONTEXT.md
@research/knowledge-hub/knowledge_hub/aitp_service.py
@research/knowledge-hub/tests/test_aitp_service.py
</context>

<tasks>
<task type="auto">
  <name>Task 1: Materialize steering from checkpoint answers when appropriate</name>
  <files>research/knowledge-hub/knowledge_hub/aitp_service.py</files>
  <read_first>research/knowledge-hub/knowledge_hub/aitp_service.py</read_first>
  <action>Extend `answer_operator_checkpoint()` so novelty-direction and stop/continue/branch/redirect answers can materialize durable steering artifacts and refresh runtime surfaces through the existing steering path.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_aitp_service.py -q</verify>
  <acceptance_criteria>
    - aitp_service.py contains `steering_artifacts`
    - redirect-style checkpoint answers can materialize `innovation_direction.md`
  </acceptance_criteria>
  <done>Checkpoint answers that change route semantics become durable steering state.</done>
</task>
</tasks>

<verification>
- [ ] `python -m pytest research/knowledge-hub/tests/test_aitp_service.py -q`
</verification>

<success_criteria>
- All tasks completed
- All verification checks pass
- Steering checkpoints change runtime route state durably
</success_criteria>

<output>
After completion, create `.planning/phases/02-steering-and-checkpoint-durability/02-01-SUMMARY.md`
</output>
