Context
During the SDK optimization audit (2026-02-19, PR #187), several design items were identified as potentially valuable but not ready for implementation. These were explicitly evaluated and deferred for specific reasons.
Deferred Items
#9 — Agent type restrictions in tools frontmatter
What: Use SDK v2.1.33 agent_type syntax in agent tools frontmatter to restrict which subagent types a teammate can spawn (e.g., backend-coder can spawn backend-coder for rePACT but not frontend-coder).
Why deferred: SDK feature is new. Evaluate after PACT has more real-world usage data on which spawn patterns are problematic.
Revisit when: A teammate spawns an inappropriate agent type in production use.
#13 — Use plan_approval_response for plan-mode
What: Use the SDK's plan_approval_response SendMessage type to formalize plan-mode approval flow between orchestrator and specialist agents.
Why deferred: Previously rejected — PACT is orchestrator-directed, not autonomous. The SDK's plan approval flow is designed for autonomous agents that propose their own plans.
Revisit when: PACT moves toward more agent autonomy (e.g., agents proposing their own plans).
#14 — Use enableFileCheckpointing for rollback
What: Use SDK file checkpointing to provide fine-grained rollback on failed agent edits, complementing worktree-level isolation.
Why deferred: PACT already has worktree isolation for branch-level rollback. File checkpointing adds finer granularity but may be redundant.
Revisit when: Worktree-based rollback proves insufficient for specific failure modes (e.g., agent corrupts a file mid-edit).
#15 — Redesign session continuity around SDK memory
What: Replace session_end.py snapshot approach with SDK-native memory and task persistence as the primary cross-session state mechanism.
Why deferred: High risk. SDK memory system needs to stabilize. Current snapshot approach works and is well-tested.
Revisit when: SDK memory has been stable for 3+ months and cross-session task persistence is production-ready.
#16 — Use mode='plan' for architect agent
What: Set architect agent to read-only plan mode so it cannot accidentally edit files during design phases.
Why deferred: Previously rejected — PACT architects are orchestrator-directed and receive clear instructions not to edit. Plan mode adds friction without clear benefit.
Revisit when: Same trigger as #13 (more agent autonomy).
Reference
Context
During the SDK optimization audit (2026-02-19, PR #187), several design items were identified as potentially valuable but not ready for implementation. These were explicitly evaluated and deferred for specific reasons.
Deferred Items
#9 — Agent type restrictions in
toolsfrontmatterWhat: Use SDK v2.1.33
agent_typesyntax in agenttoolsfrontmatter to restrict which subagent types a teammate can spawn (e.g., backend-coder can spawn backend-coder for rePACT but not frontend-coder).Why deferred: SDK feature is new. Evaluate after PACT has more real-world usage data on which spawn patterns are problematic.
Revisit when: A teammate spawns an inappropriate agent type in production use.
#13 — Use
plan_approval_responsefor plan-modeWhat: Use the SDK's
plan_approval_responseSendMessage type to formalize plan-mode approval flow between orchestrator and specialist agents.Why deferred: Previously rejected — PACT is orchestrator-directed, not autonomous. The SDK's plan approval flow is designed for autonomous agents that propose their own plans.
Revisit when: PACT moves toward more agent autonomy (e.g., agents proposing their own plans).
#14 — Use
enableFileCheckpointingfor rollbackWhat: Use SDK file checkpointing to provide fine-grained rollback on failed agent edits, complementing worktree-level isolation.
Why deferred: PACT already has worktree isolation for branch-level rollback. File checkpointing adds finer granularity but may be redundant.
Revisit when: Worktree-based rollback proves insufficient for specific failure modes (e.g., agent corrupts a file mid-edit).
#15 — Redesign session continuity around SDK memory
What: Replace
session_end.pysnapshot approach with SDK-native memory and task persistence as the primary cross-session state mechanism.Why deferred: High risk. SDK memory system needs to stabilize. Current snapshot approach works and is well-tested.
Revisit when: SDK memory has been stable for 3+ months and cross-session task persistence is production-ready.
#16 — Use
mode='plan'for architect agentWhat: Set architect agent to read-only plan mode so it cannot accidentally edit files during design phases.
Why deferred: Previously rejected — PACT architects are orchestrator-directed and receive clear instructions not to edit. Plan mode adds friction without clear benefit.
Revisit when: Same trigger as #13 (more agent autonomy).
Reference
docs/plans/2026-02-19-sdk-optimization-design.md