Skip to content

Field-hardening + project-capability routing + a prose readability pass - #2

Open
rmasl wants to merge 10 commits into
aquivalabs:mainfrom
rmasl:speccy-field-hardening
Open

Field-hardening + project-capability routing + a prose readability pass#2
rmasl wants to merge 10 commits into
aquivalabs:mainfrom
rmasl:speccy-field-hardening

Conversation

@rmasl

@rmasl rmasl commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Grown from real runs, in three layers — atomic commits, each with its DECISION_LOG entry.

1. Field-hardening (original scope)

  • Worktree init resolves a default in-skill instead of blocking: worktree.baseRef self-heals to head; a missing ## Worktree init section is synthesized from .gitignore + the verify commands; sequential-only is the last resort.
  • One-page digest ships alongside the full spec (specs/<slug>-digest.md): goal, load-bearing decisions with one-line whys, build order, open risks — each item referencing the full spec's section. Digest first at the review gate.
  • Cold-start flow trace is mandatory in both critique prompts + a spec-critique exit gate: walk each primary flow from an empty state and check every step's prerequisites exist at that point. Catches bootstrap/ordering contradictions section-consistency review structurally misses.
  • Phase 3 hardening: breakdown parallelizes independent authoring (with the shared-verify-environment caveat), gates re-run through the project's documented harness (an MCP tool named in CLAUDE.md beats a raw-CLI wrapper), and a hard test-rerun scope — touched/failing tests while fixing, the full suite exactly once at the end.

2. Lead with the project's own capabilities (new)

Discover once, as a precondition, what the project ships — skills, read-only research/"hunter" subagents, governing docs, any explicit skill→area map — into a manifest persisted at .speccy/<run-id>/capabilities.md; inject a phase-scoped "prefer these over generic approaches" block at every spawn site. Spec/plan research delegates discovery to project hunters before generic sweeps; breakdown attaches trigger-matched skills to each task and pre-resolves placement/existence questions (a build agent can invoke a Skill but cannot dispatch an Agent); the local-doc lens judges against the house skill set. Everything optional: no required config artifact, clean degradation to the generic pipeline, and routing needs no map — skills self-describe their triggers.

3. Prose readability pass (new)

Language-only rewrite of both skills' prose: point first in every section, one idea per sentence, long sentences split, parenthetical asides unfolded, condition sets as bullets. An independent fresh-context audit compared old vs new file by file — every rule, threshold, ordering, path, model assignment, gate, and exception survives; nothing lost, weakened, or invented. Code blocks (incl. the watchdog bash sketch, byte for byte), schemas, and frontmatter untouched.

rmasl added 10 commits July 23, 2026 14:05
…ocumented harness, round-trip economy, test-rerun scope
# Conflicts:
#	.claude/skills/speccy/DECISION_LOG.md
#	.claude/skills/speccy/SKILL.md
Discover a project's skills, research/hunter subagents, governing docs,
and any routing hints once, as a precondition; persist the manifest to
.speccy/<run-id>/capabilities.md at run creation; inject a phase-scoped
"prefer these over generic approaches" block at every spawn site. All
signals optional — absence degrades cleanly to the generic pipeline;
routing needs no map because skills self-describe their triggers.
Breakdown gives each task the trigger-matched project skills as a
"consult these before writing" list and pre-resolves placement/existence
questions via the project's hunter agents — the executing agent can
invoke a Skill but cannot dispatch an Agent. Execute activates the
listed skills before writing and treats baked-in research findings as
authoritative. Additive: with no capabilities present, both prompts
behave as before.
Point first in every section, one idea per sentence, long sentences
split, parenthetical asides unfolded, condition sets as bullets.
Language-only: an independent fresh-context audit compared old vs new
file by file — every rule, threshold, ordering, path, model assignment,
gate, and exception survives; nothing lost, weakened, or invented. Code
blocks, schemas, and frontmatter untouched.
Same language-only treatment as the speccy skill: point first, one idea
per sentence, asides unfolded, conditions as bullets. Audit-confirmed
rule-for-rule equivalent; the watchdog numerics and bash sketch survive
byte for byte.
@rmasl rmasl changed the title Field-hardening from real runs: worktree auto-default, spec digest, mandatory cold-start trace, harder Phase 3 Field-hardening + project-capability routing + a prose readability pass Aug 4, 2026
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