CT6 · ARCHITECT-TEAM · v3.65.0PIPELINE: READY
Claude Code plugin · architect-team · v3.65.0

A REQUIREMENTS FOLDER
GOES IN.
A CLEAN COMMIT COMES OUT.

CT6 is a multi-agent coding pipeline for Claude Code. It maps your codebase, validates a 100%-coverage plan, dispatches long-lived named teammates with their own 1M-context windows, gates every completion behind a hook that reads real evidence, runs Playwright against a real backend, auto-spawns a fix team for every surfaced issue, and auto-commits + pushes on a clean pass — the dev loop closes itself end-to-end.

LIVE · ORCHESTRATOR
plugin // architect-team
v3.65.0
█
55 SKILLS · 39 AGENTS · 26 CMDS · 8,205 TESTS
Skills
55
Agents
39
Slash commands
26
Tests passing
8,205
◆ What's in the box

Not a copilot. A pipeline that won't sign off on its own work.

CT6 ships as the architect-team plugin for Claude Code. It accepts an OpenSpec proposal, a Superpowers brief, or plain markdown — and drives the work through ten phases with explicit exit contracts.

▸ MAPPING

Reads the codebase first

Cartographer + integration-explorers build CODEBASE_MAP, ROUTE_MAP, and INTEGRATION_MAP before any code is touched, so reuse decisions cite files that actually exist.

▸ TEAMMATES

Long-lived agents, 1M context each

Claude Code's experimental Agent Teams primitive — named teammates with their own context windows and a shared task list, coordinated by a lead. Falls back to ephemeral subagents when the flag isn't set.

▸ REVIEW GATES

Hooks block completion until evidence is real

A 12-field evidence schema plus an independent reviewer (not the same agent that wrote the code). PostToolUse(TaskUpdate) exit-2's until everything validates. 3 consecutive rejections escalate.

▸ FIX TEAMS

Every surfaced issue spawns its own team

Failed tests, visual drift, placeholder pages, unwired controls — each becomes a Solution Requirement that auto-spawns a fix team. The originating check has to go green to close it out.

◆ The pipeline at a glance

Ten phases. each with an exit contract.

Hover a phase to see which agents own it and what artifact it emits.
PHASE 1
PLAN
Plan & Validate

100%-coverage hard gate. 12-condition exit checklist.

  • 01openspec validate --all --strict must be valid — independently re-run by the Stop hook (v3.9.2) so a skipped or mis-reported verdict cannot pass.
  • 02Every requirement has ≥ 1 measurable scenario; every both-layer requirement has an explicit front-to-back integration criterion.
  • 03Reuse decisions cite real files/symbols in CODEBASE_MAP; no duplicate capabilities.
  • 04Phase 2 cannot start until all 12 conditions hold.
◆ New in v3.65

A lifecycle for the intuition map. A durable registry for the suite.

Three verified gaps drove the release: INTERACTION_INTUITION_MAP.md existed only when Phase −1D happened to produce it — and playwright-user-flows never read it; nothing grew the map from user-specified flows or debugging discoveries; and the Playwright suite had no durable registry — no inventory, no whole-suite run, no dev/prod safety split.

intuition-map-lifecycle: three verbs for every lane. ensure — absent means produce it, and presence alone doesn't satisfy: a freshly scaffolded zero-element map reports populate, never none. grow — a user-specified flow upserts as confirmed, because the user specifying the flow IS the confirmation; a contradiction leaves the confirmed entry byte-identical and asks a targeted question quoting both readings. bug-path-upsert — debugging discoveries land with regression_refs[] naming the tests that pin them.

playwright-suite-builder: the 7th pipeline-driving skill, plus /architect-team:playwright-suite driving P0–P9 — inventory reconciled against a committed suite-manifest.json, existing tests reviewed through the standing gates (never duplicated), suite-wide gap analysis and gap-fill, persona grouping into Playwright dev / prod projects, and default-deny production safety: a mutating test enters the prod project only through a fully-authorized exception — nine adversary bypass manifests refused through the real CLI.

Phase 5 and dev-api-integration-testing now enumerate the manifest and run the ENTIRE dev suite; mini-review-sweep gains the full-suite gate while mini stays narrow. Eight thin pin-tested lane hooks — and an absent manifest changes nothing, the named migration boundary.

Measured, not asserted: 8,205 passing + 6 skipped, 0 failed across 259 top-level test files — disk-anchored via git ls-files 'tests/test_*.py', measured on win32 and recorded under docs/measurements/ as the release's closing act.

# intuition map · ensure
✗ absent · verdict none → produce it
✗ scaffolded, 0 elements · verdict populate
✓ populated · verdict ok
↳ CRLF-preserving, byte-fidelity rewrites
# suite-manifest · prod project
read-only · admitted
mutating · refused by default
↳ only a fully-authorized exception admits it
↳ 9 adversary bypass manifests refused via the real CLI
# ethos · principle 7, negative direction
relay claims as claims, verdicts as facts — naming the verdict.
↳ compiled into all 39 agents + 7 pipeline-driving skills
◆ Also shipped in the v3.x line

A lock at the turn boundary. a live endpoint before the backend is built.

▸ v3.46.0 · Delivery manifest

Every run ends with a bill of sale

  • ›The delivery-manifest skill (v3.46.0) fires at every close-out (Phase 8 / B8 / M7 / U9) and on demand.
  • ›Three mandatory pillars: plain-speak problem statement (the engine flags jargon), stakeholder-executable validation steps each with an expected result, and a what/where table for every new element.
  • ›Give it your own template and the manifest matches its vocabulary, sections, and tone. The final run_complete email IS the bill of sale.
▸ v3.56.0 / v3.64.0 · Turn-boundary completion lock

A session cannot end while registered work is open

  • ›The condition is read from disk by hooks/open_work.py — never asserted by the agent. Unknown or missing status counts as OPEN; the asymmetry fails safe.
  • ›The ask-ledger and the harness task store are immutable to agent writes, so the lock's ground truth cannot be edited away. Four named kill-switches, teammate owner-scoping.
  • ›v3.64.0 abandonment discrimination: work untouched past CT6_TASK_STALE_HOURS (floored at 1h) is inherited debt — listed with its store dir named, never blocking. open_work.py retire closes a dead list with an audit trail and refuses live tasks without --force.
▸ v3.44.0 · Never "done" off a unit test

dev → test-on-dev → prod, agent-immutable

  • ›Either-signal frontend-impact detection: the diff touches frontend files OR a changed endpoint is consumed by a frontend route. Then frontend_impact_e2e_review is MANDATORY.
  • ›Opt in with .architect-team-deploy.json — dev branch, real deploy command, auto-merge-to-prod on a clean run. The reader is fail-safe; a broken config never deploys.
  • ›Once the file exists it is IMMUTABLE to agents — every agent Edit/Write is blocked unconditionally. Only a human changes a human's policy. The ETHOS names invented caution as the anti-pattern.
▸ v3.48.0 · Contract-first parallelism

The frontend builds against a live endpoint, immediately

  • ›The architect settles the inbound surface contract first; the backend provisions the endpoint at its REAL path serving a contract-conforming payload before the internals exist.
  • ›Real HTTP, real error paths, real shapes — then the backend replaces the internals underneath. Neither side waits; neither side moves the approved contract unilaterally.
  • ›v3.49.0 – v3.52.0 extend the same discipline outward: a staleness-aware knowledge server, a full data-engineering lane (D−1…D8), corroboration-gated warehouse SQL mining, and durable data annotations as team memory.
◆ Carried foundations

Unbounded solving, producer/checker enforcement, auto-merge on green.

The dev loop runs unbounded (v3.8.0). Every run / iteration ceiling is gone — the global 20-iteration cap, oscillation→abort, exhaustion→escalate-and-stop, the bounded sub-loop caps (diagnostic-research, editability, expensive-verification, mapping ralph). The 3-pass RCA rigor floor and the owner-input-only escalation marker are kept.

Producer/checker enforcement (v3.9.2). The Stop hook independently re-runs openspec validate --all --strict once a master-review verdict exists — a stale, orphaned, or malformed openspec change hard-blocks the Phase 8 commit instead of shipping silently.

Auto-merge on green (v3.7.0). The clean architect-team/<slug> branch is merged --no-ff into main, pushed, deleted (local + remote); the worktree is pruned. Conflicts or protected-branch rejects fall back to feature-branch + PR — --force is never added.

Honest boundary: live polyglot call-graph extraction against arbitrary target repos (CDLG P5) is the agent's runtime job and is not yet claimed proven end-to-end. The deterministic schema, IDs, witness reconciliation, freshness, and cost pieces are unit-tested.

# the unbounded-solving directive
"remove all limits … agents must figure out the problems and cannot stop until success"
# what changed in v3.8.0
removed · global dev-loop cap (was 20)
removed · oscillation→abort
removed · exhaustion→escalate-and-stop
removed · bounded sub-loop caps (×4)
kept · 3-pass RCA rigor floor
kept · shared-state concurrency model
kept · owner-input-only escalation
# CDLG identifiers (v3.8.0)
func://<module>:<fingerprint>
asset://<path>:<fingerprint>
↳ rename-stable join key for MemPalace + diffing
◆ Recent releases

The road to v3.65.0

▸ v3.65.0

Intuition-map lifecycle + Playwright suite

The interaction intuition map gets ensure / grow / bug-path-upsert and is finally read by the flow tests. playwright-suite-builder lands as the 7th pipeline-driving skill with /architect-team:playwright-suite (P0–P9), a committed suite-manifest.json, whole-suite runs at Phase 5, and default-deny production safety. Skills 53 → 55, commands 25 → 26. Suite 8,205 passing + 6 skipped, 0 failed.

▸ v3.64.0

Abandonment discrimination

The completion lock learns the difference between live work and inherited debt: a task untouched past CT6_TASK_STALE_HOURS is listed with its store dir named and never blocks, while open_work.py retire closes a dead list with an audit trail and refuses live tasks without --force.

▸ v3.55.0 – v3.62.0

Frontend E2E as a hard exit, evidence bound to its task

Click-driven full Playwright E2E becomes a run-level loop-exit gate (run-scoped in v3.57.0). verify-claim-instrument-binding lands as the 23rd Layer-3 tool, and v3.62.0 binds review evidence to task_subject so a reused integer id can no longer ride another lane's clean review.

Open source · MIT

Hand it a brief.
Walk away.

CT6 is built for senior engineers who'd rather review a finished branch than babysit a chat. Maps, plans, dispatches, gates, tests, fixes, commits, pushes.

CT6 · ARCHITECT-TEAM · v3.65.0PIPELINE: READY