Combined integration: #77-#80 + #82 through a seven-round tri-lens gate - #84
Merged
Conversation
… applicability is a runtime-state question Two adjudication gaps for reviews of behavior-preserving refactor branches, class-distilled from a mining pass over the owner's own sessions (no code taken). §3 already reproduces findings before acting and tracks a pre-existing-tracked disposition, but does not say how you ESTABLISH pre-existing: on a refactor branch a reproduced defect can be one the branch faithfully carried over from master, so reproduce on the merge-base before counting it a regression the branch owns. And a finding can be non-applicable against runtime/deployment state (empty store, never-deployed writer) even when the source reads as a bug — adjudicate against the running system, not source alone. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fan-out finders scanning for dedup targets, dead code, or duplication over-claim in the scope-inflating direction — substring counts, false 'byte-identical', dissolving dedups, 'dead' code with live registrations. §3 already covers the empty-input synthesizer (confabulates from nothing) and the settled-tree re-read; this is the distinct third case: the survey ran, returned non-empty, and every finding was a confidently-wrong lead. Re-verify each in source before speccing, and re-check whenever a finding reverses scope, because the plan built on the survey is now stale. Class-distilled from a mining pass over the owner's own sessions (no code taken). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…t just the shape New rule 6 under 'What makes a gate real'. When code embeds domain constants (holiday dates, rates, valid-state sets), a structure-only suite passes whether the values are right or a later edit corrupted one. The values were cross-checked once — but in the conversation, which evaporates at session end. Anchor the load-bearing values as assertions from the authority you already consulted, so a future silent constant change fails. This is item 2's change-detector carve-out used correctly (the value IS the contract). Class-distilled from a mining pass over the owner's own sessions (no code taken): a 'tests check shape, not date-truth' cross-model finding on hardcoded holiday dates. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…s a claim to verify live before the doc ships
A skill/runbook that tells a weaker model a capability exists ('the engine
auto-searches every category', 'this flag does X') is executed verbatim by
the reader least able to notice it is wrong — shipping it unverified ships a
false instruction. When the behavior is new or just-patched, prove it against
a real gate, THEN finalize the doc; a scarce/expiring live session argues for
verifying FIRST, not for shipping on the theory it probably works. Positive
twin of §3's capability-negative rule. Class-distilled from a mining pass over
the owner's own sessions (no code taken).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… incident §3: staleness concentrates in world-fact rules (scope the audit there); an invalidation clause must bind to a surface the work already touches. §7: probe a candidate rule against the bare executor before folding it in; a derived file contradicting reality may be mirroring a wrong source. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…; applicability is runtime-state Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…eads, not facts Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
… asserts the facts Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…to verify live before the doc ships Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8 # Conflicts: # skills/skill-authoring/SKILL.md
…m one staleness incident Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8 # Conflicts: # skills/skill-authoring/SKILL.md
The sync-contract bullet ("When two files must agree, write the sync
contract down... must name which file wins on disagreement") sits in
§3 Provenance and decay; §5 already cites it as "§3's sync contract
naming". §4 is Memory architecture and carries no sync contract.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
- cross-model-review §3: the applicability arm no longer files a synthetic-reproducible finding under §4's irreproducible-false-positive bucket (that bucket is for findings that do not reproduce at all); runtime non-applicability is now rejected-with-reason with counter- evidence or owner-accepted deferral, and a latent path the branch itself introduces stays must-fix. Ownership stays a merge-base question; applicability is severity, not ownership. - cross-model-review §3: 'gone on master' -> 'gone on the merge-base' (consistent with the arm's own re-run target on a long-lived branch). - cross-model-review §3: in-body unprobed marker + covenant line added (house convention; siblings carry it). - delegation-and-review §3: Provenance claimed an in-body unprobed marker the bullet lacked — marker added. - ground-truth-gates rule 8: a legitimately-changing fact now routes to rule 4's test-edit-is-a-contract-edit, not the regenerate-and-diff rule (that rule is for committed generated artifacts). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
Three of luna's eight were independent rediscoveries of grok's r1 findings, already folded. The five unique: - cross-model-review §3: pre-existing-tracked no longer reads as auto-non-blocking — pre-existing moves WHERE a reproduced correctness/safety defect gets fixed, never WHETHER; deferral stays the owner's call per this section's triage. - ground-truth-gates rule 8: each anchor assertion now carries its authority and consultation date beside the value — an unattributed literal is indistinguishable from item 3's copied-back expected value. - skill-authoring §3: 'does not go stale at all' -> 'goes stale rarely and slowly', low-yield 'not as exempt' (the absolute claim contradicted the bullet's own escape clause and overclaimed from an n=1 sweep; overturns this integrator's r1 rejection of the same point raised as a grok nit). - skill-authoring §7 bare-executor probe: a bare pass counts only when the run demonstrably met the rule's trigger (not-armed discipline), and one pass screens for a large effect only — close calls re-run before demoting. - skill-authoring §7 derived-file rule: 'Fix both' -> fix the source, bring the derivative along through its regeneration/write-back path (hand-editing a machine-compiled artifact is what ground-truth-gates forbids). - delegation-and-review §3 (nit adopted): confirming a survey claim now includes tracing the references its verdict depends on — matching the bullet's own dead-code-with-live-registry example. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…CEED) Luna's four (all confirmed; two were residues of my own r1 folds): - cross-model-review §3: 'present on both' -> the SAME failure on both (same trigger, same outcome, comparable blast radius); any widening the branch adds is the branch's own regression, not carried over. - skill-authoring §7 derived-file: the no-mechanical-path pair (a hand-maintained rules file over a spec) now has an explicit arm — corrected by hand against the fixed source; machine-compiled artifacts stay never-hand-edited. - same rule: 'identical wrong text' -> 'same wrong content — the identical text, or the source-side value it is generated from' (a compile-transformed pair no longer misreads as true drift). - same rule: §3's sync contract re-described accurately — it keeps coupled files agreeing and names which wins on disagreement; it is not scoped to files that currently disagree. Adopted nits: grok r2 #1 (residual 'master' x2 -> base), #2 (item-3 tautology label now 'code agrees with its own output'), #4 (explicit true-drift else-arm, folded into the rewrite above), #5 (Provenance 'codebase-lightening'); luna nit (authority naming gains source/version/URL parenthetical). Rejected: grok r2 #3 (standard English ellipsis; reviewer itself rates it polish), #6 (skill-name cross-refs are pack idiom, used by existing text in the same files); luna survey nit (existing text already prescribes the re-check: 'the tier ranking built on the survey is now stale'). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
(grok r3 PROCEED; luna r3 FIX 1 = the master residue.) - skill-authoring §3: 'a fact about the outside world ... goes stale on a timescale of days' was still categorical — symmetric residue of the L6 fold, and it contradicted GTG rule 8's always-fixed facts in the same diff. Now 'a MUTABLE fact ... CAN go stale within days'. - skill-authoring §7 derived-file: a clean source no longer jumps to 'true drift' — trial-regenerate and diff (correct output = derivative fell behind; wrong again = the generation path is defective and gets fixed first). Also supersedes grok r3 nit-3's wording concern. - cross-model-review Provenance: 'pre-existing master behaviors' -> 'pre-existing base-branch behaviors' (all three lenses converged on this line; rule body already used merge-base/base). - skill-authoring §7 bare-executor probe (luna nit): the two arms are independent fresh invocations, no shared state or history. - ground-truth-gates rule 8 (sol nit): 'the specific load-bearing values' -> 'every load-bearing value' (closes the single-sentinel reading). - ground-truth-gates rule 8 (grok nit-4): 'the set of valid states' -> 'a jurisdiction's valid state codes' (removes the state-machine ambiguity; the example is now unambiguously external-authority). Rejected: grok r3 nit-2 (bullet density — polish, thrash risk). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…ome matrix (luna r4 PROCEED; grok r4 FIX 1 and sol r4 FIX 2 overlapped on the first item — third independent convergence on the derived-file rule.) - skill-authoring §7 derived-file: the clean-source arm now forks on mechanism — with a mechanical path, trial-regenerate and diff, and a correct output is LANDED (fix step, not just diagnosis); with no mechanical path, a clean source + wrong derivative is manual drift, hand-corrected against the clean source and recorded as such. Closes the LL2 one-property flip that S2's rewrite reopened. - skill-authoring §7 bare-executor probe (sol): the decision now reads the PAIR, both arms armed — both produce the behavior = non-discriminating; only the ruled arm = earns its line; neither = ineffective as written (rewrite or drop, never folded on truth alone); a ruled arm that loses behavior the bare arm had = harmful, dropped, not filed as reference. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…l 2x2 cell (grok r5 PROCEED + 3 nits; sol r5 PROCEED clean; luna r5 FIX 1 = grok nit-3, another nit/must-fix convergence on the same line.) - skill-authoring §7 derived-file: the closing Distinct-from sentence no longer reads as a scope limiter for the whole rule — it names the trap SUBCASE (pair agrees, both wrong) and points at the drift branches above for the disagreeing pair. - skill-authoring §7 bare-executor probe (grok nit-1 adopted): fourth cell reworded to the parallel form 'only the bare arm produces it -> harmful' — a literal reader can no longer read 'stopping bare misbehavior' as loss. Rejected: grok r5 nit-2 (double-fault source+generator single-pass completeness — the rule re-enters cleanly once the source is fixed; reviewer itself rates it residual-completeness, not wrong instruction). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…tor-unavailable carve-out (grok r6 PROCEED + 2 polish nits; sol r6 PROCEED clean; luna r6 FIX 2 + 1 adopted nit.) - skill-authoring §7 bare-executor probe: arms are now scored against the rule's INTENDED outcome — for a preventive rule that is the abstention, so a bare arm committing the prohibited act FAILS its arm. Closes the literal reading under which a working preventive rule (bare commits, ruled abstains) landed in the 'only the bare arm produces it -> harmful' cell and was dropped. - skill-authoring §7 derived-file: the manual-drift branch is scoped to pairs hand-maintained BY DESIGN; a machine-compiled artifact whose generator is merely unavailable is explicitly not that case — restoring the generation path is the fix, artifact stays un-hand-edited (blocked, not manually drifted). - skill-authoring §3 (luna nit): 'files carrying dated facts' -> 'world-fact files' (undated mutable facts are in scope). Grok r6 nits: #1 land-wording asymmetry on the wrong-source arm — no action (same intent, reviewer rates polish; the arm's bring-along is already an action); #2 CMR density — settled (r3). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
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.
What
Combined integration of the five open upstream doctrine PRs, merged ascending
(#77 → #78 → #79 → #80 → #82) with their head commits preserved, then hardened
through a seven-round tri-lens cross-model gate. +232 lines across four skill
files, additions only.
(same failure on the merge-base, widening stays branch-owned); applicability
is a runtime/deployment-state question.
asserts the facts, each anchor attributed (authority + date).
verified live against a real gate before the doc ships.
invalidation clauses; bare-executor probe; derived-file
read-the-source-first.
Gate
r6:2), each fold regression-checked by all lenses in later rounds; 12 nits
adopted; 9 rejected with recorded counter-evidence; 1 integrator rejection
overturned by a second lens. Terminal round 7: TRIPLE PROCEED, zero folds.
irreproducible-false-positive bucket for synthetic-reproducible findings and
a branch-introduced latent path stays must-fix; pre-existing moves where a
defect gets fixed, never whether; fact anchors carry authority + date so an
unattributed literal cannot masquerade as an external anchor; the
bare-executor probe scores both armed arms against the rule's intended
outcome (a working preventive rule can no longer be dropped as "harmful");
the derived-file rule forks cleanly across machine-compiled vs
hand-maintained pairs, trial-regenerates before declaring drift, and blocks
hand-edits when only the generator is unavailable.
(the file's own §5 cites "§3's sync contract naming"); confirmed by all
lenses.
per-round folds are individual commits on this branch.
Covenant
All nine added rules ship
unprobedwith in-body markers and Provenancenarratives (private evidence cited as shape; no code taken); their probes join
the private round-5 queue.
.github/checks.pygreen after every fold.Merging this branch (merge commit) closes #77, #78, #79, #80, #82 as merged by
reachability.
🤖 Generated with Claude Code
https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8