Update loop
source revision changes
|
v
mechanical inventory and diff triage
|
v
strong-model synthesis with provenance
|
v
code, schema, Markdown, link, and safety lint
|
v
static build and deterministic artifact review
|
v
independent adversarial publication review
|
v
deploy the unchanged artifactCheap models may enumerate files, extract headings, classify diffs, and prepare candidate lists. They do not decide privacy, architecture, synthesis, or final quality. Their output is evidence for a stronger author or reviewer.
Source promotion boundary
This repository is public. A source candidate is therefore published when it is pushed to Git hosting, before CI runs and before the website release command reviews the built artifact. A later deletion does not remove it from Git history.
Internal automated maintenance assembles candidates outside the public working tree. The source gate exports the exact candidate, inventories every byte, includes the candidate commit and its public base in an independent structured review, runs the complete repository check, and pushes only that unchanged one-commit descendant. It then proceeds through the separate artifact release gate. Local Git hooks are useful defence in depth but are not the security boundary: they are not guaranteed to run in every clone.
External pull requests are public proposals by definition. Their authors and reviewers must not use them to disclose private configuration. Automation may promote a generated candidate only through the exact source gate; it does not push a mutable working tree directly.
Lint policy
Code, documentation, links, frontmatter, schemas, generated projections, and the
final artifact are linted. Straightforward failures are corrected where they
occur. A complicated failure becomes a structured item in TODO.md with a
stable ID, severity, evidence, owner, and acceptance condition so a dedicated
agent can begin without rediscovering it.
The TODO list is not a second task manager. Private operational authority stays in the private Markdown queue; public contribution work stays in GitHub. The repository TODO is a bounded handoff surface for unresolved cnix findings.
Publication behaviour
The green path requires no interactive publication decision. npm run deploy
requires a clean Git tree and runs the complete check and build. It places the
pre-bundled artifact in the content-addressed, immutable Nix store. A dry run
proves that Wrangler’s pinned --no-bundle path preserves the executable bytes;
a separately configured strong model then gives the exact artifact a structured
privacy verdict. A review performed by an earlier workflow stage is retained as
evidence but is not a reusable publication credential. The publisher gives the
hosting provider the same store path, disables bundling, and verifies the hash
before and after upload.
A rejection, uncertainty, changed byte, failed check, or provider error stops the release and keeps the last-known-good website live. The publisher does not attempt a partial release. The local attestation records the source revision, reviewer configuration, covered risks, and exact artifact identity.
Freshness
Each project records revision-addressed sources and, when appropriate, a
stale_after date. Source movement, overdue verification, broken links, or a
changed option surface creates review work. Freshness is visible; it is never
silently inferred from a successful build.