[luv-legion-716] Ignore /blog/, and clear RUSTSEC-2026-0258 - #717
Conversation
`/blog/` holds in-progress design write-ups that are not ready to ship with the repo. Ignoring the directory keeps them out of the diff while they are still being drafted. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XDLd8poaEqRpxWKZcCAEEQ
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XDLd8poaEqRpxWKZcCAEEQ
|
Thanks @NiveditJain for your contribution to Failproof AI! 🙌 We'd love to discuss your PR and welcome you to our community: https://discord.befailproof.ai/ |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Included review availability: Your plan includes up to 4 reviews per rolling hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe pull request ignores the root-level ChangesBlog draft ignore rule
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to The PR makes localized repository housekeeping changes and does not introduce an actionable merge-blocking risk; it is merge-ready after normal checks and review. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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. Comment |
Hermes
No actionable correctness, compatibility, or security issues found in the reviewed change. What this changesflowchart LR
n0Gitignorerules["~ Git ignore rules"]
n1Localblogdrafts["Local blog drafts"]
n2Releasechangelog["~ Release changelog"]
n3Rustdependencylockfile["~ Rust dependency lockfile"]
n4Rustworkspace["Rust workspace"]
n0Gitignorerules -- "excludes from Git status" --> n1Localblogdrafts
n2Releasechangelog -- "documents local-draft rule" --> n1Localblogdrafts
n2Releasechangelog -- "documents h2 update" --> n3Rustdependencylockfile
n3Rustdependencylockfile -- "locks h2 through hyper" --> n4Rustworkspace
Rounds
FindingsNothing raised yet.
|
Clears the one advisory failing the Supply Chain gate. It was failing on main as well — the advisory published after main's last green scan, so no change in this repo caused it and every branch cut from main went red at once. h2 is transitive through hyper, so this is a lockfile edit and nothing else. Applied surgically rather than via `cargo update -p h2 --precise`, which also re-resolved six unrelated windows-sys edges DOWNWARD (0.61.2 -> 0.52.0/0.60.2). That churn is invisible to CI — the Rust jobs run on Linux and never compile those crates — so it would have ridden into a release lockfile unreviewed. Verified: `cargo metadata --locked` accepts the lock (the resolver agrees it is complete and will not re-resolve behind it), and `cargo check --workspace --locked --all-targets` passes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XDLd8poaEqRpxWKZcCAEEQ
hermes-exosphere
left a comment
There was a problem hiding this comment.
Hermes found no blocking issues in this revision.
Unblocks CI. The PR had drifted 13 commits behind main and reached a conflicting state, and GitHub cannot build refs/pull/702/merge for a conflicting PR — so the `pull_request` trigger never fired and the last two commits on this branch were never tested. `gh pr checks` showed CodeRabbit and Socket passing, so the absence of the CI run read as "no news" rather than "blocked". Merged rather than rebased: another session is committing to this branch, and a rebase means a force-push that rewrites history under it. Two conflicts, both in files each side appended to: .gitignore — main added /blog/ (#717), this branch added the Python build and test artefacts. Kept both; they do not overlap. CHANGELOG.md — both sides created a `## 1.0.1-beta.2 — 2026-08-17` heading in the same place. Resolved to one section holding the union, filed by subsection, and `## 1.0.1-beta.1 — 2026-08-16` restored above beta.0. That last part corrects main rather than merely reconciling with it. At the merge base the top section was beta.1; main RENAMED that heading to beta.2 and prepended its own entries, which moved four already-shipped entries into an unreleased section — 1.0.1-beta.1 is published on npm. The tell is that main's beta.2 carries two `### Fixes` subsections, the second being the orphaned beta.1 block, byte-identical to this branch's. Propagating that would leave shipped work permanently misfiled. Also dropped one duplicate of main's canary entry, the copy ending `(#PR)` — an unreplaced placeholder. The `(#705)` copy is kept. Verified nothing was lost: every bullet from both sides is present, none invented, and everything from `## 1.0.1-beta.0` down is byte-identical to main's. Checks: SDK 261 passed; SDK spool contract passes strict; fp-cli 786 passed; TS 3822 passed; tsc clean; lint 0 errors; build ok. Two tests in __tests__/hooks/fp-reset.test.ts time out here and fail identically on a clean origin/main worktree — this box runs a real failproofaid, which CI does not. Pre-existing and environmental, not from this merge. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Only CHANGELOG.md conflicted, and resolving it surfaced three defects that a textual union merge would have carried forward. The #721 Discord-announce entry had been hoisted out of the `1.0.1-beta.2` `### Features` subsection into `1.0.2-beta.0` `### Docs` by an earlier merge on this branch (7215375) — wrong version and wrong section. Restored to main's placement. This branch still carried a `## 1.0.1-beta.1 — 2026-08-16` heading that main folded into `1.0.1-beta.2` at 17238f6. All eleven of its entries already exist in main under `1.0.1-beta.2`, and two of them (#717) appeared TWICE on this branch — once under each heading. The redundant section is dropped and main's placement wins for every entry it carries, which is what removes the duplicates. Both sides had introduced a duplicate subsection in `1.0.2-beta.0` (main a second `### Docs`, this branch a second `### Fixes`). Both are folded, so the file's duplicate-subsection count goes from 9 to 8 — the invariant ae10911 already stated: a PR may not raise it. Resolved structurally rather than by hand, and checked rather than eyeballed: every one of main's 697 entries survives at main's exact multiplicity, every entry this branch adds survives, nothing appears that is on neither side, and the version headings are identical to main's apart from the top one's date. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HZYbbaGWRoARmFyQunWTkZ
What
Adds
/blog/to.gitignore, plus the CHANGELOG entry the repo convention requires.That is the entire tracked change. The directory holds long-form design write-ups
being drafted in the checkout — currently one on why failproofai has a daemon
(the problems with the one-shot hook model, the daemon as the answer, and what
fail-closed cost us). None of it is ready to ship with the repo.
Why ignore rather than commit
A draft that is one
git add -Aaway from being committed is a draft written morecautiously than it should be. Ignoring the directory keeps the working tree clean
during a long writing pass and keeps half-finished prose out of the diff. When a
piece is ready it moves somewhere deliberate —
docs/, or off to the site — as itsown change.
Scope
Nothing in the published package changes: no source, no policies, no hook configs,
no build output.
ci.ymltriggers on push tomainand PRs againstmain, sothis PR is the first thing to run CI on the branch.
🤖 Generated with Claude Code
https://claude.ai/code/session_01XDLd8poaEqRpxWKZcCAEEQ
Summary by CodeRabbit
Documentation
Chores
Hermes review
7983a28363471d9f12910cb16c42129a270cdcbb1d8f31d926828f3bae215c58f5b35baa44acbff0gpt-5.6-terraSummary
No actionable correctness, compatibility, or security issues found in the reviewed change.
Changes
/blog/drafts.Validation
Passeddocker run --rm --network=none -v /review/input/workspace:/workspace:ro -w /workspace rust:1.91 rustup run 1.91.1-x86_64-unknown-linux-gnu cargo metadata --locked --offline --format-version=1 --no-deps— Cargo accepted the workspace manifests and locked metadata with the updated lockfile. (1s)Skippeddocker run --rm --network=none -v /review/input/workspace:/workspace:ro -w /workspace rust:1.91 rustup run 1.91.1-x86_64-unknown-linux-gnu cargo metadata --locked --offline --format-version=1— Full dependency metadata resolution requires a crates.io index that is unavailable in the isolated no-network container. (1s)Findings
None.
Open questions
None.
Policy overrides
None.