Skip to content

E8 stops at scouting under its own width floor; BELLS question recorded as sent - #22

Merged
Cubits11 merged 6 commits into
mainfrom
claude/e8-contract
Sep 18, 2026
Merged

Cubits11 merged 6 commits into
mainfrom
claude/e8-contract

Conversation

@Cubits11

Copy link
Copy Markdown
Owner

Six commits over main (d3766ae), in order:

  • baf018b, b6e6a93: the BELLS selection-rule question (How were the 170 prompts in data/non_adversarial_prompts.csv selected? CentreSecuriteIA/bells_leaderboard#1) is recorded as sent. outcomes.yaml goes from 3 to 4 technical interactions (diagnostic only), and the traction event binds to the commit that carried it.
  • 0ae1f21: E8 declares its identification group first (SESOI 0.05, a marginal-only width floor of 0.10, consequence IDENTIFICATION-LIMITED). The scouting protocol is frozen before any score exists.
  • ac2492b: E8's scouting stops the run under its own rule. At FPR 0.05 no candidate pool clears the width floor: Mosscap 0.040, SPML 0.005, in-the-wild jailbreaks 0.070. No evaluation item was drawn or scored, the contract stays draft, and E8 has no observation row. The three scouting slices are burned.
  • 25a0684: the traction events bind to the commits that carried E8's preregistration and freeze.
  • aea82aa: the cadence row for 2026-09-18.

Gates at aea82aa: verification_manifest.py, 83 checks, exit 0 (.venv, Python 3.14). evidence_guard.py --base d3766ae --candidate aea82aa passes. No trust-root or workflow file changes.

0ae1f21 and ac2492b rebuild 2bc48c1 and 9f909c0 with the co-author trailer removed. Their trees, author dates and committer dates are identical to the originals. Only distribution/traction/events.json pinned the old IDs, and 25a0684 regenerates it. Ignoring those IDs, the events are unchanged, and the repo graph is unchanged under its drift gate's canonical form.

Merge as a merge commit: squash or rebase would orphan the commit IDs the traction events pin. Merging freezes nothing for E8, sends nothing, and does not touch E2 collection.

…faces follow

The owner posted the selection-rule ask on 2026-09-16 (America/New_York) as
CentreSecuriteIA/bells_leaderboard issue #1. I verified the issue resolves and
carries the Cubits11 author. The dispatch log now holds the message as sent,
verbatim, with its permalink, its UTC timestamp, the reproduction commit its
script URL pins, and an adjudication rule for both a substantive answer and
silence. sent_at_commit stays null: the checkout at send time was not
established, and a commit I did not observe is not a commit I record.

The dossier moves from PREPARED to SENT, RESPONSE PENDING, and quotes the text
that was actually posted rather than the draft it replaced. The qualified-outcome
ledger counts a fourth technical interaction and states again that an issue the
author opens is diagnostic, not an outcome. Qualified outcomes stay at 0.

Derived surfaces regenerated against that count and against the merge: the
research index, the reproduce page, /try/, the conformance record, the ledger
snapshot, the flagship source map, the traction artifacts, the repository graph
and sitemap lastmod. None was hand-edited.

python3 scripts/verification_manifest.py exits 0, all 83 checks, run under
.venv/bin/python — jsonschema is not importable from the system interpreter and
the contract tests fail without it.
Generating distribution artifacts against an uncommitted `outcomes.yaml` records
the metrics event as `pending_commit` with a null commit and a null URL. Once
the source is committed the same regeneration resolves it to `baf018b` and a
blob URL, and `distribute.py --check` fails until that resolution is recorded.
So a change to a bound source takes two commits: the source, then the binding.
The repository graph picks up this branch's topology in the same pass.

I did not amend the first commit. Amending would move the sha the event now
binds to and reopen the same drift.
…ore any score

The contract declares the SESOI, the marginal-only width floor and its
consequence before any pool is scored. The schema gains an optional
informativeness group and the validator holds its floor at or above the SESOI,
because |q_obs - q_ind| never exceeds the marginal-only width. The runner
reports the realized width against the floor and applies the consequence:
IDENTIFICATION-LIMITED, delta recorded and not claimed.

scouting.json fixes the seed, the sizes, the middle band, the candidate order
and the selection rule; every scouting item is burned for evaluation by hash.
…oor at a deployable budget

Three candidate pools were scouted on 200-item slices at FPR 0.05 with
thresholds from a separate 400-item benign calibration set. G2's threshold on
OR-Bench benign is 0.999485 and it misses 93–96% of every candidate; the
widest marginal-only width was 0.07 against a declared floor of 0.10, and no
candidate had both marginals in the middle band. The rule written before
scoring says NO-ELIGIBLE-POOL: no evaluation item was drawn or scored, the
contract stays draft, the runner refuses it, and E8 has produced no row.

PREREG.md is rendered from contract.json, scouting.json and the freeze by
run/render_prereg.py and held to that rendering by tests/test_e8_runner.py.
verify_prereg.py and the conformance record now count contract.json as the
declaration correction C1 made canonical. Scouting scores and slices are
committed; they are burned for any evaluation under a later contract.
…ion and freeze

Same shape as b6e6a93: events.json pins each source to its committing
commit, so it drifts until the source is committed. Not amended, for the
same reason given there.
@Cubits11
Cubits11 merged commit 9bb2aff into main Sep 18, 2026
6 checks passed
@Cubits11
Cubits11 deleted the claude/e8-contract branch September 18, 2026 01:40
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