Skip to content

Freeze the V3 targeted confirmation protocol - #3527

Open
joshlf wants to merge 1 commit into
Gd5c25nyjtgu5tav2bs53xvoz525b6kpefrom
G5k3oylk4nmllritz5hdpiksvqbp24ffs
Open

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

Conversation

@joshlf

@joshlf joshlf commented Aug 3, 2026

Copy link
Copy Markdown
Member

Freeze a blind 80-report evaluation of V3 against V2: 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.

Retain mode-level analysis for 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 candidate V3 to
pass every required atom in every replicate and produce zero hard errors, TCB
or 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. Record the independent package and protocol reviews. At freeze time
the report count is zero, so later results cannot have influenced the question
or success criteria.


Latest Update: v2 — Compare vs v1

📚 Full Patch History

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

Version v1 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.

Freeze a blind 80-report evaluation of V3 against V2: 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.

Retain mode-level analysis for 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 candidate V3 to
pass every required atom in every replicate and produce zero hard errors, TCB
or 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. Record the independent package and protocol reviews. At freeze time
the report count is zero, so later results cannot have influenced the question
or success criteria.

gherrit-pr-id: G5k3oylk4nmllritz5hdpiksvqbp24ffs
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.85%. Comparing base (34363db) to head (6880d2b).

Additional details and impacted files
@@                        Coverage Diff                         @@
##           Gd5c25nyjtgu5tav2bs53xvoz525b6kpe    #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 👍 / 👎.

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