Skip to content

Claude/new session th4e9w k9 - #227

Closed
hyperpolymath wants to merge 58 commits into
mainfrom
claude/new-session-th4e9w-k9
Closed

hyperpolymath wants to merge 58 commits into
mainfrom
claude/new-session-th4e9w-k9

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Closes #

Type of change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (would change existing behaviour)
  • 🕳️ Soundness fix (fixes a checker/proof false-negative)
  • 📖 Documentation
  • 🧹 Refactor / tech debt (behaviour-preserving)
  • ⚡ Performance
  • 🔧 Build / CI / tooling

How has this been verified?

Checklist

  • My commits are signed (git commit -S).
  • I ran the project's own checks/tests locally and they pass.
  • New files carry the correct SPDX-License-Identifier (code/config MPL-2.0,
    prose CC-BY-SA-4.0); I did not relicense existing files.
  • Docs are updated, and no public claim now overstates what the code does.
  • I have not introduced a soundness hole (or I have flagged where I might have).

Notes for reviewers

claude and others added 21 commits October 19, 2026 16:54
…commit

02cb101e was v1 when it was pinned; v1 now points at 683b588c and no tag
names 02cb101e any more. Callers of this reusable (echidna security-scan)
must lock it, and the estate repair chain (close-lock) records a leaf SHA
only through a tag, so the old pin left them unlockable and failing at
startup. The lock is regenerated in the next commit by the repair chain.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…s pins

Generated in CI with a real token by the estate repair chain
(relock-sha-keys, complete-job-refs, close-lock, prune-stale; standards
333b06a0), never by hand: this session cannot reach the action repos
through the API. check-lock-sync passed and the governance gate at
333b06a0 returned 0. Applied from the run's diff; the result matches
its LOCK-SHA256 8bacccdbeedc6b8e4b799ecbfe6246e7ab09472a608cd729ed5bdcc383186c22.

Beyond the scan-and-report rust-toolchain pin, the lock had drifted from
the workflow YAML (checkout v7.0.1, cache v6.1.0 and others already in
the workflows but locked at older versions) and had no
hyperpolymath/standards records, which is why boj-build, casket-pages,
chapel-ci and dogfood-gate died at startup on main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
… full regen

The callers were on 84355587 and fad242d3. 84355587's rust-ci reusable
pins dtolnay/rust-toolchain@6c977a6c ('stable' branch, no tag), which the
repair chain cannot lock. 333b06a0 is current standards main. The
scorecard job's own permissions block now grants actions: read, which the
333b06a0 reusable requests. actions.lock goes back to main's version so
the next commit regenerates it from a clean base (the previous attempt
left two spellings of Swatinem/rust-cache that gh actions-lock rejects).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…nd release

Each 'Install Rust toolchain' step had a stray 'with: toolchain: v1'
before its real 'with:' block. GitHub rejects a workflow with duplicate
keys before creating any job, so all three workflows were dead; the
governance duplicate-key check fails on them. 'v1' is not a toolchain;
the second block (stable, plus llvm-tools-preview for coverage) is the
intended one and is kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
Whitespace-only; rust-ci's fmt step never ran on main because the
workflow failed at startup on the lockfile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…repair chain

Built in CI by gh actions-lock v0.2.0 followed by the standards repair
chain at 333b06a0 (relock-sha-keys, complete-job-refs, close-lock,
prune-stale), starting from no lock: main's lock pins dtolnay/rust-toolchain@v1
at a commit the tag no longer names, which gh actions-lock rejects as a
conflicting target. check-lock-sync and check-actions-lock-gate.sh pass;
sha256 83a024a8b1293502f931da414fdd755710816dc8b8ea76df07dcb120b41e7115.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
'v1' is the action's tag, not a rustup toolchain; rustup rejects it
('invalid toolchain name: v1'). Same fix the cargo-audit, coverage and
release workflows already carry. Surfaced now that these workflows start.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
The @v1 tag has no default toolchain; without the input the action runs
'rustup toolchain install' with an empty name and fails (readiness,
bench, e2e-pipeline, chapel-rust-diff). Surfaced now that these
workflows start.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
main.rs re-declared every module with `mod x;`, so the binary compiled
its own private copy of the whole tree. Items used only through the
library API (proven_tests, jit_context, comment_marker, ffi_kind) were
then dead code inside the binary, which clippy -D warnings rejects.
The binary now imports those modules from panic_attack; only the
bin-only modules (diagnostics, groove, kin) stay as `mod`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
- drop redundant borrows in format! args (storage)
- split on a char array instead of a closure (safe_path)
- rfind / find / and_then instead of filter+last, filter+next, map+flatten
- egui Panel/CentralPanel::show_inside -> show (a pure rename in 0.36)
- is_safe_char / all_chars_safe are proptest-only helpers: #[cfg(test)]
- ProvenTestsReport::from_str becomes a real FromStr impl
- qualify anyhow! inside the sarif-gated parser so the import is not
  unused without the feature

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
docs/ambush-timeline.md and docs/panll-export.md were converted to .adoc
(estate docs policy) but the self-diagnostics check still demanded the
.md files, so `panic-attack diagnostics` exited non-zero and both
diagnostics readiness tests failed. Point the check, README.adoc and the
bridge module docs at the .adoc files that exist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…istener, wayland-scanner

Lockfile-only, semver-compatible updates clearing RUSTSEC-2026-0204
(crossbeam-epoch), -0346/0347/0348/0349 (rustls 0.23.46), -0257
(webbrowser), the event-listener and memmap2 unsound notices, and moving
wayland-scanner onto quick-xml 0.41. quick-xml 0.38 remains only via
zbus_xml 5 under accesskit (eframe's GUI feature); no released accesskit
or atspi-common moves off it yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
mirror-reusable declares seven optional mirror keys; secret-scanner-reusable
declares none and its header says callers pass no secrets: line. Replace
secrets: inherit with the explicit mapping (mirror) and nothing (scanner)
so unrelated repo/org secrets are not forwarded. Flagged by zizmor
secrets-inherit via CodeRabbit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
generated/k9iser/cargo-manifest.k9 and container-build.k9 are k9iser
output in a [must]/[trust] section format that predates K9 contract
v1.0.0 (D173): no K9! envelope, no pedigree, not a Nickel component.
The Validate K9 contracts gate rejects both, nothing in this repository
reads them, echidna already gitignores the same directory, and no
k9iser repository exists in the estate any more. The two gate messages
that told people to run k9iser now point at the K9 contract spec.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
@chatgpt-codex-connector

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 ⚠️ Failed 2026-10-19T20:50:03.669999Z 2da14ab PR opened
ℹ️ 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.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 5 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 7092a099-774c-4335-9215-6cce82d87501
📥 Commits

Reviewing files that changed from the base of the PR and between 8c2f198 and 52a46a4.

⛔ Files ignored due to path filters: 4
  • .github/workflows/actions.lock is excluded by !**/*.lock
  • Cargo.lock is excluded by !**/*.lock
  • generated/k9iser/cargo-manifest.k9 is excluded by !**/generated/**
  • generated/k9iser/container-build.k9 is excluded by !**/generated/**
📒 Files selected for processing: 41
  • .github/workflows/cargo-audit.yml
  • .github/workflows/chapel-ci.yml
  • .github/workflows/coverage.yml
  • .github/workflows/dogfood-gate.yml
  • .github/workflows/e2e.yml
  • .github/workflows/governance.yml
  • .github/workflows/hypatia-scan.yml
  • .github/workflows/mirror.yml
  • .github/workflows/release.yml
  • .github/workflows/rust-ci.yml
  • .github/workflows/scorecard.yml
  • .github/workflows/secret-scanner.yml
  • README.adoc
  • k9iser.toml
  • src/aggregate/mod.rs
  • src/aggregate/proven_tests.rs
  • src/assail/analyzer.rs
  • src/assail/mod.rs
  • src/assay/mod.rs
  • src/bridge/mod.rs
  • src/bridge/registry.rs
  • src/comment_marker.rs
  • src/diagnostics.rs
  • src/ffi_kind.rs
  • src/jit_context.rs
  • src/kanren/core.rs
  • src/lib.rs
  • src/main.rs
  • src/panll/mod.rs
  • src/report/gui.rs
  • src/safe_path.rs
  • src/scan/cargodeny.rs
  • src/storage/mod.rs
  • src/test_context.rs
  • tests/analyzer_tests.rs
  • tests/panll_tests.rs
  • tests/property_tests.rs
  • tests/readiness.rs
  • tests/report_tests.rs
  • tests/sarif_tests.rs
  • tests/seam_contract_tests.rs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath enabled auto-merge (squash) October 19, 2026 20:58
@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Add Carrot credits or activate Agent usage billing to use Autofix

coderabbitai Bot and others added 4 commits October 19, 2026 21:07
Resolved conflicts in:
- .github/workflows/actions.lock (unmerged)
- .github/workflows/scan-and-report.yml (unmerged)

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
CodeRabbit-Task-Id: c274f14c-882e-43dc-87d1-6f3d9992f31b
…, and update K9 contracts and dependencies"

This reverts commit afd3da7, pushed by
CodeRabbit's CI-fix agent. This PR is the lock repair at the base of a
stack; the clippy fixes, the readiness doc paths and the K9 retirement
are the next three PRs (#220, #221, #223), and a second copy here would
conflict with them. The commit also rewrote generated/k9iser/*.k9 to
make them conform, which the owner has ruled the other way: k9iser is
retired and #223 deletes those files.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
… merge

The base merge (88d2e49) brought in dependabot's bumps (#216, #217) and a
hand-resolved lock. The estate repair chain was re-run in CI on this
exact head (09a5857) with a real token: relock-sha-keys,
complete-job-refs, close-lock, prune-stale, check-lock-sync, all RC=0,
and the governance gate at standards 333b06a0 returned "Immutable direct
and transitive lockfile coverage verified". The chain changed one line:
the slsa-github-generator record's ref label, f7dd8c54 -> v2.1.0. This
file matches the run's LOCK-SHA256
7555257dddf72015654fdf619089d0e270b45e9ba2fc32f1fdb5046f43111f66.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
coderabbitai Bot and others added 27 commits October 19, 2026 22:03
…ick-xml 0.38

zbus_xml 5.2.1 builds on quick-xml 0.41, so the last copy of quick-xml 0.38.4
(RUSTSEC-2026-0194, RUSTSEC-2026-0195) leaves the lockfile. Lockfile only;
semver-compatible: zbus_names 4.3.5, zbus_xml 5.2.1, zvariant 5.15.1,
zvariant_derive 5.15.1, plus their new transitive deps winnow 1.0.4,
zcheapstr 1.1.0, zvariant_utils 4.2.0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…'s lockfile (its bumps include CodeRabbit's quick-xml 0.41 move)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…it regenerated stays deleted

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…ranch, keeping this branch's fixes where both changed the same lines

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…re-added unused import after the 0f68c62 merge

The text merge of 0f68c62 combined CodeRabbit's leading negation with this
branch's .find(..).is_none(), inverting the readiness control; it is now
the single !any(..) form. main.rs had its removed comment_marker/ffi_kind
import re-added by the same merge.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
…erge left two unused

CodeRabbit's hunk added an all_chars_safe helper beside this branch's
is_safe_char, and the merge kept both with neither caller, which
cargo clippy --all-targets -- -D warnings rejects as dead code in the
lib test target. The file is the version CI passed at 5db5d90.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
…erge left two unused

CodeRabbit's hunk added an all_chars_safe helper beside this branch's
is_safe_char, and the merge kept both with neither caller, which
cargo clippy --all-targets -- -D warnings rejects as dead code in the
lib test target. The file is the version CI passed at 5db5d90.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3
docs/ambush-timeline.md and docs/panll-export.md were converted to .adoc
(estate docs policy) but the self-diagnostics check still demanded the
.md files, so `panic-attack diagnostics` exited non-zero and both
diagnostics readiness tests failed. Point the check, README.adoc and the
bridge module docs at the .adoc files that exist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3

Copy link
Copy Markdown
Owner Author

Closing this duplicate direct-to-main copy. The K9 retirement is retained in the intended stacked PR #223, based on #222; please follow that stack rather than this conflicting duplicate.

auto-merge was automatically disabled October 20, 2026 00:53

Pull request was closed

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