feat: leaner contract, test-first bug fixes, generic intake (v0.14.0) - #8
Merged
Merged
Conversation
- AGENTS.md keeps what an agent must decide (453 -> 324 lines): script-enforced mechanics are one line each, docs/automation.md content is a pointer; rule numbers and section names unchanged; "rule 3a" now resolves - heartbeat (rule 9) and memory reading (rule 4) defined once; stage skills, SKILL.md, and roles/researcher.md reference instead of restating - bug fixes: the reproduction is a regression test by default - fails on the pre-fix code for the reported reason, passes after, stays in the suite - stage 6 intake and symptom classes fit UI, API, job, and CLI; probe 2 is no longer MyBatis-specific - optional researcher:/verifier:/adversary: keys in config.md name the project's own helpers per kit role
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v0.14.0 — a leaner contract, test-first bug fixes, generic intake
Real stores showed where the kit's words went. The agent-facing prose had
grown to about 128 KB.
AGENTS.mdrestated what the scripts already enforce,each stage skill repeated the heartbeat and memory paragraphs, and bug fixes
could "prove" themselves with reproduction steps that nothing re-runs. The
kit is used for any software (web, API, batch, CLI), but stage 6 intake still
asked only UI questions. This release cuts the duplication and makes the bug
proof durable. Gates, scripts, the
--jsonschema, and lazymode areunchanged;
init.shgains three optional config lines.Changes
AGENTS.mdkeeps what an agent must decide (453 → 324 lines, −31%).Mechanics a script enforces and prints a reason for (digest binding,
ship-snapshot rules, C-quoted paths, handoff refusals, store ownership) are
now one line each. Text that
docs/automation.mdalready holds (full-autointent contract §3, verify receipt §4) is now a pointer. Rule numbers and
section names are unchanged. The stale "rule 3a" citations in
gates/_auto.shandgates/status.shnow resolve: 3a labels the full-autointent contract.
build's n/m) and memory reading (rule 4) are no longer repeated in six stage
skills; each skill carries a one-line pointer. The harvest/close-writer
rule, the
kb.shdigest description, and tripwire caveats are referenced,not restated.
SKILL.mddrops its Coexistence and Invariants summaries,which repeated
AGENTS.md.roles/researcher.mdpoints atprobes.mdinstead of copying three probes.
reproduction is an automated test at the lowest level that reaches the
defect. It fails on the pre-fix code for the reported reason, passes after,
and stays in the suite. Manual steps or logs stand in only when no test can
reach the defect, and the evidence says why. Stage 6 drafts the test outside
the source tree, build adds it before the fix, and the verifier runs it
against the pre-fix commit and must see it fail.
templates/evidence.mdgains a
Regression test:line, and the plan's Proof and the compactroute's Proof line name it.
or a CLI: what was done with what input, what happened versus what was
expected, where and when, as whom, and what trace exists (request or trace
id, log line, affected record keys). A symptom class (nothing happened /
wrong result / looks wrong / intermittent) replaces the UI-only
"does not react vs looks disabled" split. Probe 2 is no longer a MyBatis
awkovermapper.xml: it diffs the filters of every query on one entity(SQL, ORM, API params, cache keys).
researcher:,verifier:,adversary:keys in.sdlc/config.md: the named agent orskill is dispatched with the kit's role file as its contract ("Running
beside…" rule 3). Empty or absent means the old behavior. Existing configs
are not rewritten.
Agent-facing prose (SKILL.md, AGENTS.md, stage skills, roles): 104,136 →
~89,700 bytes.
Validation
bash gates/knowledge-test.sh→KNOWLEDGE-TEST PASS, 144bash gates/selftest.sh→SELFTEST PASSbash gates/e2e.sh→E2E PASS, 152 ·bash gates/autotest.sh→AUTOTEST PASS, 195disposable repo, plus a backend-bug compact walk and a UI full-route walk),
Side effects (removed instructions and cross-references), and Intent match
(against the approved recommendation). Their minor findings in the changed
text were fixed before release.