Repair UCNS exact inputs, evidence gates, and source distributions - #226
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 87765a6516
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2a844e30d2
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a42db1bcf8
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4f480d3f55
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0580677b66
ℹ️ 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".
|
@codex review Please review exact head |
There was a problem hiding this comment.
💡 Codex Review
ucns/tools/run_skill_lib_boundaries.py
Lines 228 to 230 in c5cdef8
When a CHECKS entry omits requires, the contract audit accepts it and this default silently converts the missing declaration into an empty capability set; I reproduced the runner issuing a passed receipt with requires: (). Because capability availability is part of the receipt’s execution boundary, require the field—using an explicit value such as none when appropriate—instead of treating absent evidence as no prerequisites.
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e0d0647ae0
ℹ️ 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".
|
@codex review Please review exact head An additional class-binding ambiguity is repaired: local test classes and their bases must have unambiguous bindings, so a later replacement of a base cannot hide an imported init_subclass injector. Regressions cover both base replacement and duplicate test-class declarations. All eight affected tests pass. The contract graph, build, Twine and exact archive gate pass. CI for this exact head passed all 156 tests on both Python 3.10 and 3.12 through the complete-outcome gate. No geometry or publication standing changes. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 949495bb62
ℹ️ 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".
|
@codex review Please review exact head Receipt snapshots now hash every file under the declared source directories, excluding pycache, without a suffix allowlist. A real check reading tests/witness.txt passes for both one and two while the two runs now have different source digests and explicit fixture hashes. Extensionless fixture inputs are covered in every bound directory. The source archive manifest and exact distribution gate now retain the complete package/test/tool/docs/generated/skill/CI trees and reject missing or altered text and extensionless fixtures. The README states the directory and root-input boundary explicitly. All ten affected tests pass. Graph, canonical ratio checks for all six changed Python files, build, Twine and exact archive checks pass. Full 156-test CI is running on Python 3.10 and 3.12 for this head. No geometry or publication standing changes. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7b8abe16cb
ℹ️ 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".
|
@codex review Please review exact head The graph now audits every Python helper under tests, including filenames pytest does not collect. The runtime observer independently compares the actual test function code with the code compiled from its declared source, using the pinned pytest assertion rewriter, before and after each call. The reproduced frame-walking helper is rejected by the graph when placed under tests; when placed outside that static helper audit, its replacement with matching name/module is rejected by the runtime witness gate. This remains a trusted-check execution observer, not a hostile-Python sandbox. Bound source entries reject file and directory symlinks, including bound directory ancestors and root inputs. Source distribution inventory applies the same fail-closed link boundary. Wheel and tar directory entries must have zero payload size; regressions cover nonempty otherwise-implied directories in both formats. The 22 affected tests are covered by the full targeted run and final focused reruns. The initial new replacement regression had the wrong expected receipt spelling (failed versus the existing not-passed schema); that assertion was corrected and the final three affected tests pass. The final archive-specific regression passes separately. Contract graph, strict nine-skill canonical drift, all six changed Python ratio checks, build, Twine and exact archive checks pass. Full 156-test CI is running on Python 3.10 and 3.12 for this head. No geometry or publication standing changes. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4b08f33130
ℹ️ 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".
|
@codex review Please review exact head The witness gate resolves the test function through pytest item/class metadata; parameter IDs containing Initial snapshot failures emit an audit-gap receipt. Post-check and subsequent snapshot failures become ERROR outcomes and structured snapshot errors, preserving source-write observations and accounting for every selected check. The new-symlink regression produces a not-passed receipt rather than aborting. All 21 affected tests pass. The final poisoned-cache regression passes both directly and as an explicitly selected public check. Contract graph, all five changed Python ratio checks, build, Twine and exact archive checks pass. Full 156-test CI is running on Python 3.10 and 3.12. Geometry standing is unchanged. |
|
@codex review Please review current exact head Both Python 3.10 and 3.12 CI jobs at 08ee40b passed all 156 tests. The archived-source preflight then observed the nested nonactivation witness hit its old 10-second cap under cold source compilation. With the explicit 30-second budget, the same public witness passes in 9.91 seconds with unchanged source and no snapshot errors. No assertions or timeout enforcement were weakened; the witness performs multiple nested runner startups. Current-head CI is running. All three preceding review findings remain repaired as documented in the prior review request: parameter IDs use pytest item metadata, stale bytecode cannot replace inventoried source, and snapshot failures yield failed receipts with all selected outcomes accounted for. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d0c13d5eb4
ℹ️ 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".
|
@codex review Please review exact head The no-exec graph rejects imports of repository-root helpers outside the declared source layout, including namespace packages. The full-suite gate separately derives its required top-level test witnesses from static source before pytest starts and requires each to reach a call outcome. A helper hiding a failing test with test = False cannot leave a green suite. A test that removes a later failing item during execution is rejected too. The regression verifies graph rejection for both root helper files and namespace packages, actual full-suite rejection of the reported hidden witness, and rejection of a witness removed after collection. The earlier code-replacement regression still exercises the lower-level runtime gate explicitly after graph rejection. Nine affected tests pass; the final two affected tests also pass with the added namespace and mid-run removal cases. Graph, all three changed Python ratio checks, build, Twine and exact archives pass. Full 156-test CI is running at this head. Prior d0c13d5 passed all 156 on Python 3.10 and 3.12. This remains a bounded trusted-check evidence protocol. No geometry or publication standing changes. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5c01f81094
ℹ️ 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".
|
@codex review Please review exact head Observer retains the actual collected pytest item objects and counts call-phase reports per item identity. Both the full-suite gate and selected-check bootstrap reconcile those counts; deleting a later failing parameter invocation cannot be hidden by an earlier passing invocation of the same function. The static function inventory remains in place for witnesses hidden before collection. Missing item execution emits an ERROR receipt with a diagnostic, while actual skips retain SKIP classification. The regression uses parameter IDs including a::b, removes the assertion-failing second item, and proves rejection through both run_suite and the public selected-check runner. A separate marked-skip regression covers setup-phase skipping. All 14 boundary tests were exercised; the initial added fixture hit its old five-second cold-start budget, and the final four affected tests pass after the fixture budgets and diagnostics were corrected. Three changed Python ratio checks, graph, build, Twine and exact archive gates pass. Full 156-test CI is running at this head. The real archived-source Python 3.10 wheel replay passed 156 tests. Its source-install replay had one import-origin fixture failure; an isolated rerun with full receipt capture passed both ordinary-child/source and poisoned-cache cases. The import/child fixtures now have 15-second declared budgets and full JSON failure diagnostics, with 30/90-second outer budgets for multi-startup witnesses. The dedicated timeout-enforcement regression retains its explicit one-second timeout and elapsed-time assertion. Final artifact-chain acceptance remains pending the current-source matrix. |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
UCNS could accept mutable or inexact evidence inputs, declare test coverage without a resolving executable witness, and build archives that could not reproduce the source checks. These repairs preserve valid geometry while failing closed on those gaps.
Exact input admission rejects Boolean/float substitutions, mutable records, and unordered NaN evidence. The no-exec contract graph reconciles the pinned canonical Python and TypeScript parser witnesses and a bounded pytest declaration format. Selected-check receipts use actual pytest outcomes, bound imports and source snapshots, observed source writes, and supervised descendant lifetimes. Skips, empty evidence, source changes, unsupported collection hooks, descriptors, and fixture-only CHECKS targets cannot establish a passing receipt.
CI requires nonempty, fully passing actual outcomes, including collection outcomes; skip, xfail, and XPASS cannot leave the suite gate green. Collection uses an explicit supported configuration with imported-test discovery disabled. All test helpers receive the collection-surface audit; the runtime observer compares actual test code with its declared source before and after execution. The full-suite gate requires every statically declared test to reach a call outcome; root helper imports outside the declared source layout fail the audit. Full and selected execution reconcile every collected parameter item with its call outcome. Bound imports compile inventoried source instead of stale bytecode caches; snapshot failures emit ERROR receipts with all selected checks accounted for.
Wheel and source archives are checked against exact source inputs, metadata, license bytes, directory hierarchy, empty directory payloads, and usable permissions. Bound source inventories reject symlinks. The source archive includes the full test, declaration, replay, fixture, and CI input trees. Receipt inventories cover every file in the declared source directories, including text and extensionless inputs; declared test-function bindings must be unique. This maintenance PR does not publish a release or ratify geometry; unresolved geometric questions remain hmmm.
Validation at
13c212e93e2868c41814695e28c2572f4c90c55f: all 156 tests pass on Python 3.10 and 3.12. The CI merge commit has the exact same source tree as this head. CodeQL, contract graph, strict nine-skill drift, build, Twine and exact archive checks pass. Final regressions cover hidden functions, removed parameter invocations, skip classification, bound imports and cold-start budgets. All five selected checks also pass from the updated evidence branch's actual source archive with unchanged source and no snapshot errors. Exact-commit review is clean; every reported finding is repaired and resolved.