Sign-off on ADR-016's 4 preconditions & commitment to Phase 1 Consolidation Sprint
ADR-018 — Sign-off on ADR-016’s 4 preconditions & commitment to Phase 1 Consolidation Sprint
Status: Accepted
Date: 2026-04-23
Deciders: Mishaal Murawala
Relates to: ADR-016 (context plane + two-plane architecture), docs/session-handovers/2026-04-17_to_22.md §5 Phase 1, docs/platform-product-spec-v0.1.md
Context
ADR-016 proposed the two-plane V5 architecture (Execution Plane + Context Plane). It was explicit that Phase 1 is not context-plane work — Phase 1 is a 2-week consolidation sprint that pays down operational debt before a whole new plane is added. ADR-016 §Open Questions listed 4 preconditions that had to be accepted before Phase 1 could start:
- 2-week consolidation sprint is non-negotiable (no feature work during it).
- Smart Scheduler Phases 2-5 are formally deferred.
- The
claude_*tool family (claude_invoke,claude_batch,claude_files,claude_agents) consolidates into one tool with anactionenum. - No new gateway tools ship during the sprint.
The 2026-04-22 handover placed all four on Mishaal’s plate as Phase 0 task 0.7.
Decision
All 4 preconditions are accepted. Phase 1 starts 2026-04-23. Scope is frozen at 8 tasks per the handover §5 Phase 1, with exit criteria:
- ≤25 MCP tools registered in
src/handlers/mcp.ts - Zero “Proposed” ADRs older than 2 weeks at sprint end
- All 5 platform-spec gaps closed (see
docs/platform-product-spec-v5-mapping.md§Gaps) - Bundle size < 2 MB
- Tech-debt register committed at
docs/tech-debt-register.md
Rationale per precondition
1. 2-week sprint non-negotiable
The handover’s engineering-manager analysis was explicit: “we must earn the right to add a whole new plane. This is debt paydown.” Accepting this means no ADR-016 Phase 2+ code lands during the sprint, even if ready. Exceptions: P0 security or uptime fixes only.
2. Smart Scheduler Phases 2-5 deferred
Scheduler Phase 1 (Cal.com self-hosted + SES outbound) is live. Phases 2-5 (findMeetingTimes strategy router, multi-calendar workflows, recurring scheduling intelligence, partner-facing booking) are deferred indefinitely. Formalized in ADR-019 (this PR).
Deferral does not mean “won’t do.” It means “re-evaluate when a client needs it.” If Kahuna or Point Field asks for findMeetingTimes integration, we re-open ADR-019 with specific scope + budget.
3. claude_* consolidation
Current state: 4 separate tools (claude_invoke, claude_batch, claude_files, claude_agents) each wrapping a different Anthropic API. Total input-schema context overhead per MCP session: ~20-40K tokens.
Research pass 2026-04-23 confirmed this is the wrong pattern:
- Anthropic “Writing Tools for AI Agents” (Sept 2025) explicitly recommends consolidation: “implement
schedule_eventrather than separatelist_users,list_events, andcreate_eventtools.” - MCP spec 2025-11-25 fully supports conditional schemas via
oneOf+ discriminator. - Production pattern is validated at scale — Asana’s MCP server ships 126 actions as one tool.
- Context token savings: 15–20% per session.
Decision: consolidate into one tool claude with action: "invoke" | "batch" | "files" | "agents". Use oneOf discriminator in the Zod schema. Task 1.3 in the Phase 1 plan.
4. No new gateway tools during the sprint
“New” means any tool that adds to the registered-tool count in src/handlers/mcp.ts. Parameter additions to existing tools, bug fixes, performance work, and documentation are fine. A new provider in src/config/providers.ts is fine (doesn’t add an MCP tool). A new wrapper tool that shows up in discover_apis output is NOT fine — that’s a new tool.
Enforcement: pre-commit check 04 already caps the tool count. Pin it explicitly at the current count minus expected consolidation delta (28 → ~25 after Phase 1 task 1.2 + 1.3).
Consequences
Positive
- Phase 1 has a clean, measurable exit criterion.
- The
claude_*consolidation carries an ~18% agent-context-token savings. - Platform-spec gaps are enumerated and scoped, not just named.
- Scheduler deferral stops stealing cycles from core V5 work.
Negative
- 2 weeks of no feature-driven user-visible progress. Only platform investment. Client communications (Kahuna, PFP) should frame this as “infrastructure hardening before context-plane work.”
- Consolidating
claude_*is a breaking change for any caller that memorized the old tool names. Documented migration in ADR-020 (below).
Neutral
- Phase 2 context-plane scaffold now formally starts at Phase 1 exit. Calendar target: 2026-05-08 (+2 wks from today).
Related ADRs written in this PR
- ADR-019 — Smart Scheduler Phases 2-5 formally deferred (implements precondition 2, task 1.7 from handover).
- ADR-020 — Cloudflare Analytics Engine for per-tool telemetry (implements task 1.1 infrastructure decision).
References
- ADR-016:
docs/decisions/ADR-016-context-plane-and-always-on-gtm-brain.md - Handover:
docs/session-handovers/2026-04-17_to_22.md§5 Phase 1 - Phase 1 plan:
docs/plans/V5-PHASE-1-CONSOLIDATION-SPRINT.md(this PR) - Platform spec:
docs/platform-product-spec-v0.1.md+docs/platform-product-spec-v5-mapping.md