Skip to content

Combined #85-#89: probe results + trigger repair, bare-probe environment/tier/leakage/reasoning clauses, adoption + citation + staging rules, blanket-go scope, grader token collision - #90

Merged
F-e-u-e-r merged 23 commits into
mainfrom
combined-85-86-87-88-89
Jul 29, 2026

Conversation

@F-e-u-e-r

Copy link
Copy Markdown
Owner

Combined integration of contributor PRs #85, #86, #87, #88, #89 (ascending
merges, so each original PR closes as merged by reachability), plus
integration-fix and gate-fold commits.

What lands

All new rules/clauses ship unprobed per the covenant (in-body markers +
Provenance entries; probe debt joins the private round-5 queue).

Review gate

11 rounds, three lenses (grok-4.5 high + gpt-5.6-luna ultra every round;
gpt-5.6-sol max from r3). Fold trajectory 10→8→12→6→2→6→5→5→1→3→2:
~62 must-fix/nit folds applied, 7 findings rejected with in-repo
counter-evidence. Terminal state: grok PROCEED r5–r11 (seven consecutive),
luna PROCEED r7/r9/r11, sol reduced to last-mile command-hardening whose
final two folds land sol-unverified per the §4 bounded-loop precedent.
Highlights the gate caught: a trigger-reachability defect in the
adoption-debt clause's original nesting; an internal contradiction between
the stranger-test and the environment-relative baseline definition; the
staged-diff gate's circular trigger; git semantics corrections
(@{push} vs @{u}, merge diffs, range endpoints, tracking-ref
freshness); five Provenance entries lacking contributor-reported labels;
and an ordering defect where the ancestor guard landed after commit
instructions.

Integration notes

🤖 Generated with Claude Code

https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8

firaen22 and others added 23 commits July 27, 2026 18:17
… probe results

The four rules folded 2026-07-25 shipped `unprobed` per the covenant. This is
that probe, run against the merged text (n=1/arm, one weaker-tier executor —
screens for a large effect only).

- §7 derived-file rule: failed BOTH arms. Given a wrong value in a file with no
  provenance cue, each arm edited it in place. The written trigger named the
  classification ("a derived file") that the rule exists to force, so it fired
  only when provenance was already known. Trigger restated as the observable
  state; body unchanged. Repaired form ships unprobed.
- §3 bound-invalidation, §7 bare-executor-probe: discriminated. Markers updated.
- §3 world-fact staleness: did NOT discriminate — a bare arm produced the
  scoping unaided. Flagged in its marker for a demotion judgment, not demoted
  at n=1.
- §2: derive a cross-reference's section number from the file, never from
  recall. One such reference reached main and cost fix commit 8f8413f.

Provenance amended with the results, including two discarded runs (round-1
scenarios leaked the taught distinction; one bare arm was contaminated by the
author's own session memory reaching the subagent).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…s' reasoning, not just verdicts

Two clauses folded into the existing bare-probe bullet, distilled from a
downstream consumer's first four fold probes of this repo's merged rules:

- The bare arm runs in the executor's REAL baseline (standing global
  rules, always-loaded caches), so a bare-pass verdict means redundant
  in that environment only — record the baseline next to the verdict
  and never export non-discrimination to a different baseline.
- Read each arm's stated reasoning before writing the fold: a failing
  bare arm supplies the exact excuse the rule must refute (carry it in
  near-verbatim); a passing ruled arm that over-fires by refusing the
  surrounding task is a wording warning, not a win.

Provenance paragraph appended; both clauses ship unprobed per the
covenant.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ng; re-resolve citations on install; stage by pathspec over dirty state

Three clauses from one downstream consumer's adoption pass over this repo.

skill-authoring §3, on the merged-integration bullet: that bullet tracks
the campaign continuing UPSTREAM. The mirror case is an author's own
adoption — a merge closes the contribution while the author's
always-loaded files still lack the rule, and nothing feels missing
because the author has been applying it from working context. Binds the
adoption debt to the same ledger row that logs the merge, since a debt
parked in a plan or summary is the invalidation-clause failure this file
already warns about.

skill-authoring §3, new rule before the packaging trio: a distributable
skill's section-number and named-anchor citations address ITS library.
Installed elsewhere they still read as valid and resolve to the wrong
content. Re-resolve each against the destination by grep, classify
retargeted / unchanged / absent-here, and record retargets in the port
note — unrecorded, the next diff-against-upstream reads them as drift
and a re-sync restores the broken numbers.

operational-rigor §2, on the baseline bullet: the mutation-side half of
a baseline the rule already required. With pre-existing changes present
that you did not author, stage by explicit pathspec; git add -A publishes
edits you have never read under your message.

All three ship unprobed per the covenant; Provenance entries added.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Third clause on the same bare-probe bullet, and it must ship with the
first one: clause 1 says the bare arm KEEPS its environment (standing
global rules, always-loaded caches); this says strip episodic recall of
the finding under test. Stated apart, each reads as contradicting the
other — the boundary is the rule.

The test is what the arm would have without you: what every invocation
in that environment ships with is baseline; an auto-memory store, a
session summary, or notes from the run being probed are leakage. That
store survives a fresh invocation, so the existing no-shared-state
requirement does not catch it — the arm loads the conclusion, restates
it, and scores as an unaided reproduction.

Countermeasures: recall-dodging framing, an explicit disregard
instruction, and a citation check on the output before the run counts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…pending

Extends the "Approval is not a verdict" bullet with the scope-direction case.
The surrounding rules stop an approval from reaching forward to work the user
never saw; this stops it from being silently trimmed backward to the agent's
most recent message. If part of the pending queue is deliberately excluded,
name the excluded items before starting, not when asked where they went.

Ships unprobed per the covenant.
… corpus cannot produce

Adds one fake-pass shape to the item-3 list. Unlike the empty-scan shapes
already there, this grader runs correctly over a non-empty input and still
passes every arm: it scans prose for a word the graded corpus itself contains,
so it scores the corpus rather than the behavior.

Its damage runs opposite to a vacuous green. A vacuous green hides a failure;
this manufactures agreement, so an A/B whose arms all pass reads as "no effect"
and retires a rule that actually worked.

Fix is two-part: key on a structural marker the subject must create, and
sanity-check the grader against a known-bad arm before trusting a clean sweep.

Ships unprobed per the covenant.
A fold probe run at the probing session's own strong tier returned bare
3/3 on a citation-re-resolve rule (redundant with model capability); a
same-day replication of the same fixture at a weak tier returned bare
0/3. Extends the environment-relative-baseline clause: tier is another
axis the verdict does not automatically generalize across, and only a
bare-pass (non-discrimination) result is poisoned by running above the
file's audience — a strong-arm ruled FAIL or bare FAIL still stands.
# Conflicts:
#	skills/skill-authoring/SKILL.md
# Conflicts:
#	skills/skill-authoring/SKILL.md
# Conflicts:
#	skills/operational-rigor/SKILL.md
Per the house covenant's explicitly-labeled norm (precedent: #62-65 gate),
add in-body unprobed markers to the clause additions that carried only
Provenance-level labels: skill-authoring SS2 derive-cross-references, SS3
adoption-debt + citation-resolution, SS7 consolidated marker for the four
2026-07-27/28 bare-probe clauses; operational-rigor SS2 stage-by-pathspec
+ blanket-go. Rewrap three over-80 added lines from #85's marker rewrites.
Provenance-section blank-line normalization (house style: continuous
prose) applied during the #86 merge resolution.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…-ultra

- ground-truth-gates: shape count Four->Five after the fifth insertion;
  'empty-scan shapes above' narrowed to 'the zero-input scanner above'
- skill-authoring SS7: baseline clause reworded (the probe goes
  non-discriminating; the baseline does not 'fail' it); tier clause's
  strong-arm FAILs scoped as evidence, not verdict-table outcomes
  (a bare FAIL alone never 'earns the line'); SS3 citation rule:
  retargeted classified by resolved local address, not number;
  byte-identical X-example scoped to differently-numbered libraries;
  re-appliable -> re-applicable
- skill-authoring Provenance: SS2 derive-cross-references clause given
  its own evidence chain (8f8413f + contributor-reported draft catch),
  decoupled from the four-rule probe run, explicit unprobed status
- operational-rigor SS2: staging clause covers foreign hunks inside a
  touched file (staged-diff review; git show HEAD not --stat alone);
  blanket-go states its boundary with per-invocation/confirmation rules

Rejected with counter-evidence: arrow-glyph prohibition (36 uses on
main across the two files), 82-char line claim (78 chars; house measure
is characters, not bytes).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
grok: adoption-debt promoted to its own SS3 bullet with a bold trigger
(was nested past the campaign bullet's Done-when, unreachable for a pure
contributor — the trigger-reachability defect class this same PR set
repairs); r1's foreign-hunk fold de-circularized (staged-diff read is
unconditional on a dirty tree, with a commit-only-if-solely-yours gate
and unstage/checkpoint remediation — 'when it does' named the state the
check exists to discover).
luna: -A exception now requires changes both yours AND belonging to this
commit; absent-here citations never dropped silently (port note records
delete-or-gap either way); bare-SSN citations get a pin-upstream-meaning
step before destination grep; contamination check scoped to details the
scenario did not supply + explicit honesty bound (quoted recall only —
surprising bare-pass from a memory-bearing arm stays suspect);
world-fact marker now names the deferred demotion judgment.
Partially rejected: L1's contradiction claim (SS7's own n=1 re-run line;
verdict table governs candidate folds, not retrospective demotion of
shipped doctrine); L5's memory-cleared-executor prescription (conflicts
with the environment-relative baseline clause in the same bullet).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…s joins)

grok: leakage list now names finding CONTENT as the contaminant, the
store as its vector (was contradicting the keep-the-baseline rule);
retarget-recording step also records absent-here outcomes; 'may still
earn its line'; never-list adds git commit -a/--all.
luna: bare-check ('a bare check argues redundancy at most; only the
pair settles it'); Provenance four-rule contrast disambiguated (the
repaired fourth failed both arms, outside the contrast); foreign hunks
now unstaged and LEFT IN TREE (stash/commit is its own act needing its
own authorization); audience tier scoped (multi-tier: weakest it must
protect); contributor-reported labels folded onto the four unlabeled
downstream-consumer Provenance entries (twin sweep: grep 'downstream
consumer' — #86 x2, #88, #89).
sol: grader marker must be created AND filled; blanket-go examples now
genuinely queue-wide ('proceed all') + bare-'proceed' ambiguity boundary;
leakage controls applied to BOTH arms (candidate rule the only
difference); compose-cure scoped to rules whose intended outcome is not
refusal, proceed on a pass; mis-targeted vs dangling distinction fixed
in the SS2 clause, the citation rule, and Provenance.
Rejected with counter-evidence: sol's mandatory port-or-rewrite closure
for absent-here (partial adoption is a legitimate steady state; the
over-fire lesson folded this same round applies to the reviewer's cure
too) and luna's declared-tier registry (the one-way inference already
handles above-tier data; registry is machinery beyond the PR).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
grok: absent-here keep-gap must be a non-resolving marker, never a live
SSN resolving locally to unintended content (sol r3's kernel, rescoped
without mandatory porting); auto-memory anaphora fixed (the survival
rationale attaches to that vector, not the whole carrier list);
re-sync hazard names deletes as well as retargets; grader-shape damage
line no longer claims the opposite-of-vacuous uniqueness (manufactures
agreement OVER REAL INPUT).
luna: stage-everything forms enumerated generically (-A/--all/-u/
--update/., commit -a/--all); Provenance probe accounting fixed (three
of the probes produced the clauses: one env + two reasoning).
Rejected with counter-evidence: malformed-marker negative-control
escalation — the shape entry's next sentence already binds item 2's
known-broken-run discipline over this grader class, and create-and-fill
covers the empty-content arm; deeper grader validation is items 1-2
territory.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…indings)

- operational-rigor SS2: -A licence made exclusive ('Only on a tree
  whose every change is yours and belongs in this commit is -A fine —
  any other state stages by pathspec'), closing the self-authored-but-
  unrelated gap that fell between the two named cases
- skill-authoring: world-fact probe marker + Provenance now record the
  PAIR ('both arms produced the scoping, the bare one unaided') — the
  non-discrimination verdict requires both arms per SS7's own table, and
  the ruled-arm result exists in the probe record

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
sol: staged-diff gate keys on commit intent, not authorship alone
(solely the changes this commit intends — yours AND belonging here);
unstage only what YOU staged — a baseline-staged foreign hunk is the
user's index arrangement, stop and surface it (git commit takes the
whole index, so pre-staged foreign content would otherwise ship);
pre-push verify reads every outgoing commit's patch (git log -p @{u}..
— git show HEAD covers only the tip); stranger-test replaced with the
executor-invocation test (the tested executor's standing rules ARE
baseline even though a stranger would lack them — the stranger frame
recreated the forbidden blank-model counterfactual).
luna: killed-candidate Provenance no longer claims a verdict-table cell
from a bare arm alone (either matching cell keeps it out of the
always-loaded file); the pre-existing 8-of-3 measurement is qualified
as an earlier probe form (rules file absent outright, predating the
baseline clauses) so 'probed this way' no longer anachronistically
claims current-procedure conformance.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
- staged-diff gate triggers on commit INTENT (foreign hunks or your own
  from another task; 'on any tree whose changes exceed this commit's
  intent'); dropped the authorship apposition
- pre-push verify measured against the real push destination (@{push}/
  @{u} where set, else the fork base) with merge diffs shown
  (--diff-merges=first-parent) — @{u} is not the push destination on
  triangular workflows and git log -p omits merge diffs by default
- derived-file trigger covers manual sources ('or serves as a source it
  is maintained from'; 'derived — compiled mechanically or maintained
  by hand') — the body's hand-maintained branches were unreachable
  through a generator-only question
- adoption-debt row closes only on port done or reasoned decline;
  probe-then-port keeps it open (was closable on a nonterminal decision)
- #85 probe Provenance entry labeled contributor-run and
  contributor-reported (fifth unlabeled entry, missed by the r3 twin
  sweep which grepped 'downstream consumer' only)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…ED x3)

luna: contamination check no longer false-discards a ruled arm for
citing the candidate rule's own content (details supplied neither by
the scenario nor, in the ruled arm, by the candidate rule).
sol: push-destination chain corrected (@{push} where it resolves; @{u}
only if provably the same destination; explicit refspec or new branch
resolves it yourself); SS2 cross-reference derivation requires current
search output showing the enclosing heading (a bare body line does not
establish its section); port-note pairs carry heading/anchor and
re-resolve on every re-sync (numeric pairs go stale on renumber);
Provenance 'false anywhere' scoped to 'not exportable to any
environment without that baseline'.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
Pre-push range names both endpoints: <dest>..<source>, where <source>
is the ref the push actually sends (HEAD only when it is the refspec's
source) — an explicit refspec like topic:release would otherwise be
audited against the checked-out branch instead of the pushed commits.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
…CEED x5)

luna: the ancestor guard now binds to the BASELINED tip (run before
your first commit moves HEAD, or against the recorded starting tip) —
the SS2 staging insertion had pushed it after commit instructions in
reading order, where a post-commit HEAD is no longer an ancestor and
the stale-branch guard silently passes.
sol: push-destination freshness (refresh from the remote first — a
tracking ref names the address, not its freshness); absent-here
sentence-rewrite bounded against absorbing the missing sibling's
semantics (the adjacent no-paraphrase rule holds).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
grok r11 PROCEED (7th consecutive, r5-r11); luna r11 PROCEED (3rd of
last 4 rounds, zero nits). sol r11's two finds folded sol-unverified
per the SS4 bounded-loop precedent: git add -- <path> (a pathological
filename cannot parse as an option); the pre-push recipe scoped to what
a fast-forward push ADDS (a non-fast-forward push deletes remote
history — a destructive action under this section's own gates).

Gate record: 11 rounds, 3 lenses (grok-4.5 high + gpt-5.6-luna ultra
every round; gpt-5.6-sol max r3+), ~62 folds, 7 rejections with
counter-evidence. Terminal state: grok+luna dual PROCEED with sol
residual disclosed as last-mile command-hardening, folded unverified.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMbbZQ8ZMMsNRGyV2nvJR8
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.

2 participants