feat(engineering-standards): three lessons from a real build session, and a correction - #57
Merged
Merged
Conversation
… and a correction exit-code-integrity — a pipeline reports the LAST command's status, so `check | tail` turns a failing check into a passing one. Four incidents in one codebase, the last of them printing BUILD OK over a build whose failure text was three lines above the word OK. verify-the-artifact — source is a claim about behaviour; only the running artifact is evidence. A CSS rule was written, commented in its own defence, reviewed and shipped without ever applying once, because a container rule out-specified it. Reading the file cannot answer 'does this rule apply' — that is decided by every other rule. testing-interactions-over-time — ten defects surfaced in the first real human session of a well-tested editor, and none had been found by any test. All were interactions across time. State tests have one actor and one moment; these bugs need two of each, so adding more of them leaves coverage of the class at zero. worktree-isolation gains the bare-primary exception: the skill's own location rule puts worktrees inside the git directory when the primary clone is bare, which makes every go build fail with an error naming VCS stamping rather than anything about worktrees.
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.
Three new advisory skills and one correction, all from defects hit in a single galley build session. Each carries the incident that produced it, because the rule alone reads as obvious and the incident is what makes it stick.
exit-code-integrityA pipeline reports the last command's status, so
check | tailturns a failing check into a passing one. Four incidents in one codebase — a masked staticcheck finding, a masked govulncheck failure, a recurrence while verifying the coverage tool itself, and finallyjust build 2>&1 | tail -5 && echo BUILD OKprinting OK over a build whose failure text was three lines above the word OK.The reason it earns a skill is not subtlety. It is that a laundered exit code converts into a false statement made to a human who is relying on it.
verify-the-artifactSource is a claim about behaviour; only the running artifact is evidence. A CSS rule was written, commented in its own defence, reviewed, and shipped without ever applying once — a container rule at (0,1,1) out-specified it at (0,1,0). Reading the file cannot answer does this rule apply, because that is decided by every other rule. One
getComputedStylecall found it in seconds.Also covers the gate blind spot: a full verification suite passed green over conflict markers committed inside generated CSS, because it compiles Go and Go does not compile CSS.
testing-interactions-over-timeTen defects surfaced in the first real human session of a thoroughly tested editor. None had been found by any test, and every one was an interaction across time — a poll rebuilding a card while someone typed in it, a card growing after the stack was measured from its height, an agent's writes waking the agent.
State tests have one actor and one moment; these bugs need two of each. So adding more state tests leaves coverage of the class at exactly zero — which is why the suite was large and still blind.
worktree-isolation— correctionThe skill's own location rule (
<repo-root>/.worktrees/<branch>) puts worktrees inside the git directory when the primary clone is bare. Everygo buildin every such worktree then fails witherror obtaining VCS status: exit status 128— an error naming VCS stamping, with the actual cause being a directory layout chosen weeks earlier. Adds the sibling-directory form and thegit rev-parse --is-bare-repositorycheck that predicts it.Plugin bumped 0.1.2 → 0.2.0. Advisory only — no tooling, no setup.
https://claude.ai/code/session_01VbUrPbRvCn9tBjxygjjjeD