3.4.0 — a guard asks whether what a stamp attests is TRUE - #212
Merged
Conversation
…true Two merged-but-unreleased PRs ship here. 3.3.0 was tagged before #210 landed, so this release carries both it and #211. #210 — the documentation described a method the engine did not implement, and nothing could see the gap: every guard checked nouns the engine EXPOSES rather than capabilities the prose PROMISES. GETTING-STARTED.md is now executed by the suite, the roster names agents that exist, and `init` seeds selectable personas. #211 — every integrity guard asked whether a record was SHAPED right; none asked whether the thing it recorded had happened. A `gate HARD-STOP` walked to `done`. A red Task closed on another node's receipt through a slug collision. `brief` resolved no lens at all and said nothing about it. And a scaffold `new` wrote could not survive the guards `new` recommended next. Version bumped across all eight declarations — five manifests, the ENGINE stamp, and the three shipped skill trees — plus the dogfood bundle's own engine stamp. ENGINE_MD5 re-aimed 9a800083 -> 7932ec06; cli.py untouched, so ENGINE_PKG_MD5 stands. Also fixed here, self-inflicted last turn: `run` learned to sniff the report path, which left the shipped skill teaching the doubled `--junitxml` in four places, one with a sentence explaining that the repetition was deliberate. `test_receipt_idiom_truth` could not catch it — it decides which examples to check by whether the engine-side flag is present, so removing that flag makes an example invisible rather than wrong. The new guard binds the taught line to `BEAT_NEXT["build"]`, the string a user is actually shown, and was mutation -tested: reintroducing the doubling turns it red. Suite: 1111 passed, 7 skipped across both test roots. author: Tin Dang
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.
Cuts 3.4.0. Two merged-but-unreleased PRs ship here: 3.3.0 was tagged before #210 landed, so this carries both #210 and #211.
What ships
#210 — the front door teaches a walk that runs. The documentation described a method the engine did not implement, and nothing could see the gap: every guard checked nouns the engine EXPOSES rather than capabilities the prose PROMISES.
GETTING-STARTED.mdis now executed by the suite, the roster names agents that exist, andinitseeds selectable personas.#211 — a guard asks whether what a stamp attests is TRUE. Every integrity guard asked whether a record was shaped right; none asked whether the thing it recorded had happened. A
gate HARD-STOPwalked todone. A red Task closed on another node's receipt through a slug collision.briefresolved no lens at all — not one seeded persona had ever reached a worker — and said nothing about the omission. And a scaffoldnewwrote could not survive the guardsnewrecommended next.Version surface
All eight declarations: five manifests (
package.json,package-lock.json×2,pyproject.toml,__init__.py,plugin.json), theENGINE = "add/3.4.0"stamp, and the three shipped skill trees. Plus the dogfood bundle's ownengine:/tooling_engine:in.add/index.md, which rides every bump.ENGINE_MD5re-aimed9a800083 → 7932ec06.cli.pyuntouched, soENGINE_PKG_MD5stands.One fix that is not in either PR
runlearned to sniff the report path last turn, which left the shipped skill teaching the doubled--junitxmlin four places — one of them a sentence explaining that the repetition was deliberate. Both spellings still work, which is why nothing failed.test_receipt_idiom_truthcould not catch it. It scopes itself to report-READING examples, decided by whether the engine-side flag is present, so dropping that flag makes an example invisible to the guard rather than wrong. That is the same guard-class hole this release exists to close, one turn later and self-inflicted.The new guard binds the taught line to
BEAT_NEXT["build"]— the string a user is actually shown at the end of a build — and was mutation-tested: reintroducing the doubling inverify.mdturns it red, restoring turns it green.Two smaller notes from that fix:
--junitxmlanywhere on a line and flagged my own corrected line for naming the override flag in a trailing comment. Narrowed to the argument text before#; a comment is not something a reader copies.test_receipt_artifact.py, which parses--junitxml <token>and read my explanatory words (before,<path>) as documented receipt paths. I reworded the prose rather than touch that guard — it protects a real property.SKILL.mdholds at exactly 176/176 lines, funded by compression, no pin bump.Verification
1111 passed, 7 skippedacross both test roots (add-method/tests/andadd-method/tooling/), the full CI shape.Tag and publish to npm + PyPI follow once this is green and merged.