N1.3 — close local verification and preference gaps - #147
Conversation
59e3043 to
0285336
Compare
0285336 to
13f2650
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 13f2650669
ℹ️ 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".
13f2650 to
a8f8025
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a8f802589c
ℹ️ 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".
a8f8025 to
be7a33a
Compare
be7a33a to
5d1110b
Compare
5d1110b to
2f19a16
Compare
2f19a16 to
8beddf1
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8beddf1810
ℹ️ 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".
8beddf1 to
da64746
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: da647466df
ℹ️ 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".
da64746 to
ffd62f7
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ffd62f7472
ℹ️ 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".
ffd62f7 to
7e94450
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7e9445037a
ℹ️ 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".
7e94450 to
4e9e906
Compare
4e9e906 to
c3a3dbf
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c3a3dbfa05
ℹ️ 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".
c3a3dbf to
0f8955c
Compare
0f8955c to
a17bee7
Compare
a17bee7 to
863b1b0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 863b1b04db
ℹ️ 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".
863b1b0 to
ac14f7d
Compare
ac14f7d to
6314179
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6314179a79
ℹ️ 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".
6314179 to
722c7d3
Compare
Keep the deny-unknown-fields v1 label file byte-compatible with the prior reader by persisting sort preference in its own versioned file. Red proof: the old v1 reader rejected the shared-file writer with unknown field 'sort' (exit 101). Mutation proof: forcing both stores back to client-group-labels-v1.json reproduced the same rollback failure (exit 101). Green proof: all 8 client_groups tests pass, including the explicit old-contract rollback check (exit 0); cargo fmt --check exits 0.
Carry forward the N1.3 workflow and command surface while retaining the F2X runtime digest. Claims, evidence, and trusted keys remain byte-identical to the preserved N1.3 head.
Carry the N1.3 workflow and command surface over the F4X BILLREF presentation disclosure. Claims, evidence, and trusted-evidence keys remain byte-identical to the preserved N1.3 head. Compatibility gate: exit 0, unknown_claims=11, evidenced_claims=0. Claims/evidence/trusted identity checks: exit 0.
Use Windows replace-existing semantics for atomic local preference updates, preserve a sort chosen before the persisted preference returns, and exclude git-ignored fixture trees through one NUL-delimited check-ignore batch with normalized paths.Red before fix: the late-sort contract was missing (exit 1), and the ignored fixture test was rejected as an unexpected directory (1/2 failed; exit 1). Mutation proof: disabling replacement caused both repeated label and sort writes to fail (exit 101); always applying the late load failed the chosen-sort assertion (5/6 passed; exit 1).Verified: fixture tests 2/2, client grouping tests 6/6, fixture gate sealed 46 files, Impeccable detector clean, pnpm TypeScript/Vite build, client_groups tests 9/9, and cargo check --locked --workspace, exit 0. Windows host execution was not available locally; the new cfg(windows) API path remains for hosted Windows verification.
Carry the h2 0.4.16 master dependency surface through the N13 stack level. Claims, evidence, and trusted keys are unchanged. Compatibility gate: exit 0, unknown_claims=11, evidenced_claims=0.
722c7d3 to
9a453fc
Compare
Stacked on
tapish-codex/n1-mutation-document-boundaries— review only this PR's own diff.Local gate green at this level: workspace tests and clippy in both feature configurations, fmt, tools tests, live-read boundary, fixture byte integrity, licence inventory, tsc, production build, and the workflow-consistency gate.
CI is NOT proven: the GitHub-hosted Windows and bundle-smoke jobs have never run, and one read-transport harness test fails deterministically on macOS with an unknown ubuntu outcome.