Repository navigation
#126 docs: move § Patching and § Node.js to docs/PATCHING.md (part 2) - #132
Merged
Merged
Conversation
Part 2, after #113's first window (2026-11-10 05:00-10:00Z) closed. - docs/PATCHING.md: ## Patching (with ### The patch-due check) and ## Node.js (agent tooling only), verbatim, plus their At a glance rows. Links re-aimed at the doc that holds each target; step 8's bare "§ Tailscale DNS" names NETWORK.md. - Two claims refuted on co-processor and corrected in transit: the lists are refreshed daily by apt-daily.timer at 12:00 UTC (enabled since #113, APT::Periodic::Enable "1"), not "nothing else refreshes"/"masked". - DEPLOYMENT.md: 17,639 -> 9,346 tokens; stubs ### Patching and ### Node.js (agent tooling only) keep the old anchors. - AGENTS.md rows and Detail Docs, DEPENDENCIES/MONITORING/PROVISIONING/ SKILLS references, doc-sections, the SocratiCode manifest, and the tests that read the runbook now name PATCHING.md. - Warrant files hold this run's judgements; part 1's are in history. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…moved to Comments, Documentation= URLs and operator messages only; no behaviour. DEPLOYMENT.md's stubs kept the old pointers resolving until this deploy. - PATCHING.md: patching.py's due/missed messages, the knob's service note, apt periodic, apt-daily timer drop-in, needrestart, nodesource.sh, processor-patching.service's Documentation=. - MONITORING.md: checkin.py, deploy.sh's timer note, the knob's liveness note, disk-gc.conf, processor-drift.service's Documentation=. - NETWORK.md: the tailscaled drop-in's "Install:". - DEPENDENCIES.md: pyproject.toml's shell lint, the knob's lock audit. - PROVISIONING.md: deploy.sh's "§ Install". Five host configs change in comments only; reinstall them after the deploy (test_*::test_installed_copy_matches_tracked fails on the node until then). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- deploy.sh's host-config notes sent the operator to DEPLOYMENT.md, which no longer holds any install step; they now name § Deploy a change, whose HOST_CONFIGS line links where each one installs (NETWORK, PATCHING, MONITORING). - PATCHING.md: "No apt timer has a stamp" was refuted on co-processor (both stamped since their first runs, 2026-11-10 12:14Z and 13:42Z; both timers Persistent=true), so re-enabling now catches up a missed run. - The lists refresh between 12:00 and 12:30 UTC (RandomizedDelaySec=30m). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 10, 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.
Refs #126. This is part 2, after #113's first window (2026-11-10 05:00–10:00Z) closed. Part 1 was #128.
This PR needs a deploy. It edits comments and operator messages in
src/,deploy/,scripts/deploy.sh,pyproject.tomland.skills/patching-hosts. No behaviour changes.Tokens (
measure-context.sh --exact)AGENTS.mddocs/DEPLOYMENT.mddocs/PATCHING.md(new)Every live doc is now under budget. There are no dead links or anchors, and no orphaned or unindexed docs. The baseline and after rows are on the ledger.
Relocated
## Patchingwith### The patch-due check## Node.js (agent tooling only)with### Patching Node,### Moving the major line,### Removing it## At a glanceDEPLOYMENT.md's
## Moved sectionsgains### Patchingand### Node.js (agent tooling only)stubs. Old anchors, archived plans and specs, and issue comments still resolve.Edited lines (each warranted in
.skills/context-loss-ok)§ Tailscale DNSnow names NETWORK.md.systemctl is-enabled apt-daily.timerreturnsenabled.apt-config dumpshowsAPT::Periodic::Enable "1"andUpdate-Package-Lists "1"(Patching: a missed window goes unnoticed — solicit approval before each window, or automate unless overridden #113), so the lists refresh daily at 12:00 UTC. Two lines said otherwise:apt-daily.timerlast refreshed at 12:00 UTC the day before".apt-daily.timeris masked andAPT::Periodic::Enableis 0)" now reads "whichapt-daily.timerdoes only daily at 12:00 UTC".No deletions. Fact check: 46 TRUE, 16 UNVERIFIABLE, 0 FALSE. The two FALSE lines above were checked by hand on the host.
Runtime citations re-pointed (commit d90328a)
patching.py(due and missed messages);.skills/patching-hosts(the service note);deploy/apt/apt.conf.d/processor-periodic;deploy/apt-daily.timer.d/processor-window.conf;deploy/needrestart.conf.d/processor.conf;deploy/nodesource.sh;processor-patching.serviceDocumentation=checkin.py;deploy.sh's timer note; the knob's liveness note;deploy/disk-gc/disk-gc.conf;processor-drift.serviceDocumentation=Install:pyproject.tomlshell lint; the knob's lock auditdeploy.sh§ InstallWhat still names DEPLOYMENT.md points at sections that stayed there: the CI gate, Rollback, Deploy a change, and the host-config comparison.
After merge (live)
scripts/deploy.sh.processor-periodicapt-daily.timer.ddrop-inneedrestartprocessor.confdisk-gc.confdaemon-reloadonly, no tailscaled restart)test_*::test_installed_copy_matches_trackedpasses again, and the deploy prints nodiffers fromnote.Checks
Fresh-eyes review (fixed in 994574d)
:591,:593) said "(docs/DEPLOYMENT.md)", but no install step is left there. They now name§ Deploy a change, and itsHOST_CONFIGSline links where each config is installed: NETWORK.md § tailscaled's OOM rank, PATCHING.md § Patching and § Node.js, and MONITORING.md § Disk GC. That line is warrantedretarget.stamp-apt-daily.timer12:14:42Z,stamp-apt-daily-upgrade.timer13:42:42Z), and both arePersistent=true. The sentence now says re-enabling catches up a missed run. Warranteddisproven.RandomizedDelaySec=30m), not at 12:00.#the-patch-due-check,#patching-node,#moving-the-major-lineand#removing-ithave no DEPLOYMENT.md stub. That matches part 1, which stubbed only##sections, and nothing in the repo links them.🤖 Generated with Claude Code