Repository navigation
S2.6.3 — The stateful fake forge: able to lie, and non-enforcing - #329
Merged
dev-pmallapp merged 2 commits intoSep 8, 2026
Merged
dev-pmallapp merged 2 commits into
dev-pmallapp merged 2 commits into
Conversation
Build target 4 of docs/design/stories/293.md, anchoring CLAIM-293.6 and NEVER-293.7. Five injectable failure modes, and no duplicate check on any of the four identity keys — GitHub answers 422 on a duplicate milestone title and the fake deliberately does not, so that run 2's silence is the skill's decision and never the double's. The fake imports no launcher: it answers argv from memory, which is what keeps CLAIM-293.1's "exactly one production module launches a process" true with a second package in the workspace. Co-Authored-By: iAI <noreply@iai.dev>
Chain green at b297932: 959 tests / 945 pass / 0 fail / 14 skip / 3389 expect(); lint 0 across 107 files; claim-lint 116/0/1. Ten mutations injected, eight killed. The M9/M9b pair is the argument: with case 8's state-growth assertion weakened to an exit code AND the fake made to enforce the 422, all four of case 8's tests pass — the kill comes from case 9 (ii), a different case anchored to a different claim. Case 9 is recorded PARTIAL and CLAIM-293.6 as NOT met. Half (ii) needs a transcribed skill and a runner, and case 9's own Command column names a script that does not exist in this tree. Co-Authored-By: iAI <noreply@iai.dev>
4 tasks
dev-pmallapp
marked this pull request as ready for review
September 8, 2026 07:53
dev-pmallapp
merged commit Sep 8, 2026
e1c2421
into
story/293-s2-6-skill-execution-harness
7 checks passed
8 tasks done
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.
Build target 4 of
docs/design/stories/293.md. AnchorsCLAIM-293.6andNEVER-293.7.Verdict: PASS for case 8 and case 20. Case 9 is PARTIAL and
CLAIM-293.6is NOT met — half (ii) needs a transcribed skill and a runner, and case 9's own Command column namesbun run skill-harness, which does not exist in this tree. It closes at #323.Evidence:
docs/evidence/320-20260908T074833Z.mdChain at
b297932959 tests / 945 pass / 0 fail / 14 skip / 3389
expect()· lint 0 across 107 files · typecheck clean · skill-lint 4 + 12, 0 errors · claim-lint 116 files, 0 errors, 1 warning (the expectedstories/9.mdone).What it ships
gh api --includeappears nowhere in this repository.CLAIM-293.1's "exactly one production module launches a process" true.Mutation testing — 10 injected, 8 killed
The M9/M9b pair is the argument: with case 8's state-growth assertion weakened to
expect(exitCode).toBe(0)and the fake made to enforce the 422, all four of case 8's tests pass. The kill comes from case 9 (ii), a different case anchored to a different claim.NEVER-293.7's own case, written the obvious way, scores the exact defect it exists to detect as a pass.Findings raised, none fixed here
shouldRetryResponseanswersretry: falsefor a transient connection error, which is the one failurereferences/gh-error-handling.md:120-131tells you to retry. Needs an issue.errors.ts:270's two rate-limit reasons differ only in the value they quote.git clean -fddestroyed this task's uncommitted work — and the handoff recommends it as the safe alternative torm.## Re-entrycolumn yields 16 keys, not the 4 the plan names; resolved as four key classes over a partition of all 16.The first-contact bill deferred by #318 and #319 to #320 cannot be paid by a fake, and build targets 1–10 now contain no owner for it.
Refs #320