Skip to content

Freeze the V3 targeted confirmation protocol - #3527

Open
joshlf wants to merge 1 commit into
Gcbutfa3xssppp2tjpxo2fjo6kguufo6tfrom
G5k3oylk4nmllritz5hdpiksvqbp24ffs
Open

Freeze the V3 targeted confirmation protocol#3527
joshlf wants to merge 1 commit into
Gcbutfa3xssppp2tjpxo2fjo6kguufo6tfrom
G5k3oylk4nmllritz5hdpiksvqbp24ffs

Conversation

@joshlf

@joshlf joshlf commented Aug 3, 2026

Copy link
Copy Markdown
Member

Freeze a blind 80-report evaluation of V3 against V2 after independent review
and preregistration refinement: eight modes, two conditions, and five fresh
replicates per cell. Seal condition maps, prompts, fixtures, frozen skill
packages, rubrics, allowed authority, expected atoms, and report and scoring
schemas before generation begins.

Exercise symbolic release domains, nonlinear policy composition,
configuration products, existential unsoundness certificates,
whole-execution behavioral claims, positive multi-version proofs,
abstraction-design firewalls, and regression breadth. Require V3 to pass every
required atom in every replicate with zero hard errors, authority defects,
proposal laundering, semantic noncompletion, and scope or budget failures.

Add an append-only event ledger and explicit attempt lifecycle so generation,
validation, retries, blind scoring, adjudication, and unblinding remain
auditable. At freeze time the report count is zero, so later results cannot
have influenced the protocol or success criteria.


Latest Update: v5 — Compare vs v4

📚 Full Patch History

Links show the diff between the row version and the column version.

Version v4 v3 v2 v1 Base
v5 vs v4 vs v3 vs v2 vs v1 vs Base
v4 vs v3 vs v2 vs v1 vs Base
v3 vs v2 vs v1 vs Base
v2 vs v1 vs Base
v1 vs Base
⬇️ Download this PR

Branch

git fetch origin refs/heads/G5k3oylk4nmllritz5hdpiksvqbp24ffs && git checkout -b pr-G5k3oylk4nmllritz5hdpiksvqbp24ffs FETCH_HEAD

Checkout

git fetch origin refs/heads/G5k3oylk4nmllritz5hdpiksvqbp24ffs && git checkout FETCH_HEAD

Cherry Pick

git fetch origin refs/heads/G5k3oylk4nmllritz5hdpiksvqbp24ffs && git cherry-pick FETCH_HEAD

Pull

git pull origin refs/heads/G5k3oylk4nmllritz5hdpiksvqbp24ffs

Stacked PRs enabled by GHerrit.

@codecov-commenter

codecov-commenter commented Aug 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.85%. Comparing base (b87ebc8) to head (92001a9).

Additional details and impacted files
@@                        Coverage Diff                         @@
##           Gcbutfa3xssppp2tjpxo2fjo6kguufo6t    #3527   +/-   ##
==================================================================
  Coverage                              91.85%   91.85%           
==================================================================
  Files                                     20       20           
  Lines                                   6093     6093           
==================================================================
  Hits                                    5597     5597           
  Misses                                   496      496           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6880d2b469

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

PACKAGES = {
"v3": {
"path": "frozen-packages/668f70202c7bc8f23f7f894fb784a9629fd292c7f6fe69ede815b0e4c10137bf",
"tree": "668f70202c7bc8f23f7f894fb784a9629fd292c7f6fe69ede815b0e4c10137bf",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Replace the mismatched V3 tree digest

The frozen digest does not match the committed package under the protocol's own tar_tree_digest algorithm: GNU tar 1.35 produces 2d851278495f916b1fcbc147a9c3c1c24f80387480b1067a56ed59a1c032b1e3, not 668f7020.... Consequently, protocol.py verify-static --locked, self-test, and every operational command that calls validate_static() stop immediately with ValueError: v3 package digest mismatch, so collection cannot begin. Regenerate the frozen tree identities using the committed digest implementation (and verify the V2 and target constants, which are checked the same way) before locking the run.

Useful? React with 👍 / 👎.

Comment on lines +2543 to +2544
if tar_tree_digest(packet / "target") != target_row["tree_sha256"]:
raise ValueError(f"adjudication target lost frozen identity: {mode}")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Normalize target modes before checking adjudication copies

When a mode has any scorer disagreement, the source scoring packet has already passed through make_read_only, so its target files and directories have modes 0444/0555; shutil.copytree preserves those modes here. Because tar_tree_digest includes permission bits while target_row["tree_sha256"] identifies the original 0644/0755 fixture, this comparison fails even after the frozen digest constants are corrected, and no required adjudication packet can be built. Normalize the copied modes before this check or use the mode-independent byte-tree identity already recorded for packets.

Useful? React with 👍 / 👎.

Comment on lines +23 to +24
"decision": {
"enum": ["PASS", "FAIL", "PRESENT", "ABSENT"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restrict adjudication decisions by field type

For an adjudication containing non-atom disagreements, this supplied schema accepts all four decision strings for every field, while validate_adjudication() accepts PASS/FAIL only for atom:* and PRESENT/ABSENT for every other field. An adjudicator can therefore emit a schema-conforming result such as {"field":"hard_error:G1","decision":"PASS"}, only for record-adjudication to reject it; under the frozen rerun policy that output is non-rerunnable and invalidates the entire run. Encode the field-dependent decision vocabulary in the schema so the evaluator-facing contract matches the recorder.

Useful? React with 👍 / 👎.

@joshlf
joshlf force-pushed the G5k3oylk4nmllritz5hdpiksvqbp24ffs branch from 6880d2b to a16f872 Compare August 29, 2026 10:42
@joshlf
joshlf force-pushed the Gd5c25nyjtgu5tav2bs53xvoz525b6kpe branch from 34363db to 1cfd581 Compare August 29, 2026 10:42
Freeze a blind 80-report evaluation of V3 against V2 after independent review
and preregistration refinement: eight modes, two conditions, and five fresh
replicates per cell. Seal condition maps, prompts, fixtures, frozen skill
packages, rubrics, allowed authority, expected atoms, and report and scoring
schemas before generation begins.

Exercise symbolic release domains, nonlinear policy composition,
configuration products, existential unsoundness certificates,
whole-execution behavioral claims, positive multi-version proofs,
abstraction-design firewalls, and regression breadth. Require V3 to pass every
required atom in every replicate with zero hard errors, authority defects,
proposal laundering, semantic noncompletion, and scope or budget failures.

Add an append-only event ledger and explicit attempt lifecycle so generation,
validation, retries, blind scoring, adjudication, and unblinding remain
auditable. At freeze time the report count is zero, so later results cannot
have influenced the protocol or success criteria.

gherrit-pr-id: G5k3oylk4nmllritz5hdpiksvqbp24ffs
@joshlf
joshlf force-pushed the G5k3oylk4nmllritz5hdpiksvqbp24ffs branch from a16f872 to 92001a9 Compare August 29, 2026 11:11
@joshlf
joshlf changed the base branch from Gd5c25nyjtgu5tav2bs53xvoz525b6kpe to Gcbutfa3xssppp2tjpxo2fjo6kguufo6t August 29, 2026 11:11
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