Skip to content

feat(stability): add race-condition-repro skill - #97

Open
MajorLift wants to merge 3 commits into
mainfrom
jongsun/add/race-condition-proof
Open

feat(stability): add race-condition-repro skill#97
MajorLift wants to merge 3 commits into
mainfrom
jongsun/add/race-condition-proof

Conversation

@MajorLift

@MajorLift MajorLift commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds race-condition-repro, the engine behind evidence's B7 deterministic-interleaving evidence category and the sibling red-on-base names for ordering bugs.
  • Covers claims where correctness is the interleaving rather than a value: cancellation, supersession, retry ordering, debounce/throttle, locks, queues, async state machines.
  • The falsifier is a test that never interleaved — operations that run to completion in sequence exercise no race and produce a vacuous green indistinguishable from a real pass. The proof obligation is therefore to show the interleaving occurred, not that the assertion passed.
  • Lands in domains/stability/ beside memory-leak, the other defect-class engine evidence delegates to.

Test plan

  • node .github/scripts/lint-skill-entry.mjs domains/stability/skills/race-condition-repro/skill.md — 0 errors
  • Frontmatter: name matches directory, maturity: experimental, description within the 1536-char budget
  • domains/stability/ is also created by feat(stability): add memory-leak skill #81; domains are discovered via readdirSync, not a registry, so both can add it independently

Validation runs

Trial runs of this PR's skills against merged metamask-extension PRs nobody flagged. Every claim was re-verified against the real diff before posting. Clean results are included on purpose — a skill that only ever reports problems cannot be calibrated.

PR Skill Verdict Finding
#41917 race-condition-repro Mixed one guarantee forced, the sibling untested
#44194 race-condition-repro Gap abort path: 0 refs across 181 test lines

Each comment carries a trial-run disclaimer and links back here for feedback.

…rency

The falsifier for a concurrency claim is a test that never interleaved: a
sequential run exercises no race and produces a green indistinguishable from a
real pass. The skill therefore treats showing the interleaving occurred as the
proof obligation, not the assertion passing.

Lands in `stability/` beside `memory-leak-hunt`, the other defect-class engine
`pr-validate` delegates to.
@MajorLift MajorLift changed the title feat(stability): add race-condition-proof skill feat(stability): add race-condition-proof skill Jul 31, 2026
…xing it

The description read "the engine behind evidence's B7 deterministic-interleaving
evidence category". "B7" is an address into evidence-catalog.md, not a name: it
carries no meaning to a reader who has not opened the catalog, and a frontmatter
description cannot link out to one.

- Drop the lane id from the description; name the role instead.
- Replace the trailing Notes reference with a Related section that links the
  catalog by URL. A relative path would not survive installation, which flattens
  skills to mms-<name>/.
- Drop the exogram-daemon path, which is a private repo the reader cannot open.
- Update the stale pr-validate name to evidence.
As a noun suffix, `-proof` is privative in English — waterproof, bulletproof,
tamper-proof all mean "immune to". So `race-condition-proof` parses as "immune to
race conditions" rather than "produces a proof about ordering", and that
misreading is plausible enough not to self-correct.

`-repro` names what the harness produces and carries no such inversion.
@MajorLift MajorLift changed the title feat(stability): add race-condition-proof skill feat(stability): add race-condition-repro skill Jul 31, 2026
@MajorLift

Copy link
Copy Markdown
Contributor Author

Context budget

What this PR costs an agent, measured from an install rather than read from the diff. Three tiers, and only the first is unavoidable.

Skill Frontmatter Selected + refs & knowledge
race-condition-repro 1,236 chars ~2,008 tok ~2,008 tok

Frontmatter is the only tier paid unconditionally — every agent loads it on every run once the skill is installed, used or not, because it is what the agent reads to decide relevance. The 28 skills across the eleven open skill PRs sit at a median of ~1,716 tokens selected and ~1,860 with references followed. All are within the 1,536-character description budget.

Selected is paid only when the agent picks the skill. + refs & knowledge is the ceiling if every bundled reference is then read; it is a worst case, not an expectation.

Method

tools/install --repo metamask-extension --maturity experimental against this branch at 6a9343423, measured per installed skill directory. Repo overlays are merged into the emitted SKILL.md, so they land in the selected tier rather than being missed by a source-byte count. Token figures are bytes/4 — a proxy for scale, not accounting.

These figures are pinned to the commit above and drift on every push; #96 tracks automating them.

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