Skip to content

Trials P-30 and P-63: the release identity and the eval job, recorded from their runs (#189, #309) - #667

Open
don-petry wants to merge 6 commits into
mainfrom
claude/slice1-event-path-f96476
Open

don-petry wants to merge 6 commits into
mainfrom
claude/slice1-event-path-f96476

Conversation

@don-petry

@don-petry don-petry commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Closes the fixture boxes of "Trial P-30: one identity cuts a Release and moves a channel tag under the tag ruleset" (#189) and "Workflows: eval.yml runs the review Intent's held-out cases and writes eval-report/1" (#309), under the slice-1 epic (#182). By the Factory Builder's rulings of 2026-11-09, pre-approved by the Maintainer on 2026-11-08. Both issues are closed by hand once this merges, with a comment each.

What

File What
trials/P-30.json Release runs 42348605675 (cut factory/v0.1.0, moved factory/v0-next) and 42348650504 (the re-cut, refused), read again through the Maintainer's login. The cut's Deployment names combsmith-sf-release[bot] as its creator. Live reads of tag rulesets 25183656 (bypass: the admin role and App 5502359 alone) and 25996980 (no bypass), and of the repo's admins (don-petry alone). Verdict pass, with the residual stated: no other identity's refusal was exercised. Decision 0114 is why the App and not the job token
trials/P-63.json Eval run 42347416962 on main at 499835d: run, jobs (fetch and upload succeeded), artifact eval-report (unexpired to 2027-02-05). The archive's sha256 is GitHub's digest. Of the report: commit, Release, set hash and count, totals and the one-word bars, and each case by id and sha256 alone (they equal evals/pr-review/cases.json at the commit). Each case's verdict and reasons are left out, since a reason tells a case's kind. Live read of factory-eval: one branch policy, main, and can_admins_bypass false. Residual stated: no dispatch from another branch was exercised. No secret, and no list of secrets, was read
§6 of the design A P-63 row (P-62 is #657's)
tools/check_trials.py TRIALS_OF_THE_FACTORY = {"P-30", "P-63"}
tests/test_tools.py, tools/mutants.py test_the_eval_jobs_trial_records_the_factorys_own_repo, and the mutant "the eval job's trial is no trial of the Factory"
Decision 0173 Amends 0113's "P-30 alone" to "P-30 and P-63 alone"; states what the P-63 fixture keeps of the report, and that a live read stands for each refusal, and that both pass conditions were written after the Release's runs
trials/AGENTS.md, the trial skill, schemas/trial.schema.json Name P-63 beside P-30 (a description only, in the schema)

Neither fixture grounds a rule of sim/grounding.py: none names P-30 or P-63.

Also done on GitHub, outside this PR: "Trials P-2, P-5, P-23 and P-25" (#185) closed, its grounding box amended; its follow-on filed, "Trial: the merge queue merges only after a pass has read the pull request" (#659).

Verification

Export verify of the head: pass at 9e58a78a (every check and every test). Mutants on the new rule, run alone on an export: 3 of 3 killed ("the eval job's trial is no trial of the Factory", "any trial may record the Factory's own repo", "a trial of the Factory may record the canary"). python3 -m tools.check_trials: ok.

Reviews, each of 836f22d; the findings were fixed in 5ff92161 (rebased on #657, then main merged and the record renumbered to 0173 in 9e58a78a):

Reviewer Head Unread parts Blocking Major Minor Info
agy 836f22d none 0 0 0 0
muse 836f22d none 0 0 0 0
claude-review 836f22d none 0 0 2 3
claude-security 836f22d none 0 0 0 1
Finding Severity Criterion Where What Disposition
claude-review#1 minor none docs/architecture/software-factory-design.md:2223 Section 6's P-30 row still reads as not run, though this change adds its fixture and gives P-63 a Passed note fixed in 5ff9216
claude-review#2 minor PR-1 trials/P-30.json:5 P-30's stand-in for every other identity's refusal rests on 'the admin role is the Maintainer's own login', which no exchange records fixed in 5ff9216
claude-review#3 info none tools/mutants.py:2659 A comment still calls P-30 the one trial that records the Factory's own repo fixed in 5ff9216
claude-review#4 info none trials/AGENTS.md:14 The rules row now says 'its own repo' where it meant the Factory's repo, and drops decision 0113 fixed in 5ff9216
claude-review#5 info none trials/P-63.json:5 P-63's row and pass condition were written after the run, and fitted to it, against the skill's step 1 fixed in 5ff9216: record 0173 states the conditions came after the runs, and sets step 1 aside for these two alone
claude-security#1 info none trials/P-30.json:5 P-30's pass says the admin role is the Maintainer's login alone, but no exchange records who holds that role fixed in 5ff9216

🤖 Generated with Claude Code

don-petry and others added 4 commits November 8, 2026 21:10
… the tag ruleset (#189)

trials/P-30.json, from release runs 42348605675 (the cut of factory/v0.1.0 and the
move of factory/v0-next) and 42348650504 (the re-cut, refused), read again through the
Maintainer's login. The Deployment the cut recorded names combsmith-sf-release[bot] as
its creator. A live read of tag ruleset 25183656's bypass list names the admin role and
App 5502359 alone, and stands in for each other identity's refusal; no other identity's
refusal was exercised, as the pass condition says. Decision 0114 is why the App and not
the poller's job token.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t by hashes, and its environment admits main alone (#309, record 0171)

trials/P-63.json, from eval run 42347416962, the gate's run for v0.1.0: its run, jobs
and artifact, the report's commit, set and each case by id and sha256 alone, and a live
read of factory-eval's deployment branches (main, no admin bypass), which stands in for a
dispatch from another branch refused. A new section-6 row asks it; TRIALS_OF_THE_FACTORY
names it beside P-30, with a test and a mutant; record 0171 amends 0113's "P-30 alone".
The record number is provisional until the enqueue.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd record 0171 says the conditions came after the runs

From the reviews of 836f22d: the claim that the admin role is the Maintainer's login
alone is now an exchange of its own (don-petry alone); P-30's row in section 6 gives its
result as the other rows do; record 0171 states that each pass condition was written
after the Release's runs, setting aside the skill's step 1 for these two fixtures alone;
and two notes name P-63 and decision 0113 where they should.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tays provisional until the enqueue

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@don-petry
don-petry requested a review from a team as a code owner November 9, 2026 04:21
@coderabbitai

coderabbitai Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-09T04:21:21.724150Z
We couldn’t complete this review. Comment @codex review to try again.
89e43cc PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

don-petry and others added 2 commits November 8, 2026 22:36
@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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