Repository navigation
chore: keep the book current, the website rule, the same-PR book guard and the docs guards - #53
Merged
Merged
Conversation
…d and the docs guards .claude/rules/docs-website.md, path-scoped to the site, holds the layout, the family-book split, the authoring rules and what a gate checks against what only review can. CLAUDE.md gains the same-PR book rule as a hard rule, phase-done checks it at close and the pull request template asks for it. Three guards with self-tests join CI's required conclusion: book-guard.sh refuses a change to a crate's source or features, the server or a deployment file that leaves the book alone, with the new no-book label as the escape; docs-claims.sh holds each crate's Features table to its Cargo.toml both ways, refuses a typed crate version and a planned item without its tracker link; writing-style.sh refuses an em dash, a banned word or AI attribution in the published prose, which the new docs_style.sh hook also runs on every edit.
The owner's decision, in the security page, the ihe-iti page's PIXm and PDQm sections, the configuration table and the getting-started example: FerroPIX's planned PIX Manager is to accept $ihe-pix by GET (ITI-83) and by POST with a Parameters body (FHIR R4 Operations 3.2.0.1) and keep no URL query in a request log (#52); FerroHEALTH clients call it by POST (ihe_iti::pixm::Invocation::Post), so a BSN never appears in a URL; and a proxy in front of a Manager must not log query strings.
rubentalstra
enabled auto-merge
October 21, 2026 09:53
This was referenced Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed and why
The working discipline and the guards that keep the book at https://ferropix.eu/ in step with the code, ported from the siblings (FerroEHR's
docs-websiterule anddocs-claimsguard, the family book'swriting-styleguard, the changelog guard's shape for the same-PR rule)..claude/rules/docs-website.md, path-scoped to the site: layout and URLs, the family-book split, the same-PR rule, authoring rules (built versus planned with a tracker link, sibling wiring said as planned, no typed versions), what a gate checks and what only review can, the toolchain and the 1440/390 light/dark look before a website PR merges.CLAUDE.md: the "Keep the book current" hard rule, the guards in the repo map, the rule and the new hook in the discipline list./phase-donegains the book check; the pull request template asks for it; a memory note records the owner's order.scripts/checks/book-guard.sh(CIbook-guard, pull requests): a change tocrates/*/src/**, a crate's[features],app/**,docker/**,deploy/**or a compose file must touchwebsite/book/src, or carry the newno-booklabel (added toscripts/gh/labels.shand created). A version bump, a dependency move or a test alone is no surface: the book renders versions.scripts/checks/docs-claims.sh(CIdocs-claims): every published crate has its page and its row on the crates page; its Features table names exactly the features of itsCargo.toml, both ways; no page types its current version; every section that says "planned" links a FerroHEALTH tracker issue or milestone.scripts/checks/writing-style.sh(CIdocs-claims, and the newdocs_style.shPostToolUse hook on every edit): em dashes, the buzzword list and AI attribution over the published prose (website, root and crate markdown).--self-test, run by theself-testsjob, and both new jobs are in the requiredconclusion.ihe-itiPIXm and PDQm sections, the configuration table and the getting-started example (now.invoked_by(Invocation::Post)): the planned PIX Manager accepts$ihe-pixby GET (ITI-83) and by POST with aParametersbody (FHIR R4 Operations §3.2.0.1) and logs no URL query (The PIX Manager answers $ihe-pix by POST as well as GET, and no request log records a URL query #52); FerroHEALTH clients call by POST so a BSN never appears in a URL; proxies must not log query strings. The "keeping the book current" page lists the four guards, and two "test harness" phrasings are reworded for the writing-style guard.Closes #48
Licensing of contributions
Checklist
shellcheck --severity=style,actionlint,zizmor --min-severity=low .github/, and the self-test of every script the change touches.CHANGELOG.mdhas an[Unreleased]entry.website/book/srcis updated for every user-visible change.