From 6988ed2945e9d49b48aaeaa8e162ab3e37f435ed Mon Sep 17 00:00:00 2001 From: F-e-u-e-r <189464303+F-e-u-e-r@users.noreply.github.com> Date: Thu, 23 Jul 2026 07:27:11 +0800 Subject: [PATCH 1/4] Fold combined-review r4: grok F1+n2,n3; codex F1-F4,F6,F7 (scoped); 2 rejected MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit grok r4 F1 (+n2): channel presence is now established, never assumed — wrapper docs/config declaring a what-answered report or a prior same-wrapper emission establishes the channel; no-channel-by-design needs the same evidence positively showing none; UNKNOWN presence fails closed (block, not downgrade); discriminating pos/neg pair added. grok r4 n3 + codex r4 F3: the sweep field now quotes S3's dedup clause verbatim ('everything ever surfaced, including ones already rejected') instead of the paraphrase that dropped both load-bearing halves. codex r4 F1 (scoped): 'route as if unguarded' -> 'route as if the property were absent (no edge guard, no latency class, no failure signature)' — the conservative direction now explicit per property. codex r4 F2: the pinned-string re-probe requires battery responses route-attributed (not just a preceding trivial check); pos example says 'named the slug as what answered each response'. codex r4 F4: the S5 reviewer procedure gains the batch clause — a batch landing multiple additions to one file also searches the merged result across added hunks (two additions can collide with neither in the base). codex r4 F6: the check-name trace requires the cited run's revision to contain the change under review (a green base-revision run is evidence about that revision, never the change). codex r4 F7 (scoped): campaign write-backs serialize; concurrent writers over one ledger follow S4's edit-conflict rule — no last-writer-wins. Rejected with counter-evidence (trail): codex r4 F5 (multi-verdict application — the reference already scopes post-apply drift to 'drifted paths plus their dependents are UNREVIEWED: fresh-context re-review covers them'; a later verdict is not voided, its coverage shrinks to what it actually reviewed); codex r4 F8 (in-packet absence of the search record = packet-limitation, the standing rejection — the gate-runner and both reviewers' surface-1 sweeps ARE that search, three rounds clean). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GhLu6NCGzM9HxnqNb87MAx --- skills/delegation-and-review/SKILL.md | 37 +++++++++++++------ .../references/recurring-sweep-ledgers.md | 5 ++- skills/operational-rigor/SKILL.md | 5 ++- skills/skill-authoring/SKILL.md | 5 ++- 4 files changed, 38 insertions(+), 14 deletions(-) diff --git a/skills/delegation-and-review/SKILL.md b/skills/delegation-and-review/SKILL.md index 2ade01b..877a1b5 100644 --- a/skills/delegation-and-review/SKILL.md +++ b/skills/delegation-and-review/SKILL.md @@ -98,20 +98,23 @@ treat every returned result as a claim until verified. with flag and battery unchanged, and a second vendor's reproduced failure inverted to a pass days later, strings unchanged). Date-stamp every such measurement where it is recorded; at decision time, re-run - the probe — its route first verified per the labels rule below (an + the probe — its battery responses route-attributed per the labels + rule below, not just a preceding trivial check (an unattributed answer measures an unknown model, not the slug's) — and cite the fresh result's timestamp and configuration — the fresh result informs the routing, it never replaces §2's edge specification and proof gate for the work itself, and no measurement pins the endpoint's behavior on the next request. Probe unavailable - or failing → the property is unknown: route as if unguarded and spec + or failing → the property is unknown: route as if the property were + absent (no edge guard, no latency class, no failure signature) and spec the edge per §2. Done when the decision record cites the fresh probe (timestamp + configuration, its route attributed per the labels rule below) or the unknown-property fallback — an undated behavioral claim about a hosted endpoint is expired on arrival, and an unattributed probe never satisfies the citation. ✅ "re-ran the edge battery this session — the wrapper's route line - named the slug — cited its timestamp in the + named the slug as what answered each response — cited its timestamp + in the routing note, and specced the edge in the packet anyway." ❌ "we already measured that model guarding this edge, so route the edge-risky work to it" — any prior measurement reused for a routing @@ -127,15 +130,25 @@ treat every returned result as a claim until verified. — a model ANSWER to that prompt, AND the wrapper's own route report naming this route as what ANSWERED (a banner echoing the requested slug is configuration, not attribution) — wrapper banners, - usage text, diagnostics, or error pages are not answers. A wrapper - WITH an attribution channel whose report is missing, ambiguous, or - names a silent fallback leaves the route unverified — like an error - or a non-answer, do not dispatch dependent work on it - (§4's retry/escalation ladder governs). A wrapper with NO - attribution channel by design can only ever yield a + usage text, diagnostics, or error pages are not answers. Channel + presence is established, never assumed: the wrapper's docs or config + declaring a what-answered report, or a prior same-wrapper invocation + that emitted one, establishes the channel; NO-channel-by-design is + established only by that same evidence positively showing none + exists. Channel established but this invocation's report missing, + ambiguous, or naming a silent fallback → the route is unverified — + like an error or a non-answer, do not dispatch dependent work on it + (§4's retry/escalation ladder governs); channel presence UNKNOWN → + the same, fail closed. Only a wrapper positively established as + never emitting attribution yields the reachability-only pass: the route stays unattributed — record that limit wherever the pass is cited, and dependent dispatch on it - carries the recorded limitation, never a verified-route claim. A + carries the recorded limitation, never a verified-route claim. + ✅ "wrapper docs define no route field and no invocation has ever + emitted one — recorded 'reachability-only, route unattributed' in + the dispatch note and proceeded on that recorded limit." + ❌ "no route line this time — must not have a channel; dispatched" + (unknown channel presence is a block, not a downgrade). A pass expires with the session — a later session re-runs the probe before dispatching on it (re-reading the lineup, per the volatile-lineups rule above, is @@ -177,7 +190,9 @@ Every packet names: that construct or return it. Hunt generators per §3's miss-is-costly loop — its finders quoted verbatim: "Run axis-diverse finders — by- container, by-content, by-entity, by-time — one axis per finder so - blind spots don't line up", with dedup against everything surfaced + blind spots don't line up", with its dedup clause verbatim — "Dedup + new findings against everything ever surfaced, including ones + already rejected: dedup against confirmed-only never converges" — and its two-consecutive-empty-rounds stop rule — and at least one producer/effect axis (what shared definitions and constructors can produce this kind of output) MUST run before the loop may close: a diff --git a/skills/delegation-and-review/references/recurring-sweep-ledgers.md b/skills/delegation-and-review/references/recurring-sweep-ledgers.md index 4e11fb4..50bcbf2 100644 --- a/skills/delegation-and-review/references/recurring-sweep-ledgers.md +++ b/skills/delegation-and-review/references/recurring-sweep-ledgers.md @@ -55,7 +55,10 @@ REFUTED FINDING-CLASSES carrying the counterexample; a PRIOR-FIXES entry re-flagged this round with evidence the fix failed, regressed, or left a residual spawns a NEW OPEN finding carrying that evidence, the historical entry staying put with a pointer to it; everything else -stays where it is. +stays where it is. Write-backs of one campaign serialize: a round's +write-back completes before the next round dispatches; concurrent +writers over one ledger follow §4's edit-conflict rule (re-read, +re-anchor — never last-writer-wins). **Two phases, two checks.** Dispatch-time (the §2 field's readiness): the packet names the ledger path and campaign identifier, and the diff --git a/skills/operational-rigor/SKILL.md b/skills/operational-rigor/SKILL.md index 45630f2..7f189c3 100644 --- a/skills/operational-rigor/SKILL.md +++ b/skills/operational-rigor/SKILL.md @@ -265,7 +265,10 @@ When rigor conflicts with finishing sooner, rigor wins. evidence of a property of a change (safe, correct, covered), trace it through to its pass/fail oracle — the assertions (or, for a linter or build job, its rule set and - inputs) inspected at the revision the cited run actually used, the + inputs) inspected at the revision the cited run actually used — + which must itself contain the change under review: a green run on a + revision without the change is evidence about that revision, never + the change — the invocation path and setup that feed them, whether that path executed in the cited run, and whether its assertions PASSED there with their failure controlling the check's final status (a run is not a pass — diff --git a/skills/skill-authoring/SKILL.md b/skills/skill-authoring/SKILL.md index 9e3858b..9869f8f 100644 --- a/skills/skill-authoring/SKILL.md +++ b/skills/skill-authoring/SKILL.md @@ -216,7 +216,10 @@ artifact-producing step. re-runs those searches against the pre-addition text (the file at the revision the change branches from — never the edited working copy) and reads at least one candidate of their own choosing — on empty - searches, one searched file in full; a standalone not-covered verdict + searches, one searched file in full; a batch landing multiple + additions to the same file also searches the merged result across + the added hunks (two additions can duplicate each other while + neither exists in the base); a standalone not-covered verdict with no reviewer stays provisional in the report until a fresh-context reader without the author's session confirms it there. A bare "not covered" backed only by empty greps is the failure this rule exists to From f07af131a1e6a3b7ddfea7dbda1ab4d42b61d244 Mon Sep 17 00:00:00 2001 From: F-e-u-e-r <189464303+F-e-u-e-r@users.noreply.github.com> Date: Thu, 23 Jul 2026 07:41:44 +0800 Subject: [PATCH 2/4] Fold combined-review r5: grok F1+n2,n3; codex F1 (shared), F2; 0 rejected MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit grok r5 F1 + codex r5 F1 (same finding, independently): the r4 batch dup-search clause was same-file-scoped and actively taught that cross-file batches skip the merged search — now covers additions across files in the search set (targets, siblings, routers/entry files), searching the merged result across all added hunks. grok r5 n2: the sweep field's finders quote re-wrapped so the joined text is character-identical to S3's canonical line (by-container no longer split across a hard-wrap under a 'verbatim' claim). grok r5 n3: port defense (1) covers 'per worktree or independent session tree' — the rule's trigger spans sibling sessions beyond linked worktrees. codex r5 F2: the hosted-behavior carve-out no longer leaves a class uncovered between the two rules — date-stamp where written, and ANY session acting on the negative (routing decision or not) re-probes at decision time before repeating or relying on it. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GhLu6NCGzM9HxnqNb87MAx --- skills/delegation-and-review/SKILL.md | 7 ++++--- skills/skill-authoring/SKILL.md | 13 ++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/skills/delegation-and-review/SKILL.md b/skills/delegation-and-review/SKILL.md index 877a1b5..5bd6cc4 100644 --- a/skills/delegation-and-review/SKILL.md +++ b/skills/delegation-and-review/SKILL.md @@ -33,7 +33,7 @@ treat every returned result as a claim until verified. the wrong build while every request returns 200, which reads as a bug in your own change. Defenses (pick one of the two, apply it fully — what you persist differs by defense): (1) a unique fixed port per - worktree, run + worktree or independent session tree, run with fallback disabled so a collision fails loud, the NUMBER persisted and propagated to every session-local reference (proxy, env, browser entry) — an explicit address-in-use bind error is the @@ -188,8 +188,9 @@ Every packet names: SEARCH scope is then every surface that can produce that target: literals and direct references, shared/global definitions, helpers that construct or return it. Hunt generators per §3's miss-is-costly - loop — its finders quoted verbatim: "Run axis-diverse finders — by- - container, by-content, by-entity, by-time — one axis per finder so + loop — its finders quoted verbatim: "Run axis-diverse finders — + by-container, by-content, by-entity, + by-time — one axis per finder so blind spots don't line up", with its dedup clause verbatim — "Dedup new findings against everything ever surfaced, including ones already rejected: dedup against confirmed-only never converges" — diff --git a/skills/skill-authoring/SKILL.md b/skills/skill-authoring/SKILL.md index 9869f8f..fbe313f 100644 --- a/skills/skill-authoring/SKILL.md +++ b/skills/skill-authoring/SKILL.md @@ -107,8 +107,10 @@ artifact-producing step. and had been routing sessions into a degraded path. A negative about a hosted model's BEHAVIOR is the one class a version pin cannot hold — hosted endpoints drift behind unchanged strings; that class - follows delegation-and-review §1's pinned-string rule (date-stamp - the recorded claim; re-probe at decision time), not this protocol. + follows delegation-and-review §1's pinned-string rule, not this + protocol: date-stamp the recorded claim where written, and any + session acting on it — routing decision or not — re-probes at + decision time before repeating or relying on the negative. Writing a tool-interface negative: pin it to the version and probe it was observed on. Acting on one: read its pin; the tool's version has changed, or the pin is missing → @@ -217,9 +219,10 @@ artifact-producing step. revision the change branches from — never the edited working copy) and reads at least one candidate of their own choosing — on empty searches, one searched file in full; a batch landing multiple - additions to the same file also searches the merged result across - the added hunks (two additions can duplicate each other while - neither exists in the base); a standalone not-covered verdict + additions — to one file or across files in the search set (targets, + siblings, routers/entry files) — also searches the merged result + across all added hunks (two additions can duplicate each other + while neither exists in any base); a standalone not-covered verdict with no reviewer stays provisional in the report until a fresh-context reader without the author's session confirms it there. A bare "not covered" backed only by empty greps is the failure this rule exists to From 704a5d5df79d7139a9d2f2f68f345d31d6d7dc51 Mon Sep 17 00:00:00 2001 From: F-e-u-e-r <189464303+F-e-u-e-r@users.noreply.github.com> Date: Thu, 23 Jul 2026 08:04:30 +0800 Subject: [PATCH 3/4] Fold combined-review r6: grok F1 + n2; codex PROCEED (first all-clear) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit grok r6 F1: the r5 hosted-behavior carve-out had paraphrased pinned-string's duties into an incomplete subset (the pack's own no-paraphrase rule) — the re-probe is now explicitly satisfied only under the pinned-string rule's attribution and unknown-property-fallback clauses (an unattributed answer never satisfies it), with the pinned-string rule named winner on any wording disagreement. grok r6 n2: the ledger reference's S3 dedup quote completed to the full canonical sentence ('dedup against confirmed-only never converges'). codex r6: zero findings, PROCEED — all seven surfaces reported clean. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GhLu6NCGzM9HxnqNb87MAx --- .../references/recurring-sweep-ledgers.md | 2 +- skills/skill-authoring/SKILL.md | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/skills/delegation-and-review/references/recurring-sweep-ledgers.md b/skills/delegation-and-review/references/recurring-sweep-ledgers.md index 50bcbf2..ebd3e4f 100644 --- a/skills/delegation-and-review/references/recurring-sweep-ledgers.md +++ b/skills/delegation-and-review/references/recurring-sweep-ledgers.md @@ -46,7 +46,7 @@ applicability before deduplicating (Verify critics too; in-file evidence overrides history, and an entry with no evidence binds nothing. §3's canonical set still governs the audit loop itself ("Dedup new findings against everything ever surfaced, including ones already -rejected"). +rejected: dedup against confirmed-only never converges"). Write-back moves entries across categories: an OPEN finding whose fix landed this round moves to PRIOR FIXES carrying the fix's correctness diff --git a/skills/skill-authoring/SKILL.md b/skills/skill-authoring/SKILL.md index fbe313f..4c7aa71 100644 --- a/skills/skill-authoring/SKILL.md +++ b/skills/skill-authoring/SKILL.md @@ -110,7 +110,11 @@ artifact-producing step. follows delegation-and-review §1's pinned-string rule, not this protocol: date-stamp the recorded claim where written, and any session acting on it — routing decision or not — re-probes at - decision time before repeating or relying on the negative. + decision time before repeating or relying on the negative, the + re-probe satisfied only under the pinned-string rule's own + attribution and unknown-property-fallback clauses (an unattributed + answer never satisfies it); on any wording disagreement, the + pinned-string rule wins. Writing a tool-interface negative: pin it to the version and probe it was observed on. Acting on one: read its pin; the tool's version has changed, or the pin is missing → From 9b1529e5a630b6a597f1d65172ebe49f62e749bc Mon Sep 17 00:00:00 2001 From: F-e-u-e-r <189464303+F-e-u-e-r@users.noreply.github.com> Date: Thu, 23 Jul 2026 08:21:11 +0800 Subject: [PATCH 4/4] Fold combined-review r7: grok PROCEED + n1; codex F1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit grok r7: PROCEED, zero must-fix. Its non-blocking nit folded per the inventory's own update imperative — the S5 owed-lines list gains the two record lines this merge ships (skill-authoring S5 dup-check result line; S6 target-runtime line of a skill review record). codex r7 F1: the ledger write-back gains the missing confirmation transition — an UNRESOLVED item confirmed this round moves to OPEN FINDINGS, and confirmed-and-fixed in the same round goes straight to PRIOR FIXES with the fix's evidence. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GhLu6NCGzM9HxnqNb87MAx --- .../references/recurring-sweep-ledgers.md | 5 ++++- skills/operational-rigor/SKILL.md | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/skills/delegation-and-review/references/recurring-sweep-ledgers.md b/skills/delegation-and-review/references/recurring-sweep-ledgers.md index ebd3e4f..5f99f38 100644 --- a/skills/delegation-and-review/references/recurring-sweep-ledgers.md +++ b/skills/delegation-and-review/references/recurring-sweep-ledgers.md @@ -50,7 +50,10 @@ rejected: dedup against confirmed-only never converges"). Write-back moves entries across categories: an OPEN finding whose fix landed this round moves to PRIOR FIXES carrying the fix's correctness -evidence; an OPEN or UNRESOLVED item refuted this round moves to +evidence; an UNRESOLVED item confirmed this round moves to OPEN +FINDINGS (confirmed and fixed in the same round, straight to PRIOR +FIXES with the fix's evidence); an OPEN or UNRESOLVED item refuted +this round moves to REFUTED FINDING-CLASSES carrying the counterexample; a PRIOR-FIXES entry re-flagged this round with evidence the fix failed, regressed, or left a residual spawns a NEW OPEN finding carrying that evidence, diff --git a/skills/operational-rigor/SKILL.md b/skills/operational-rigor/SKILL.md index 7f189c3..37e0c65 100644 --- a/skills/operational-rigor/SKILL.md +++ b/skills/operational-rigor/SKILL.md @@ -454,6 +454,8 @@ When rigor conflicts with finishing sooner, rigor wins. whenever a new owed-line rule ships): the `AUTH:` line; the twin-search line; the skipped-prescribed-follow-up naming; the `Decisions note:` line; the compaction word-diff record (skill-authoring §7); the + dup-check result line (skill-authoring §5); the target-runtime line + of a skill review record (skill-authoring §6); the residual-risk statement. For each owed line that is missing, first confirm the underlying work actually happened — if it did, add the line; if it did not, do the work now or