Skip to content

✨ Orchestrated implementation, full-suite gate, archive fix#3

Merged
velles merged 12 commits into
mainfrom
optimizations/core-agents-revisited
Jul 7, 2026
Merged

✨ Orchestrated implementation, full-suite gate, archive fix#3
velles merged 12 commits into
mainfrom
optimizations/core-agents-revisited

Conversation

@velles

@velles velles commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

✨ What's New

  • 🐛 Archiving a spec now actually blocks the agent from reading it — the deny rule was being written where Claude Code never looks, and existing projects get migrated automatically
  • 🤖 Autonomous implementation now runs each task group in a fresh subagent while the main session verifies, reviews, and commits — large features no longer degrade as the conversation grows
  • ⚡ Independent task groups can execute in parallel instead of always waiting in line
  • 🍰 Specs can now be broken into vertical slices (preferred) instead of database→API→frontend layers, so every group is demoable on its own
  • 🧪 Implementation ends with a one-time full-test-suite backstop plus a live check of the feature's main flow — regressions elsewhere in the app no longer slip through
  • 🔍 Codebase research during spec-writing and scoping is delegated to bounded read-only subagents instead of flooding the main session
  • 🎯 The feature-size estimate from spec-writing now drives an execution-mode recommendation instead of being thrown away
  • 💬 Mode, stack, and archive choices are presented as proper selection dialogs
  • 🧹 Planning instructions live only in the step that plans; stale contributing docs and a missing CI test suite are fixed

🧪 Test Plan

  • All five test suites pass (bash tests/test_*.sh) — CI runs them on push
  • Archive a spec in a sample project and confirm the agent can no longer read files under the archived folder
  • Re-run archiving on a project with the old settings format and confirm the rule migrates cleanly
  • Run the implement step in Autonomous mode on a multi-group spec and confirm per-group commits with a verified test run each
  • Scope a feature and confirm the task list records a grouping strategy and a full-suite backstop task

🤖 Generated with Claude Code

velles and others added 12 commits July 7, 2026 15:38
Claude Code only reads deny rules from permissions.deny in
.claude/settings.json; the top-level deny key the script wrote was
silently ignored, so archived specs were never actually blocked.
The script now writes the rule under permissions.deny, preserves all
other settings keys, and migrates the rule out of a legacy top-level
deny array left behind by earlier versions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Plans were already written "to be read cold by an executor agent," but
execution happened in the main conversation — on multi-group features
the context degrades by group 3-4 exactly where integration work lands.
A mode (and H before the checkpoint) now dispatches a fresh executor
subagent per group while the main conversation orchestrates: it runs
the group's verification command itself, reviews the diff, and commits.
Independent groups (no dependency, disjoint file operations) may be
dispatched in parallel. Executor prompts reconcile stale plans against
post-earlier-group reality before coding. L mode keeps the in-context
flow so the user can watch and steer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The per-group ban on running the entire test suite had no closing
backstop — a feature could break existing tests anywhere else in the
app and the workflow would never notice. The final Test Review & Gap
Analysis group now ends with a single full-suite run (fix new failures,
report pre-existing ones), and step3's completion checklist repeats the
gate plus a runtime check: exercise the feature's primary user flow in
the running app, since tests passing is not the same as the feature
working. Per-group runs stay feature-scoped for fast feedback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Layer-based grouping (DB → API → Frontend) forces every group to
depend on the previous one, so groups can never execute in parallel
and nothing is user-demoable until the top layer lands. Grouping is
now an explicit strategy choice recorded in tasks.md: vertical slices
(preferred — each group a thin end-to-end increment, demoable at
review gates and parallelizable in step3) or layers (when the data
model is the hard part or slices would contend for the same files).
Pure enabling groups may declare "Enables Group N's story" instead of
fabricating a persona. Also fixes the "has created at" typo.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
step2's "analyze the existing codebase" was an unbounded instruction
that invited scanning a large repo inside the main conversation,
crowding out the spec and concept files it had just loaded — the exact
failure mode create-or-update-concepts already guards against. step2
now dispatches 1-3 bounded Explore subagents in parallel and consumes
their reports; step1 does the same when the reusability scan needs to
look beyond files the agents-context README indexes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
step1 carried a "use plan mode per task group when implementing"
section although it never implements anything — noise for the model
running a requirements session. step2 mandated running in plan mode
but then instructs writing tasks.md, which plan mode blocks; it now
documents plan mode as optional with the correct sequencing (outline
as plan, write after approval). The tasks.md Planning block stamped
into every target project now accurately describes step3's actual
mechanisms (pre-generated plans/group-N.md for A/H, native plan mode
for L) instead of the removed boilerplate. Tests assert the placement
instead of requiring the boilerplate in all three tactical skills.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
step1 assessed feature size (Small/Medium/Large) and then threw the
signal away — step3 asked the execution-mode question from scratch.
The estimate now lands in spec.md's header (> Size: line with a
rationale), and step3 reads it to lead with a mode recommendation
(Small→A, Medium→H, Large→L) while leaving the decision to the user.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Mode selection (A/L/H + checkpoint), configure-project's
skip-vs-overwrite and stack multi-select, and step4's spec selection
are all closed-option questions that Claude Code renders as proper
choice dialogs via the AskUserQuestion tool. Skills now instruct its
use with a plain-text fallback for harnesses that lack it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The skill runs in target projects that won't have the author's local
agents: Explore (built-in) is now the documented primary with
general-purpose as fallback, and project-defined analyzers are an
opt-in bonus rather than an expectation. Also updates the renamed
Task tool reference to Agent tool.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Updates implementation.md for orchestrated executor-subagent
execution, parallel independent groups, size-based mode
recommendation, and the closing full-suite + runtime gates;
workflow.md and index.md for grouping strategies and permissions.deny;
contributing.md's test table no longer documents a nonexistent
run_all.sh and five legacy suites — it now lists the actual five
scripts and what they cover.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The setup-script suite existed but was never wired into the Tests
workflow, so configure-project's scaffolding went unchecked in CI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bash 5.2 turns on patsub_replacement by default, making an unquoted &
in a pattern-substitution replacement expand to the matched pattern —
so a project named "Tom & Jerry" rendered as "Tom {Project Name}
Jerry" on Ubuntu CI while passing on macOS's bash 3.2. Quoting the
replacement is not a portable fix (bash 3.2 keeps the inner quotes
literally); disabling the option restores pre-5.2 semantics on both.
Verified against bash 3.2 and a bash 5.2 container.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@velles velles merged commit 50d1fcb into main Jul 7, 2026
1 check passed
@velles velles deleted the optimizations/core-agents-revisited branch July 7, 2026 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant