Skip to content

test: separate Linux attribution causes and guard-gap models - #157

Merged
abruption merged 8 commits into
mainfrom
work/047-126-gates
Oct 18, 2026
Merged

abruption merged 8 commits into
mainfrom
work/047-126-gates

Conversation

@abruption

@abruption abruption commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Validation-count clarification

For integrating-root macOS checks that explicitly used the case-sensitive Kingston temporary filesystem, the existing case-variant lease test skips in addition to three Linux-only tests: 269 total, 265 passed, four skipped, zero failures. Earlier 266/3 summaries for those particular root runs were transcription errors. The old per-run TAP was not retained; the correction follows the source skip condition and preserved filesystem/path evidence. Earlier default-temp case-insensitive runs may legitimately report 266/3. Focused research/Ubuntu counts and the successful current-head merge gates are unaffected. A documentation correction is being prepared separately; no assertion or skip condition is changed.

Final research integration gate

At ea724d3ef8e6ba45be914293f70be5bbe7d460fd, all 41 checks passed, including the Ubuntu research suite, and both current-head Code/Security reviews completed without findings. All public review threads are resolved. Main at a2d9945 is green. Only research fixtures/models and their validation workflow are integrated; #126/#127, Windows W1–W7 and Draft #137 remain separate open gates.

The user authorized this research-only merge and preparation of a Release Please v0.4.7 PR. The final squash commit requests that version; the release PR itself must remain open for human approval. No tag, release or npm publication is authorized by this step.

Latest complete input/evidence identity (ea724d3)

The 080f0d9 fingerprint finding is fixed with canonical interpreter-inclusive schema codex-unlock-g1-input-identity/2; Node/Python byte changes now affect the combined hash. Invalid hash records refuse, the helper is included in source inputs, and historical files-only hashes are not relabeled. A parallel read-only self-audit also found contradictory claimed-success payloads; the protocol now checks only the exposed fields for self-consistency, while preserving typed refusals and all NO-GO boundaries. G2/model review found no additional high-confidence defect.

Root validation: all five repository checks passed (266 tests passed, three Linux skips), focused tests 68 passed/three Linux skips, plus diff checks. No new Linux G1/native Codex run is claimed. Current-head CI and Code/Security review are pending; earlier 64/64 Ubuntu results below belong to their named older heads. Public CLI JSON v1, runtime code, dependencies and policy are unchanged; only the unpublished research fingerprint gets an explicit schema version.

Latest dependency-trigger correction (080f0d9)

The research workflow now reruns for package.json/package-lock.json changes. YAML AST trigger-set verification and all five repository checks passed (266 tests passed, three Linux skips), plus 61 focused tests/three Linux skips and whitespace checks. Only two path-filter lines changed from b19b3a0. The prior 64/64 Ubuntu run is recorded at b19b3a0; current-head CI and Code/Security rereview are pending, not inherited. No runtime, dependency, permission, policy or publication change.

Latest unpatched-baseline correction (b19b3a0)

The c7ce2e4 review finding is fixed: all G1 build-code consumers require a verified, exact-pin build with an explicit patch.applied===false. A valid correct-pin patched artifact is rejected before import/evaluation. Generic F2 patch support remains intact. Five repository checks passed again (266 pass, three Linux skips), combined focused tests 61 pass/three Linux skips, plus all five pure argv cases against the same unpatched manifest. Current-head CI and Code/Security rereview are pending; the earlier Ubuntu 62/62 result belongs to c7ce2e4, not this new head. Research-only/NO-GO and no-publication boundaries remain unchanged.

Current main-based integration (c7ce2e4)

Dependency #139 merged as a2d9945 and its main CI is green. This PR is now rebased/retargeted to main; it no longer relies on the former stacked branch's two-check result or ambiguous 5e8c4f review summary. Current-head full repository CI and Code/Security review are pending.

The runner/Node-holder dependency base, inspection child and argv checker now consume independent verified private runtime copies via the shared snapshot helper. Exact source pin and startup-manifest fields, strict G1 probes/refusals, conservative original-input drift checks, and NO-GO remain unchanged. Input hashing includes the added helpers, and only RESEARCH_TMP_ROOT is additionally forwarded. Copies isolate later input mutation, not malicious same-UID tampering; dependency JS is copied, not authenticated by the original manifest.

Root validation: npm ci/check/lint/test (266 pass, three Linux skips)/smoke:package and diff checks passed; combined focused tests 59 pass, three Linux-only skips. A whole-tree comparison confirmed the rebase did not alter the tested bytes. Snapshot-based pure argv checking matched all five cases and exited 0 against unpatched b483cd5 (manifest 15ffaada53a40b8dc77dc81bed4f7f0433bc05bfc5730e103269b32b996138a0). No new Linux G1/native Codex run is claimed. Research CI installs existing dev dependencies without lifecycle scripts and runs G1 plus shared pure build/snapshot tests; the US procedure now includes package-lock and that prerequisite. YAML parses.

The user authorizes sequential research merging only after normal current-head checks/reviews, followed by a Release Please v0.4.7 preparation PR. No product activation, policy relaxation, tag, release or package publication occurs here. #126 and Draft/NO-GO #137 remain open. Historical measurements and independent-model reviews below keep their original source/metadata limits.

Summary

Separate Linux positive-control failures into executable/argv identity, opener visibility and owner lock-set availability, using four synthetic holder variants and a verified #137 build. Collection, source predictions, positive controls and counted permission refusals have separate results; missing stages, build drift, lifecycle faults or incomplete coverage cannot pass a control.

Add strict guard-gap models and counterexamples. The proposed /proc/locks sandwich remains consistent_unproven: a same-acquirer description transfer can satisfy its samples without proving candidate participation during the guard. Filesystem stalls, evidence age and shared descriptions remain open gates.

Add focused Linux research CI. Refs #126; depends on #139. Stacked on research/126-guard-liveness; no product implementation or policy change is included.

Validation

  • npm ci, check, lint, test (263 pass / 3 Linux skips), package smoke and staged diff check passed locally. Research tests: 34 pass / 3 Linux skips on macOS.
  • Approved US Linux host: all 37 research tests passed without skips; source-derived argv checks passed; the pinned unpatched fix: prototype Linux descriptor-level flock attribution #137 build was used.
  • Revised nominal run exited 0 with complete collection and matching predictions. All positive controls and counted refusals remained false on the mount-warning host. Raw SHA-256: 03df43dd9948d81f8e359f33d8e82b4e477c8ac0d6fa03cde5a0d700058de9b0.
  • stall:identity_direct exited 1 as expected, recorded two incomplete inspections and promoted no control/refusal. Raw SHA-256: d451e31974538e234d5a089e8f1aa98112dac128188fc629f29c160bfc40bcd3.
  • The first nominal run exposed an omitted downstream availability cause: fix: prototype Linux descriptor-level flock attribution #137 returns an empty owner lock set on lookup error, which also produces owner_holds_other_thread_locks. The revised harness records that empty set and distinguishes availability from evidence of another lock; a nonempty-set counterexample remains unexplained. The initial failed observation is retained in the README.
  • Independent read-only CLI review of the frozen handoff: Claude Code 2.1.302 (claude-opus-5-5 verified from metadata), Codex CLI 0.163.0 isolated default (actual model unreported), same input SHA-256 fb276a266b10a3e29a84dde45e0f799739f0b04dec2c303eacbf038cb45cf829. Both completed. Root then corrected denial-condition consistency, final lifecycle/build gating, selection coverage, JSON stdout and cause recording, and validated the resulting revision. Earlier CLI source reviews do not constitute Linux execution evidence.

Limits

Every holder is synthetic. Native Codex argv/dumpability, positive-control availability on a clean host, safe release and guard-liveness policy remain unresolved. G4 remains no-go; no forced termination or eligibility expansion is added. experimental/ is excluded from npm artifacts. No merge or release is requested.

Latest-head review follow-up

At 5e8c4fa, the four prior findings are implemented: BUILD is initialized before use; E5 includes the owner-lockset availability cause; R2 documents the typed acquired-guard unknown case without relaxing independent H0; and the exact pinned full source commit is enforced before product evaluation/import. Each old thread now has a source-specific reply and is resolved.

Current Linux research CI ran 38 tests / 38 pass / 0 skips, including the later pinned-source rejection test. This is separate from the earlier 37-test US nominal/stall measurements above. PR checks are 2/2 (focused research CI plus GitGuardian), not full main integration. Latest-head Code/Security rereview has been requested through a Ready event; completion must be verified separately. The #139 dependency and product no-go limits remain unchanged.

@abruption abruption added this to the v0.4.7 milestone Oct 18, 2026
@abruption
abruption marked this pull request as ready for review October 18, 2026 03:49
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

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

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T11:00:54.405738Z ea724d3 Draft marked ready
🔒 Security Review ✅ Completed 2026-10-18T11:00:54.512541Z ea724d3 Draft marked ready
ℹ️ 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.

@abruption
abruption marked this pull request as draft October 18, 2026 04:02
@abruption
abruption marked this pull request as ready for review October 18, 2026 04:02

@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: d33575ca3f

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

Comment thread experimental/126-linux-gates/README.md
Comment thread experimental/126-linux-gates/README.md Outdated
Comment thread experimental/126-linux-gates/README.md
Comment thread experimental/126-linux-gates/g1-identity-visibility/run.mjs
@abruption
abruption marked this pull request as draft October 18, 2026 08:12
@abruption
abruption marked this pull request as ready for review October 18, 2026 08:12
@abruption
abruption force-pushed the research/126-guard-liveness branch from 0da8c6e to 2777b53 Compare October 18, 2026 09:38
Base automatically changed from research/126-guard-liveness to main October 18, 2026 10:19
@abruption
abruption marked this pull request as draft October 18, 2026 10:24
@abruption
abruption marked this pull request as ready for review October 18, 2026 10:24

@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: c7ce2e41fb

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

Comment thread experimental/126-linux-gates/g1-identity-visibility/variants.mjs
@abruption
abruption marked this pull request as draft October 18, 2026 10:35
@abruption
abruption marked this pull request as ready for review October 18, 2026 10:35

@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: b19b3a0ec7

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

Comment thread .github/workflows/linux-gates-research.yml
@abruption
abruption marked this pull request as draft October 18, 2026 10:43
@abruption
abruption marked this pull request as ready for review October 18, 2026 10:43

@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: 080f0d938b

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

Comment thread experimental/126-linux-gates/g1-identity-visibility/run.mjs Outdated
@abruption
abruption marked this pull request as draft October 18, 2026 10:57
@abruption
abruption marked this pull request as ready for review October 18, 2026 10:57
@abruption
abruption merged commit acb1edb into main Oct 18, 2026
41 checks passed
@abruption
abruption deleted the work/047-126-gates branch October 18, 2026 11:01
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