2025-11-13 - 2026-11-13

Overview

644 Active Pull Requests
0 Active Issues
Excluding merges, 1 author has pushed 27 commits to main and 2893 commits to all branches. On main, 126 files have changed and there have been 3758 additions and 255 deletions.

644 Pull requests merged by 3 users

Merged #678 Bridge for G's take-in: an empty modules/mesh-build-go/buildstep package 2026-11-13 13:40:28 +00:00

Merged #677 Milestone 47 G: mesh-catalog's part of the one release 2026-11-13 13:08:21 +00:00

Merged #676 zfs: the module owns a node's ZFS and changes nothing unset; pacman declares its config before its package (issue 1979) 2026-11-13 08:01:02 +00:00

Merged #674 zfs: the scheduled run names its minutes, so its timer starts (issue 1979) 2026-11-12 22:12:31 +00:00

Merged #673 kernel: declare amd-ucode only (issue 1977, L10) 2026-11-12 20:51:33 +00:00

Merged #672 kernel: microcode in every initramfs (issue 1977) 2026-11-12 20:35:17 +00:00

Merged #671 systemd-resolved: the own resolver's file waits 3 s a try (issue 1748, ADR 0678) 2026-11-12 17:52:36 +00:00

Merged #670 mesh-vault: secret_holders lists every record of the vault's store by name and fingerprint (issue 1409) 2026-11-12 17:51:18 +00:00

Merged #669 node-uplink links answers each link's mac, master and parent (issue 1965) 2026-11-12 16:35:37 +00:00

Merged #668 mesh-files: find writes the NUL itself, so a list or search through root runs at all (issue 1409) 2026-11-12 15:39:52 +00:00

Merged #667 A step answer over the steps state's bound is kept without its taken versions, said, not lost 2026-11-12 15:37:54 +00:00

Merged #666 The provisioner's retiring asks get a bounded id, and a refused one is said (issue 1966) 2026-11-12 15:34:21 +00:00

Merged #665 node-files lists a place a secret is kept, entries without content, and stat says a missing path is missing (issue 1409) 2026-11-12 15:28:23 +00:00

Merged #664 licences_switches answers switches carried from the old database with their licence and consumer (issue 1409) 2026-11-12 15:27:13 +00:00

Merged #663 A check step that errors after its fetch merged still answers its fetch 2026-11-12 14:34:06 +00:00

Merged #662 The licence manager is built of its parts, a manager and its tools, and the finished carry-over leaves (issue 1409) 2026-11-12 12:05:47 +00:00

Merged #661 The licence manager counts room from the weekly window alone, so the switch finds a target (issue 1409) 2026-11-12 10:18:54 +00:00

Merged #660 The licence manager declares its logs in the logs section, so they are issued and its carry-over can finish (issue 1409) 2026-11-12 09:29:46 +00:00

Merged #659 The licence manager runs as its own account, so its own logs are issued to it and its carry-over can finish (issue 1409) 2026-11-12 08:41:49 +00:00

Merged #658 systemd: serve kernel-log, the node's kernel log of this boot or an earlier one; journal refuses a boot (issue 1975) 2026-11-12 08:40:36 +00:00

Merged #657 The licence manager keeps its data on the bus and switches licences by itself at 99% (issue 1409) 2026-11-12 00:13:05 +00:00

Merged #656 Registry recovery: the bus module's list, show and orphans answer each binding (issue 1966) 2026-11-11 10:32:27 +00:00

Merged #655 The Go fetch fails when its shut-off package load cannot run at all, naming the directory and go list's error (issue 1966) 2026-11-10 15:42:10 +00:00

Merged #653 Fill gitea's pool keys in the provisioner client's gitea tests, which fail on main since 4becc7bd (issue 1966) 2026-11-10 14:49:02 +00:00

Merged #654 The Go fetch takes zero-version requirements from the module graph and proves them with a shut-off load; mesh-build-image and -node name nodebuildgo (issue 1966) 2026-11-10 14:48:41 +00:00

Merged #652 Play the config watch in the package seats' whole test, so the held callers list is proven (issue 1966) 2026-11-10 14:40:51 +00:00

Merged #651 Review parts are asked one at a time: the node judges one at a time (issue 1966, quick fix) 2026-11-10 07:33:49 +00:00

Merged #650 The condition keeper reads the node-engine's findings; claude-code's seat-list again answers the operator's sessions (issue 1966; group fix/1966-seat-list-unread) 2026-11-10 00:44:31 +00:00

Merged #649 The build modules end a transport fault's run again, serve drop, and are held to the transport-fault classes (issue 1748; group fix/1748-transport-retry, merge last) 2026-11-09 22:58:44 +00:00

Merged #648 The knowledge base's review knows its round: from round 3 only a wrong record asks changes, at round 5 the operator decides (issue 784) 2026-11-09 22:26:59 +00:00

Merged #647 mesh-build-go reaches the forge's git when the public proxy is unreachable, and a network failure is no pin (issue 1966) 2026-11-09 22:08:33 +00:00

Merged #646 Distribution and the forge hold their caller list from its config watch, not an ask per call (issue 1966; group with mesh-sdk) 2026-11-09 22:00:49 +00:00

Merged #645 mesh-build-image names its copy wait's ownership mark nonce, so the state takes it and nats images are stored again (issue 1966) 2026-11-09 22:00:33 +00:00

Merged #644 The bus module reads a consumer's counts and a stream's events, so a lost event can be traced 2026-11-09 21:27:31 +00:00

Merged #643 The resolver module's tests hold its configuration's guards 2026-11-09 20:09:35 +00:00

Merged #642 mesh-hand-acts answers bounded, newest first; mesh-healers seeds from a partial answer (issue 1966 S8, recovery) 2026-11-09 17:55:11 +00:00

Merged #641 Sessions merge without a human approval: the hard rule keeps a branch and a pull request for every change 2026-11-09 16:58:54 +00:00

Merged #640 mesh-build-go reads a compose ask's gzip-packed request (issue 1966, recovery; group with mesh-delivery) 2026-11-09 16:31:23 +00:00

Merged #639 Gate record of mesh-catalog's forge-made merges (issue 1966, recovery) 2026-11-09 08:45:51 +00:00

Merged #638 The provisioner keeps a provision while a module's newest composition is unread, and withdraws an ask once a key is needed again (issue 1966, recovery) 2026-11-09 08:07:53 +00:00

Merged #637 distribution's program listens on 5100 and the registry container on 5001, so no mapping names the artifact store's port (issue 1966, recovery) 2026-11-09 00:58:11 +00:00

Merged #636 The keeper's health reads the consumers it looks for (issue 1966, recovery) 2026-11-08 22:55:46 +00:00

Merged #635 The bus keeper reads a bare stream's max-age-days "none" as kept for good (issue 1966, recovery) 2026-11-08 22:53:04 +00:00

Merged #634 dnsmasq: the public upstream resolvers are settings, not fixed in the template 2026-11-08 22:51:12 +00:00

Merged #633 Forge database pool caps are config values, and a changed value recreates the forge (issue 1966, recovery) 2026-11-08 03:41:24 +00:00

Merged #632 Cap the forge's database pool at 40: the store's 100 connections are shared (issue 1966, recovery) 2026-11-08 01:08:37 +00:00

Merged #631 Manifests name their packages by full module path (issue 1966, bootstrap recovery) 2026-11-08 00:01:30 +00:00

Merged #630 The gate part reads no pull request description: no review-line wait before the Approve (ADR 0659) 2026-11-07 22:55:00 +00:00

Merged #629 The gate asks the Approve at once while the check gates no merge, never waiting for a verdict (issue 1966) 2026-11-07 20:47:19 +00:00

Merged #627 Take the Go package artifacts out of the delivery parts for now, so the running builder builds them (issue 1966) 2026-11-07 18:50:37 +00:00

Merged #626 distribution's artifact-store alias names port 5100, where the store answers (issue 1966) 2026-11-07 18:21:56 +00:00

Merged #625 distribution provides artifact-store again beside its new roles, for the running node-engines (issue 1966) 2026-11-07 17:46:40 +00:00

Merged #612 Registry milestone: mesh-catalog (issue 1966) 2026-11-07 14:18:54 +00:00

Merged #624 mesh-build-go's fetch downloads the module graph of each placed sibling Go module (issue 1921) 2026-11-07 11:09:37 +00:00

Merged #622 mesh-build-go runs a checking program over a change's heads (issue 1921, B0) 2026-11-07 00:32:47 +00:00

Merged #623 Progress reads only a design's head, so a long design never takes the progress view down (issue 1947) 2026-11-06 23:41:28 +00:00

Merged #621 operator-channel.asks answers open asks within a bound when asked with no argument (issue 1974) 2026-11-06 21:06:00 +00:00

Merged #620 knowledge-base get shows the findings of the pending version's reviews (issue 1970) 2026-11-06 15:24:38 +00:00

Merged #619 mesh-build-go keeps a composer per the versions it was asked to build with (issue 1921) 2026-11-06 08:00:22 +00:00

Merged #618 The Go build module takes a repository's own unpublished modules from its tree (issue 1921) 2026-11-05 23:00:39 +00:00

Merged #617 The build modules build a folder module's packages at their paths and take a zero-version requirement from the ask (issue 1966) 2026-11-05 21:21:10 +00:00

Merged #616 nfs-server: the look below a share runs beside the pass, so a long walk no longer fails its health (issue 1971) 2026-11-05 10:02:10 +00:00

Merged #615 Gate reads the forge bridge's own messages and passes a group's end by; operator-channel.asks narrows its answer (issues 1585, 595; ADR 0633) 2026-11-05 00:33:42 +00:00

Merged #613 mesh-build-go: a merge preview names a path and a path inside it (mesh-contracts' go), and a step's cause keeps the module Go could not find (issue 1966) 2026-11-04 19:44:21 +00:00

Merged #611 mesh-knowledge: a closing is reviewed on its closing alone, a graduation on every became link it carries (issue 784) 2026-11-04 15:13:56 +00:00

Merged #610 The knowledge base's close verb: a research effort graduates, is abandoned or parked as an idea, judged only on its closing (issue 784, ADR 0630) 2026-11-04 14:43:58 +00:00

Merged #609 The knowledge base keeps the roadmap: a research effort can be an idea, and at most three are active (issue 1970, ADR 0629) 2026-11-04 13:57:21 +00:00

Merged #608 A failed backup names its cause: nats's dump keeps the snapshot's exit status and the container's state, restic reports the tail of what a command printed (issue 1585) 2026-11-04 11:06:34 +00:00

Merged #607 nats removes a push consumer; gitea, mesh-conditions, mesh-issues and messenger drop what named the removed controller (issue 1126) 2026-11-04 10:36:41 +00:00

Merged #606 mesh-vault: read which modules of a machine the vault judges handed, and why, with own_handed (issue 1966) 2026-11-04 09:16:10 +00:00

Merged #605 L3 final: core-credentials back, nats provides bus-state, artifact-store-tools calls the seat mesh-catalog, the old catalog module drops its claim (ADR 0614, ADR 0604, issue 774) 2026-11-04 00:23:43 +00:00

Merged #604 L3 recovery: take core-credentials out of the bus's, the provisioner's and its client's manifests until the judge that knows it runs (issue 774, issue 1585) 2026-11-03 21:09:03 +00:00

Merged #603 L3: a provider's have counts only from a build that offers the provision; the gate takes a merged message with no trees (ADR 0603 §5, issue 1367) 2026-11-03 20:12:49 +00:00

Merged #602 The vault mints ledger accounts and keeps a machine's in node-tools' own secret ledgers (issue 1966, B1) 2026-11-03 15:24:31 +00:00

Merged #601 cpu_top's process view cuts a rewritten title at its first space, so no argument reaches the answer 2026-11-03 07:59:18 +00:00

Merged #600 disk-load's cpu_top names the processes inside one unit 2026-11-03 07:43:21 +00:00

Merged #599 mesh-provisioner: never ask to retire access on an incomplete read 2026-11-02 23:26:49 +00:00

Merged #598 sdk1: build modules, provisioner and checks follow ADR 0593 2026-11-02 20:41:48 +00:00

Merged #597 mesh-build-go: a relative replace still resolves in the temporary modfile 2026-11-02 18:51:34 +00:00

Merged #595 The vault makes the first credential of every new consumer, as the controller did (issue 1126) 2026-11-02 15:31:38 +00:00

Merged #594 Modules without the controller: vault judges each sensitive caller, nox records its hand acts, provisioner binds ahead of the want (issue 1126 group B) 2026-11-02 13:40:54 +00:00

Merged #593 nox works without the controller: each command calls the seat or tool that owns its job (issue 1126) 2026-11-02 10:56:31 +00:00

Merged #592 Without the controller: the vault retires and rotates, the healers act, the artifact store is swept, config and conditions stand alone (issue 1126) 2026-11-02 10:36:35 +00:00

Merged #591 The vault mints a joining node's token, account and certificate, and rotates a node's login over two; nox enrol open (issue 774) 2026-11-02 07:56:29 +00:00

Merged #590 Modules stop depending on the controller before the lease write (issue 774) 2026-11-02 00:35:26 +00:00

Merged #589 pacman's mirror list keeps a fallback tail; a failed check leads the merge ask's headline (ADR 0586, issues 1876, 1166) 2026-11-01 18:04:06 +00:00

Merged #588 pacman keeps one mirror list for the mesh and reads each node's own packages; the provisioner composes once (ADR 0585, ADR 0565 §6, ADR 0570; issues 1876, 1953, 1954) 2026-11-01 17:02:29 +00:00

Merged #587 Agree a toolchain by strict majority; a node on another version sits out (ADR 0584, issue 1578) 2026-11-01 15:04:12 +00:00

Merged #586 Readers leave the controller: hand acts, packages, compare, provisioner on the watched reader (design 47 L5-L7) 2026-11-01 13:53:21 +00:00

Merged #585 Catalog readers decode instead of judging; mesh-build-go builds against the asked package versions (ADR 0578, 0573 §2) 2026-11-01 07:54:15 +00:00

Merged #584 disk-load watches the node-engine's data items instead of composing them, and each round says how far it got (ADR 0577) 2026-11-01 00:03:14 +00:00

Merged #583 disk-load builds on the current mesh-sdk, so it accepts nats manifest again (issue 1952) 2026-10-31 22:18:27 +00:00

Merged #582 The self-check judges D13 from watched state, findings are saved, and bus-upgrade-failed ends with the controller (issue 1952) 2026-10-31 21:34:00 +00:00

Merged #581 The provisioner composes route contributions with the machine port (issue 774) 2026-10-31 12:56:52 +00:00

Merged #580 Build mesh-build-go against the group mesh-sdk, so a manifest removing ASSIGNMENTS is accepted and the catalogue members of feat/072-moves build (issue 774) 2026-10-31 11:18:53 +00:00

Merged #579 The vault the only issuer, placement read per node and module, hand acts copied once, routes only from the provisioner's plans (issue 774) 2026-10-31 10:31:01 +00:00

Merged #578 The knowledge base retracts a wrong decision or clause on the operator's Approve, instead of adding a correcting record 2026-10-31 09:31:32 +00:00

Merged #577 The gate takes away an ask once no delivery it covers can still merge by it (issue 774) 2026-10-31 01:33:01 +00:00

Merged #576 The vault reads a machine's placement once per answer and says how long each answer took (issue 774) 2026-10-31 00:40:42 +00:00

Merged #575 The provisioner says why a key stays asked when its provider reads no plans of the seat (issue 774) 2026-10-30 23:43:14 +00:00

Merged #574 One rule for whether a plan hands its module, so no part reads a provisions-only plan as handed (issue 774) 2026-10-30 23:19:00 +00:00

Merged #573 The vault answers a module's own secrets unless its plan hands it, not whenever a plan exists (issue 774) 2026-10-30 23:00:17 +00:00

Merged #572 The provisioner follows the one rule for provisions, and the gate says a group's members when they change (issue 774) 2026-10-30 22:33:52 +00:00

Merged #570 The provisioner client takes a plan with no templates as nothing to fill (issue 774) 2026-10-30 21:33:23 +00:00

Merged #571 The provisioner reads a provider's outcome per offer, and modules subscribe before they wait, so gitea's credentials, routes and early events are not lost (issue 774) 2026-10-30 21:17:45 +00:00

Merged #567 A catalogue check parses every manifest as the nodes do; mesh-provisioner holds a refused manifest alone (issue 774) 2026-10-30 18:31:02 +00:00

Merged #566 Revert power's bar item attributes, which every node-engine refuses, so machines compose again (issue 774) 2026-10-30 18:16:16 +00:00

Merged #565 The provisioner holds only a bad module, the vault keeps bus accounts by declaration, and silent faults from the release sweep speak up (issue 774) 2026-10-30 18:12:53 +00:00

Merged #564 The provisioner client accepts credential form none through the mesh-sdk list (issue 774) 2026-10-30 15:10:29 +00:00

Merged #563 Leave the engine's acts out of the bus tools' removals, so the bus's user list is composed again (issue 774) 2026-10-30 11:38:25 +00:00

Merged #560 Design 47's last milestones: the keeper, self-check, healers, hand-acts, provisioner, vault, artifact sweep, disk readings, credential forms (issues 774, 1952, 1953, 1954, 1955) 2026-10-30 11:01:49 +00:00

Merged #562 mesh-delivery-gate: an answer stands only for the ask it answers, so the approved release merges (issue 1730) 2026-10-30 11:01:15 +00:00

Merged #561 Let the forge's sshd take a burst of connections from one build machine, so a check's parallel fetch is not dropped (issue 774) 2026-10-30 00:54:03 +00:00

Merged #559 Pin the parse-only mesh-sdk in the build modules, so they build design 47's manifests (issue 774) 2026-10-30 00:10:08 +00:00

Merged #558 mesh-config: read config declarations from each placed module's own manifests on the bus, never from the controller (issue 1953) 2026-10-29 19:47:56 +00:00

Merged #557 Revert L3: its node-engine removed every held module on novox, the bus server among them (issue 774) 2026-10-29 08:59:53 +00:00

Merged #556 L3: mesh-vault mints, retires and signs; nats makes its certificate; messenger asks each engine (issue 774, ADR 0561), rebased onto L2 2026-10-29 07:44:23 +00:00

Merged #555 mesh-delivery-gate asks the operator's Approve on a verdict only: the one-hour fallback goes (issue 1733) 2026-10-28 21:29:53 +00:00

Merged #554 The Go, Node and image build modules watch their settings file and say a capacity of 0 in their health 2026-10-28 21:03:18 +00:00

Merged #553 mesh-build-go's compose integration test gives its module one slot (issue 1126) 2026-10-28 20:24:49 +00:00

Merged #552 No repository names a node: placement files, particulars and per-node build defaults go (issue 1126, delivery 2 of 2) 2026-10-28 18:33:01 +00:00

Merged #551 power: its loop and boot tests run on a fake clock, so a busy build node cannot fail them (issue 1126) 2026-10-28 16:26:06 +00:00

Merged #550 dnsmasq starts at boot: its drop-in no longer orders after a target the package orders it before (issue 1126) 2026-10-28 16:26:01 +00:00

Merged #549 gitea: set any field of a branch's protection or a repository's settings, saying whether each trunk stays protected (issue 1126, ADR 0566) 2026-10-28 16:02:33 +00:00

Merged #547 power: every reboot, poweroff and halt is bounded at 10 minutes (group fix/shutdown-bound, issue 1126) 2026-10-28 15:05:06 +00:00

Merged #546 mesh-build-image: a node that cannot build here now stays healthy and says not eligible, so it never holds the delivery (issue 1126) 2026-10-28 14:20:41 +00:00

Merged #545 mesh-vault: own answers a node within its bound — assignments from a watched mirror, one read per module, one synced record per answer (issue 1126) 2026-10-28 14:20:36 +00:00

Merged #543 The kernel module loads tun at boot and keeps the running kernel's modules across an upgrade; mesh-build-image takes no ask where it cannot build (group fix/ace-tun) 2026-10-28 13:07:43 +00:00

Merged #541 knowledge-base.progress takes since: what changed in the last hour; issue-tracker.changes says each issue's moves from what to what 2026-10-28 11:56:32 +00:00

Merged #540 Retire the spelling catalogue in the words check, and refuse a compiled program anywhere in the repository (group words/catalog) 2026-10-28 11:31:38 +00:00

Merged #539 gitea announces from the forge's events, not a poll: an edited base and a close are announced at once, one pass at start (issue 1422) 2026-10-28 11:16:46 +00:00

Merged #537 Gate seeds a never-merged repository's trunk head and follows a retargeted base; gitea announces a retarget and sets a default branch and a pull request's base (issue 1422; group fix/1422-trunk-unknown) 2026-10-28 10:34:47 +00:00

Merged #535 mesh-vault takes what runs of a node's own secret through move-in, on the node's ask (issue 1126 C4, group fix/1126-seed-same) 2026-10-28 09:46:29 +00:00

Merged #536 messenger: say what waits in its burst window, and stop reporting a state failure that has passed (issue 1507) 2026-10-28 09:18:00 +00:00

Merged #533 claude-code: render a 660 s timeout for the mesh console, so mesh_wait is not cut at a minute (issue 1871) 2026-10-28 07:46:26 +00:00

Merged #530 mesh-delivery-gate: ask the operator's Approve only once the check has a verdict (issue 1733) — wait for its check before approving this one 2026-10-27 23:25:27 +00:00

Merged #529 Take the placement files out again: every node composing its own fails (issue 1126, revert of #528) — approve now 2026-10-27 22:59:37 +00:00

Merged #528 Seed the placement files a third time (issue 1126) — Approve ONLY after the lead says all four nodes answer 'same' 2026-10-27 22:53:41 +00:00

Merged #527 Take the placement files out again: since the seed no delivery reaches any node (issue 1126, revert of #525) 2026-10-27 22:48:46 +00:00

Merged #525 Seed the placement files again from what each node runs now (issue 1126, ADR 0549 §4) — Approve only after every node answers 'same' 2026-10-27 22:02:14 +00:00

Merged #524 gitea: gitea_team_rights reads a forge team's members and units and a user's effective rights, read-only (issue 1563) 2026-10-27 21:00:58 +00:00

Merged #523 mesh-build-go, mesh-build-node: a missing bubblewrap fails the sandbox proofs on a build node instead of skipping them (issue 1309) 2026-10-27 21:00:53 +00:00

Merged #522 mesh-issues: cover a merged fix from the delivery view's reached head, not only its once-said event (issue 1950) 2026-10-27 20:32:22 +00:00

Merged #521 Take the placement files out again, so every node returns to the controller's compositions (recovery, issue 1126) 2026-10-27 14:06:35 +00:00

Merged #520 Seed the placement files from what each node runs today, so placement lives in the catalogue (issue 1126, ADR 0549 §4) 2026-10-27 08:20:34 +00:00

Merged #517 The issue tracker learns the merge of a fix it never heard, so an old resolved issue no longer reads 'nothing heard from the delivery' (issue 1950) 2026-10-27 07:21:14 +00:00

Merged #519 The placement check and the delivery gate read the group's mesh-sdk, so replicated seats pass and placement pull messages are read (issue 1126) 2026-10-27 07:21:10 +00:00

Merged #518 Every build module clears at start what a previous process left running, held by the catalogue's check (issue 1890) 2026-10-27 07:19:39 +00:00

Merged #516 Every build module runs the failure contract's conformance kit, and the catalogue refuses one that does not (issue 1901) 2026-10-26 23:44:17 +00:00

Merged #515 Delivery records are true at the source: the gate keeps no state after the merge, and the issue tracker reads delivered from the view (issue 1280) 2026-10-26 21:48:47 +00:00

Merged #514 The merge Approve says the check's real state, and is asked again when it passes or fails (issue 1733) 2026-10-26 21:25:37 +00:00

Merged #513 A reads-outside marker lists what its tests read, so its package's check is reused until one of those files changes (issue 1936) 2026-10-26 21:18:14 +00:00

Merged #505 The catalogue's placement files: listed at a merge and checked (issue 1126) 2026-10-26 21:11:17 +00:00

Merged #512 The image build context is the module's own directory, so a Dockerfile in a subdirectory builds (issue 1703) 2026-10-26 20:36:09 +00:00

Merged #511 The build modules size their capacity by CPU share and keep build hours (issues 1890, 1806) 2026-10-26 20:33:30 +00:00

Merged #510 mesh-issues: a milestone or commit link moves no issue and keeps no worker current (issue 1781) 2026-10-26 20:17:10 +00:00

Merged #509 Forge rights read as the user sees them; write-only grant for mesh-tools; progress answers in minimal detail (issues 1945, 1947) 2026-10-26 20:08:05 +00:00

Merged #508 The catalogue's check uses the shared binary refusal, commit by commit (issue 1577) 2026-10-26 19:32:31 +00:00

Merged #507 The catalogue's check refuses a compiled program under modules/, and main tracks none (issue 1577) 2026-10-26 18:14:00 +00:00

Merged #506 Milestones are records in the issue tracker, and progress reads them (issue 1781) 2026-10-26 18:06:48 +00:00

Merged #504 knowledge-base.progress: how far a design, milestone, issue or record has come, in one call (issue 1947) 2026-10-26 16:42:30 +00:00

Merged #503 The mesh writes the repositories it delivers, and asks no Approve for a merge it cannot carry out (issue 1945) 2026-10-26 16:25:07 +00:00

Merged #502 Image builds run their RUN steps on pasta, and every build failure keeps its real error (issue 1703) 2026-10-26 14:48:18 +00:00

Merged #501 An approved group merges whole or not at all, and two groups never interleave in one repository (issue 1275) 2026-10-26 14:47:35 +00:00

Merged #500 Every forge account the mesh's parts use reads every repository (the operator, 2026-10-26) 2026-10-26 14:47:30 +00:00

Merged #499 Build modules size their steps from the node's build share once it is given (issue 1806, change A) 2026-10-26 14:22:50 +00:00

Merged #498 mesh-build-go says which packages it cannot test here, and mesh-build-node's tests need the Node toolchain (issue 890, ADR 0552) 2026-10-26 13:40:41 +00:00

Merged #497 pacman: the round and the history tools say in plain words what they answer 2026-10-26 13:39:17 +00:00

Merged #496 Build modules end the steps a previous process left running, and serve build_<lang>_step_end (issue 1890) 2026-10-26 12:57:35 +00:00

Merged #495 gitea: the tools' forge account reads every repository (the operator, 2026-10-26) 2026-10-26 12:46:37 +00:00

Merged #494 Vault: adopt the hashes of bus accounts it holds no value for, handed sealed by the bus node (issue 1945, ADR 0550 clause 4) 2026-10-26 12:21:47 +00:00

Merged #493 Gate: merge turns, a merge waits for a running check of its repository, merges on a carried verdict with no second ask (ADR 0548, issue 568) 2026-10-26 12:01:28 +00:00

Merged #492 mesh-build-go: count skipped tests per package, so the checker keeps no pass that skipped (issue 890) 2026-10-26 12:01:13 +00:00

Merged #491 mesh-build-node tests: never install a toolchain from the registry in the integration level; skip as NOT RUN when none is installed (issue 890) 2026-10-26 11:34:17 +00:00

Merged #490 Desk channel: keep what was shown in memory while the store does not answer, so a clearing replaces the urgent notification (issue 384) 2026-10-26 11:33:48 +00:00

Merged #489 Knowledge base: withdraw a clause's 'changed by' mark once no accepted record changes it (issue 466) 2026-10-26 11:33:34 +00:00

Merged #488 Build modules: run every package's tests of a level, with a fixture of two failing packages (issue 1921) 2026-10-26 10:18:09 +00:00

Merged #487 Vault: name a hash record's secret in a field called of, so the runtime keeps it (issue 1945) 2026-10-26 09:00:52 +00:00

Merged #486 Vault: read own secrets' generations, and hash each bus account it is handed for the grants part (issue 1945, ADR 0547 clause 9) 2026-10-26 07:48:04 +00:00

Merged #485 Build modules' step and toolchain lists read only the newest keys they answer, in parallel (issue 1827) 2026-10-25 23:56:13 +00:00

Merged #484 mesh-provisioner-client: a module that leaves or is placed again asks the vault afresh (issue 1945) 2026-10-25 23:21:44 +00:00

Merged #483 Gate: a merge learnt seconds late moves the trunk; and a setting check-gates-merge so the merge check can stop gating (operator 2026-10-25 22:56) 2026-10-25 22:18:42 +00:00

Merged #482 mesh-provisioner-client: retry a refused write on the node-engine's wake and ask the vault again at once (issue 924) 2026-10-25 21:08:48 +00:00

Merged #480 Gate: hand every member of an approved group in pin order, settle pull requests closed on the forge, and say a stopped pass as a condition (issue 1275) 2026-10-25 19:28:34 +00:00

Merged #481 Build modules' steps live two days and their pause has a state of its own, so the steps bucket no longer fills (2026-10-25) 2026-10-25 18:06:40 +00:00

Merged #479 Let the build modules follow their capacity on the bus, so a node raised from capacity 0 starts pulling (issue 1887) 2026-10-25 17:02:41 +00:00

Merged #478 nextcloud: the module makes its own mesh-admin account right on a 401 and backs off on a refusal, so its shares poll stops being refused every minute (issue 1253) 2026-10-25 16:01:38 +00:00

Merged #477 mesh-build-go: a package that fails without an assertion carries its real cause, never "PASS" (issue 1901) 2026-10-25 15:07:41 +00:00

Merged #476 The provisioner client fills every module again when the socket returns and when its node's own composition moves (issue 1944) 2026-10-25 00:18:26 +00:00

Merged #475 R6: the gate keeps only the merge's states; walk, plan and step code and their verbs go (issue 1946) 2026-10-24 23:00:26 +00:00

Merged #473 R4g finish: mesh-build-go's compose job, the reads-outside marker in the digest, merge-check.sh gone (issues 1295, 1621-1623, 1935) 2026-10-24 20:56:50 +00:00

Merged #472 gitea's forge-account reads the forge's own host key file before scanning its sshd, so a forge restart no longer refuses every forge account (issue 1939) 2026-10-24 20:05:39 +00:00

Merged #474 The gate keeps a merge it hears before it holds its seat and catches source.main up when it does, so a missed merge no longer leaves the checker on an old trunk (issue 1726) 2026-10-24 19:47:47 +00:00

Merged #471 gitea's watcher answers its handshake without waiting for the forge, so a slow forge at a tool-runner restart no longer kills its tools and events (issue 1726) 2026-10-24 11:10:39 +00:00

Merged #470 mesh-build-go: lint the unit level's directories as many at once as its tests, so a large repository's check ends within its bound (issue 1930) 2026-10-24 00:16:55 +00:00

Merged #469 mesh-mail-reader: read messenger's sent_on as a list, so an unchanged set of mails is signalled once, not every 160 s (issue 1926) 2026-10-23 22:36:11 +00:00

Merged #466 mesh-build-go: a failed test keeps its last lines and its cause, not its first fifteen (issue 1901, with mesh-delivery) 2026-10-23 22:35:57 +00:00

Merged #468 gitea: the checker's owed results are taken at once and written in the background, so the runner keeps the watch and every mesh/check reaches the forge (issue 1726) 2026-10-23 22:35:33 +00:00

Merged #467 The build modules pin mesh-sdk's list-form level digest, so a check of a repository with a package named token ends (issue 1930, with mesh-sdk and mesh-delivery) 2026-10-23 22:08:24 +00:00

Merged #465 mesh-build-go: build_go_test takes packages as a typed list too, so checks run again (issue 1925) 2026-10-23 20:44:10 +00:00

Merged #464 R4g+R5 (mesh-catalog): the build modules pull asks, scripts become tests, build-agent references go (design 47) 2026-10-23 17:49:44 +00:00

Merged #463 The forge module changes no repository's branch protection unless keep-main-rules is true (issue 1903) 2026-10-23 15:14:21 +00:00

Merged #461 Move the gate's source.main for a merge heard only from the forge, so the checker judges on the trunk that is (issue 888) 2026-10-23 13:49:18 +00:00

Merged #460 Checks under 5 minutes (mesh-build-go): siblings only in the digests that read them, selected dirs in a pool, a mirror and verify once, and a change judged by its own build module (issues 1896, 890, 1898; ADR 0535, 0536) 2026-10-23 13:49:17 +00:00

Merged #462 Betterbird leaves the catalogue: the operator removed it from both desktops (issue 806) 2026-10-23 13:49:16 +00:00

Merged #458 The build modules refuse every step and report unhealthy under a 20 GiB free-space floor, release workspaces, and sweep after 2 h (issues 1839 and 1894, ADR 0532) 2026-10-23 11:29:04 +00:00

Merged #459 Make the catalogue's tests pass in the build sandbox, and give the integration level the installed Node toolchain read-only (issue 1891, ADR 0533) 2026-10-23 09:48:23 +00:00

Merged #457 R4e (mesh-catalog): build modules push and narrow, the gate stops judging, gitea writes mesh/check from the checker's owed state, and the census fixes 2026-10-22 22:12:52 +00:00

Merged #456 Make buildah's runtime directory before every buildah run, so mesh-build-image's health does not fail for want of it (issue 1884) 2026-10-22 21:48:47 +00:00

Merged #455 Fill a module again when a node-engine returns after any failed fill, not only a missing socket (issue 1873) 2026-10-22 21:19:10 +00:00

Merged #454 Let a run read from a node's pacman log never hold back a new upgrade, so the mesh can upgrade nodes at all (issue 1841) 2026-10-22 20:14:08 +00:00

Merged #453 Give /var/lib/systemd and /var/lib/postgres back to their packages and keep the two modules' own files under /var/lib/mesh (issue 1873, delivery A) 2026-10-22 20:04:29 +00:00

Merged #452 Keep the pacman keeper's state in a directory of its own, not in the package database's /var/lib/pacman (issue 1841) 2026-10-22 19:31:25 +00:00

Merged #450 Upgrade the nodes one at a time on the bus, with a package record, a kernel hold, an after-upgrade check, a rollback and a fallback kernel (upgrade safety, issues 1840 and 1841) 2026-10-22 18:34:16 +00:00

Merged #451 Let restic's thinning wait up to ten minutes for a held repository lock instead of failing at once (issue 620) 2026-10-22 18:16:38 +00:00

Merged #449 only-office: stop declaring the old lib directory (issue 1854) 2026-10-22 16:06:46 +00:00

Merged #448 only-office: keep its working directories under a root-only box (issue 1843) 2026-10-22 15:33:32 +00:00

Merged #447 Ask a check the build queue lost again, and take a recheck from proposed when no check of its head is held (issue 1274) 2026-10-22 15:27:43 +00:00

Merged #446 nextcloud: keep onlyoffice's jwt off argv, and re-check a failed connection every tick (issues 1831, 1832) 2026-10-22 14:52:00 +00:00

Merged #445 Fetch a Go pin only a pull request carries from its pull head, so a group member pinning its mesh-sdk head builds (issue 1148) 2026-10-22 14:40:56 +00:00

Merged #444 Hold a delivery's problem messages until it settles, and say a refusal only when its fresh check did not cure it (ADR 0505) 2026-10-22 14:01:19 +00:00

Merged #443 Let nginx through only-office's lib directory, so OnlyOffice serves converted documents instead of answering 403 (issue 1837) 2026-10-22 13:44:07 +00:00

Merged #442 A tool verifies the bus's snapshot, so an upgrade or a restore is checked without a docker exec (issue 1842) 2026-10-22 13:08:48 +00:00

Merged #441 Refuse a node name of the mesh in the pacman and kernel modules (issue 1838) 2026-10-22 12:24:36 +00:00

Merged #440 Pin only-office's secure-link secret, so OnlyOffice's signed download links verify across restarts (issue 1837) 2026-10-22 12:20:22 +00:00

Merged #434 The bus runs its upstream image with the mesh's programs mounted (issues 1640, 1641, 1642, ADR 0480 §1-§3, §5, §6; ADR 0497 §5; ADR 0506) 2026-10-22 12:05:13 +00:00

Merged #438 Join nextcloud to only-office through a document-server provision, so OnlyOffice opens documents again (issue 1830) 2026-10-22 09:49:59 +00:00

Merged #437 Hold a config value for the pull request that introduces its key (issue 1826, ADR 0502) 2026-10-22 09:38:31 +00:00

Merged #436 Give mesh-build-image the registry's address as the seat's reach (issue 1703) 2026-10-22 09:14:12 +00:00

Merged #435 Add the image build module: buildah and mesh-build-image, rootless, publishing only from the trunk (issues 1702, 1703, 1704, 1707) 2026-10-22 08:57:10 +00:00

Merged #433 Register the build and delivery modules as issue owners (issue 1815) 2026-10-22 08:30:41 +00:00

Merged #432 Hold the Approve ask until a review names the head (issue 1803, ADR 0496) 2026-10-21 23:48:59 +00:00

Merged #431 Leave the go.mod fixtures under testdata out of the build module's tests and digests (issue 1810) 2026-10-21 23:44:20 +00:00

Merged #430 Add disk_folders to disk-load: which folders fill a disk (issue 1804) 2026-10-21 23:21:00 +00:00

Merged #429 Start the gitea bundle's binds without awaiting them, so its handshake is answered (issue 1793) 2026-10-21 22:59:00 +00:00

Merged #428 Bind the gitea bundle's event consumers again until they hold, so verdicts reach the forge (issue 1793) 2026-10-21 22:44:16 +00:00

Merged #427 Make docker_volumes_remove_anonymous answer on a machine with over a thousand volumes (issue 1796) 2026-10-21 22:38:37 +00:00

Merged #426 A delivery whose walk was folded into a batch follows that batch's walk and ends delivered (issue 1786) 2026-10-21 22:26:34 +00:00

Merged #425 Add a tool that removes leftover anonymous docker volumes (issue 1796) 2026-10-21 21:54:26 +00:00

Merged #423 The checker runs beside today's check: build modules merge and place siblings; with automx, provisioner and gate fixes 2026-10-21 21:46:17 +00:00

Merged #424 Ask a group member's own repo-check when the group is held for it (issue 1792) 2026-10-21 21:38:10 +00:00

Merged #422 Make minio's link-key secrets 40 characters and keep every mc argument's secret out of its errors (issue 1766) 2026-10-21 19:00:13 +00:00

Merged #416 xterm: every resource a config value, today's values as defaults (issue 1656) 2026-10-21 18:36:29 +00:00

Merged #421 Name the wait in the Stop hook's suggested calls, route adopt's counter reset through fsys, and stop writing empty counter files 2026-10-21 18:19:19 +00:00

Merged #420 A session's wait list and the plugin's Stop hook, so a written-down wait is never left unwatched (ADR 0489, ADR 0490) 2026-10-21 17:18:48 +00:00

Merged #417 Files go through the store: object-store links, node-files upload/download, a document converter, and brother printing a key, a path on any machine or a web link (design 60 F3, ADR 0468) 2026-10-21 16:31:23 +00:00

Merged #419 Fill a delivery made from its verdict from its pull request's announcement, and say what it waits for (issue 1726) 2026-10-21 15:40:16 +00:00

Merged #418 Read automx's rows in a mode its image's sqlite3 knows (issue 1630) 2026-10-21 15:08:27 +00:00

Merged #415 Capture automx's live answers as fixtures and add a read-only tool for its database rows, before R4d replaces it (issue 1630) 2026-10-21 12:47:49 +00:00

Merged #414 Pin gitea, keycloak, mesh-provisioner-client, postgres and route-adapter to a mesh-sdk commit on main, so a fresh go mod download resolves them once the feature branch goes (issue 1663) 2026-10-21 12:30:06 +00:00

Merged #413 Pin mesh-provisioner, mesh-vault and rofi to a mesh-sdk commit on main, so a fresh go mod download (mesh-build-go's fetch) resolves them (issue 1659) 2026-10-21 11:40:06 +00:00

Merged #412 Add netcheck_request: one HTTP request and its whole answer, so a service's live answers can be captured, refusing loopback, unspecified and link-local addresses (issue 1643) 2026-10-21 11:27:34 +00:00

Merged #411 Read manifests that name shares: mesh-build-go and mesh-build-node take mesh-sdk 465beb4 (issue 1657) 2026-10-21 11:01:03 +00:00

Merged #408 Pack archive artifacts in mesh-build-go, a module's directory or a pinned file, and refuse any path that leads out of the module through a link (issue 1589, ADR 0478 §1) 2026-10-21 10:34:00 +00:00

Merged #410 Let the build modules answer their own step results and toolchains, so a fetch's workspace and a build's digest can be read (issue 1562, build-module half) 2026-10-21 10:26:14 +00:00

Merged #409 Make dev-tools, lab and the build modules need the go and nodejs modules instead of declaring the toolchain packages, step B of issue 1573 (ADR 0477 §4) 2026-10-21 10:21:03 +00:00

Merged #407 Apply a patch in the forge tool itself when the forge's diffpatch answers 500, so a patch whose context holds a non-ASCII character is taken (issue 1604) 2026-10-21 10:08:49 +00:00

Merged #406 Add the go and nodejs modules that own the toolchain packages on a node, step A of issue 1573 (ADR 0477 §4) 2026-10-21 09:36:50 +00:00

Merged #403 Build with the node's installed Go and Node, never a pinned or downloaded toolchain, so builds match what the nodes run (issue 1572, ADR 0477) 2026-10-21 09:27:18 +00:00

Merged #405 End a stranded stop whose modules no merge can carry, so its alert clears instead of asking the operator for ever (issue 1581) 2026-10-21 08:40:20 +00:00

Merged #404 Upgrade every node's packages on a Saturday 04:00 timer and make its outcome the pacman module's health, so the nodes stay on the same versions (issue 1574, ADR 0477) 2026-10-21 08:15:54 +00:00

Merged #402 Propose mesh-issues' owners: mesh-config takes the SDK that reads names with digits as names (issue 1439) 2026-10-21 08:07:39 +00:00

Merged #401 Declare scanner.scan's apart argument, so several tickets on the glass can be filed apart (issue 1528) 2026-10-21 07:33:46 +00:00

Merged #400 Build Go modules with Go's own release of the recipe's version, so the distribution's build no longer makes the guard refuse (issue 1560, ADR 0476) 2026-10-21 06:47:12 +00:00

Merged #399 Polish the brother module so the scanner and printer just work: long feeder scans, several tickets, joined glass pages, one-call print, certificate health 2026-10-21 00:22:45 +00:00

Merged #398 Fill a module's files one by one, so a known secret's file is not held back by a template that waits (issue 1553) 2026-10-21 00:13:39 +00:00

Merged #397 Mail reading: mesh-mail-reader notes each new mail, tells mail that matters on Telegram, and the mail page shows and corrects it (design 59 milestone 2) 2026-10-21 00:06:24 +00:00

Merged #396 Send the scan request on one line so the Brother honours it, and scan from the feeder, both sides, into one PDF (issue 1452) 2026-10-20 23:19:57 +00:00

Merged #395 Mark the build modules moved, so a machine assigned them composes before the forge serves their entry (issue 1537) 2026-10-20 23:09:36 +00:00

Merged #392 Close every eSCL scan job brother opens, and say a busy scanner as busy (issue 1531) 2026-10-20 22:53:09 +00:00

Merged #394 File a scan of any size: answer its parts in 128 KiB under the state's 256 KiB value limit, and end only a too-large answer at once (issue 1535) 2026-10-20 22:47:14 +00:00

Merged #393 Let printer.settings say each setting's current value: the checked radio, a checkbox's state, the selected option (issue 1530) 2026-10-20 22:38:07 +00:00

Merged #391 Name the build test's fixture manifest module.json.fixture, so no reader takes it for a module of the catalogue (issue 1527) 2026-10-20 22:15:31 +00:00

Merged #389 The Go and the Node build modules, ssh-client on the SDK's key keeper, and gitea's read-only builder accounts (design 47 R4c-3) 2026-10-20 21:43:14 +00:00

Merged #390 Start brother's admin login where the printer serves its form, and never leave a session open or post the password off https (issue 1514) 2026-10-20 21:28:42 +00:00

Merged #388 Offer an open ask no channel has sent again on the minute tick: a stopped messenger loses its outbox (issue 1507) 2026-10-20 21:05:02 +00:00

Merged #387 Let brother's printer-certificate pin several fingerprints: the printer serves an ECDSA and an RSA certificate (issue 1503) 2026-10-20 20:49:33 +00:00

Merged #386 Make the messenger's hourly cap a setting, messages-per-hour: 100 by default, 0 turns the pause off (issue 1476) 2026-10-20 20:21:57 +00:00

Merged #385 Let brother's scan-folder take an absolute path: mesh-config matches a pattern against the whole value (issue 1472) 2026-10-20 20:17:26 +00:00

Merged #384 The brother module: one module for the Brother printer, holding the scanner and printer seats, scans kept in its bucket and printing over the broker (issue 1453, ADR 0467, ADR 0468) 2026-10-20 19:48:06 +00:00

Merged #383 A scan module: scan the glass over eSCL, crop the document, file it as a PDF and announce it (issue 1440, ADR 0464) 2026-10-20 18:23:44 +00:00

Merged #382 mesh-issues stops listening to the removed module's transition, which every controller merge check now refuses (issue 1406) 2026-10-20 13:28:30 +00:00

Merged #381 Remove today's delivery module now that the gate holds its seat (design 47 R3e, issue 1351, ADR 0454) 2026-10-20 12:27:48 +00:00

Merged #380 The gate takes over today's mesh-delivery: mesh-delivery-gate holds the seat, asks and merges through the parts, and today's module leaves (design 47 R3e, issues 1346-1351) 2026-10-20 06:49:18 +00:00

Merged #379 Let a commit copy files from another repository on the forge, so a large move reaches the forge from any machine (issue 1365) 2026-10-20 05:57:01 +00:00

Merged #378 Read the grant file on keycloak's moved path, so a consumer not moved gets its client (issue 1332) 2026-10-19 22:46:05 +00:00

Merged #377 The mail web client: mesh-mail-web, and mesh-mail's views for it (design 59 milestone 1) 2026-10-19 21:27:33 +00:00

Merged #376 Say a group member refused only because main moved a warning for ten minutes, urgent after (issue 1275 AC6, ADR 0442) 2026-10-19 18:58:22 +00:00

Merged #375 Merge a group whole or not at all, and say loudly when it cannot (issues 1275, 1276) 2026-10-19 18:45:31 +00:00

Merged #374 Give the forge bridge a merge commit's trees in one call, and each open pull request's head branch (design 47 R3c, issue 1234) 2026-10-19 18:22:10 +00:00

Merged #373 Answer each gmail mail once when no folder is named, keeping archived mail (issue 1248) 2026-10-19 13:39:15 +00:00

Merged #372 mail_search answers the operator's questions: optional words, filters by sender, recipient, cc, date, words, attachment, flags, thread and correspondents, ordered and grouped (issues 1228-1232) 2026-10-19 13:17:13 +00:00

Merged #371 mesh-mail sends an approved mail from its own sender process, and tells a failed send once (ADR 0436, ADR 0438; issues 1172, 1193-1199) 2026-10-19 11:36:51 +00:00

Merged #370 Keep two values of each issue in the tracker's bucket, since the log holds them all (issue 1221) 2026-10-19 11:08:47 +00:00

Merged #369 The router takes a module's condition on the operator channel's one subject (design 47 R3b: issues 1217, 1218) 2026-10-19 10:28:29 +00:00

Merged #368 Ask a refused merge again when its checks turn green on the forge (issue 1144) 2026-10-18 22:05:46 +00:00

Merged #366 Write a provisioner client's files only on a change over the bus, never on a timer (issue 1129, ADR 0430) 2026-10-18 16:56:33 +00:00

Merged #367 Register the repository mesh-delivery as an owner, so its issues can be located in it (issue 1133) 2026-10-18 16:52:06 +00:00

Merged #365 A repository the gitea module makes refuses an administrator's merge past its checks (issue 1141) 2026-10-18 16:24:57 +00:00

Merged #364 gitea fills repositories.json through the provisioner client, so an approved repositories value lands at once (issue 1128) 2026-10-18 16:03:59 +00:00

Merged #363 The gitea module makes the organisation's repositories from its config, protected before any team reaches them; no tool creates in the organisation (issue 1124, ADR 0428) 2026-10-18 15:05:04 +00:00

Merged #362 gitea_create_repo creates a repository in an organisation, saying the forge's refusal (issue 1124) 2026-10-18 13:50:32 +00:00

Merged #361 mesh-delivery waits for nothing: a check is asked at once and a standing verdict adopted (issue 1115) 2026-10-18 10:38:06 +00:00

Merged #360 A pull request at the same head as one closed unmerged takes its delivery over (issue 1114) 2026-10-18 09:59:02 +00:00

Merged #359 mesh-delivery hears a pull request closed unmerged from the forge's own event (issue 1107) 2026-10-18 09:00:19 +00:00

Merged #358 A group member refused for its own pending repo-check is asked its own check, not the composed one (issue 1049) 2026-10-18 02:41:26 +00:00

Merged #357 Readers of the assignments skip an ended or pending one (design 47 milestone 5, issue 1098) 2026-10-18 02:04:17 +00:00

Merged #356 A group approved together merges in one pass and goes out in one delivery plan (design 47 milestone 3 fix: issues 1049, 1082, 1047, 1083, 1079) 2026-10-17 23:44:21 +00:00

Merged #355 Let a proposed record be withdrawn (issue 1081) 2026-10-17 22:15:25 +00:00

Merged #353 mesh-delivery holds a delivery whose backup failed and release asks again; restic records a backup that cannot start (issues 1067, 1068) 2026-10-17 21:48:51 +00:00

Merged #354 Tools to read the knowledge base and the issue tracker in fewer, smaller calls (issues 1064, 1069, 1070, 1071) 2026-10-17 21:34:20 +00:00

Merged #352 No ready mark: the Approve is asked once the checks pass, and a group merges in one pass on its one Approve (issues 1022, 978) 2026-10-17 20:11:06 +00:00

Merged #351 Run the integration-tagged tests in the merge check, before any test carries the tag (issue 895) 2026-10-17 19:38:16 +00:00

Merged #349 Every directory says how it treats files it does not know, and the catalogue checks it (issue 1024) 2026-10-17 18:14:12 +00:00

Merged #350 build-agent and route-proxy leave for mesh-controller (issue 1019, ADR 0420) 2026-10-17 17:44:17 +00:00

Merged #348 mesh-delivery announces each merge with the Approve it merged on (issue 1025, ADR 0420) 2026-10-17 16:00:29 +00:00

Merged #347 ssh-client's sweep keeps what ssh reads itself and linked key folders, and fails loudly (issue 1020, ADR 0417) 2026-10-17 15:13:46 +00:00

Merged #346 ssh-client keeps ~/.ssh to what it knows: sweep every other path into a kept folder (issue 1017, ADR 0415) 2026-10-17 13:07:06 +00:00

Merged #345 mesh-delivery acts on events and keeps each pull request's key; the forge's announcements carry a message id (issues 975, 976, design 47 milestone 2) 2026-10-17 12:52:42 +00:00

Merged #344 One forge user, nox-agent, for every machine's agents' SSH pushes, each machine's key titled by machine (issue 991, ADR 0410) 2026-10-17 00:51:08 +00:00

Merged #343 Give the forge an ssh name of its own, so it no longer merges with the operator's entry for its machine (issue 955, ADR 0409) 2026-10-17 00:05:58 +00:00

Merged #342 Keep gitea's forge-account provider running when a watch is refused, so a later grant is picked up (issue 955) 2026-10-16 23:30:29 +00:00

Merged #341 Let gitea's forge-account provider read the assignments it learns its consumers from (issue 955) 2026-10-16 23:11:16 +00:00

Merged #340 Feature agents-write-git, step 2: git over SSH with a key made on each machine (issue 955) 2026-10-16 22:31:17 +00:00

Merged #339 Serve postgres's consumers the port its server is published on, not the container's 5432 (issue 957) 2026-10-16 20:15:34 +00:00

Merged #338 Feature agents-write-git, step 1: agents write with their own accounts, main stays closed, a merge into main waits for the operator (issues 948, 954) 2026-10-16 19:45:37 +00:00

Merged #337 Feature providers-after-switch-on, step 1: providers answer after the switch-on (issues 923, 928, 849, 945, 825) 2026-10-16 19:13:02 +00:00

Merged #336 Ask the plans again when the moved path starts before its runtime answers (issue 943) 2026-10-16 16:55:41 +00:00

Merged #335 Say once after a restart that nothing waits, so an old retirement condition clears (issue 937) 2026-10-16 16:45:30 +00:00

Merged #334 Keep serving the consumers postgres's grant file gives on its moved path (issue 937) 2026-10-16 16:32:21 +00:00

Merged #333 Hold an ask no channel can carry now and offer it when one can (issue 926, ADR 0397) 2026-10-16 16:28:22 +00:00

Merged #332 mesh-files holds node-files: file work on a node with trash, owned paths and an act log, no shell needed (issue 900, ADR 0394) 2026-10-16 14:25:13 +00:00

Merged #331 mesh-delivery: mark-ready writes label then comment in the order the forge counts; a label awaiting its comment is not cleared (issue 913, issue 873) 2026-10-16 13:47:38 +00:00

Merged #330 Feature 57 (config and provisioning): release the catalogue 2026-10-16 10:57:57 +00:00

Merged #329 A delivering group says success on mesh/delivery-group, so its later members can merge (issue 902) 2026-10-16 09:16:37 +00:00

Merged #328 Feature 57 (config and provisioning): the catalogue's modules into the release branch 2026-10-16 09:00:50 +00:00

Merged #327 Put a group's composed check out of date when a member is rechecked (issue 867, ADR 0323 §6) 2026-10-16 01:20:20 +00:00

Merged #326 mesh-mail: a send ask the operator channel can carry (issue 868) 2026-10-16 00:08:22 +00:00

Merged #325 Group siblings: mesh-delivery names member heads; the forge re-pends and refuses on a sibling's move (issue 867, ADR 0382) 2026-10-15 23:53:10 +00:00

Merged #324 mesh-mail-notifier asks its own machine's node-notifier (issue 865) 2026-10-15 21:34:27 +00:00

Merged #323 The clipboard service waits for an older daemon's lock, and the history sees the daemon (hq issues 860, 862) 2026-10-15 21:31:47 +00:00

Merged #322 mesh-mail-notifier: the watcher runs in its runtime, not a process that exits at once (issue 859) 2026-10-15 21:21:13 +00:00

Merged #320 The clipboard keeps its history running and keeps it to itself (hq issues 743, 750) 2026-10-15 21:02:05 +00:00

Merged #319 gitea_commit takes a large patch from a hash-checked spool file (issue 852) 2026-10-15 20:55:15 +00:00

Merged #321 The kernel module's transparent-huge-pages defaults to madvise (hq issue 856, ADR 0381) 2026-10-15 20:47:50 +00:00

Merged #318 An active research effort takes new versions, reviewed as proposals (hq issue 844) 2026-10-15 19:35:08 +00:00

Merged #317 Mail seats: mesh-mail declares them, mesh-mail-notifier shows new mail, messenger tells (issues 800, 797) 2026-10-15 18:04:20 +00:00

Merged #316 Mail and bus hardening: mesh-mail sends on Approve, desk prompt says what for, duplicate PR delivery, cpu_top (issues 790, 789, 783, 741, 811) 2026-10-15 14:59:25 +00:00

Merged #315 mesh-mail: byte-bounded fetch, accounts only to granted callers, grants error kept, secret only stat'ed (hq issue 733) 2026-10-15 08:49:32 +00:00

Merged #300 mesh-mail: the operator's mail accounts, watched and said on the bus — stage 1, own server read-only (hq ADR 0359) 2026-10-15 08:44:08 +00:00

Merged #313 Read branch protection as the forge's administrator, so builds register again (issue 772, ADR 0375) 2026-10-15 00:22:49 +00:00

Merged #311 Make the forge's tools act as an account of their own, not the administrator 2026-10-14 22:51:36 +00:00

Merged #312 Give a rollout the word of a stopped delivery that waits for it (hq issue 753) 2026-10-14 22:35:39 +00:00

Merged #310 Add the kernel module: transparent huge pages set per machine (hq issue 746, ADR 0369) 2026-10-14 21:52:50 +00:00

Merged #309 Make the forge's webhook a system one, and say whether its events are heard (hq issue 729) 2026-10-14 21:40:45 +00:00

Merged #308 Cover a failed or stopped delivery once a later finished walk contains it (hq issue 747) 2026-10-14 21:30:10 +00:00

Merged #307 Let an agent's session run the TypeScript check outside the toolchain image (issue 742) 2026-10-14 21:06:32 +00:00

Merged #306 Clear a forge token name held twice, and mint one process at a time (hq issue 740) 2026-10-14 21:03:30 +00:00

Merged #304 Say every forge event on the bus through a signed system webhook (hq issue 729) 2026-10-14 20:28:01 +00:00

Merged #301 Build build-agent and route-proxy without a build ID (hq issue 721) 2026-10-14 20:21:13 +00:00

Merged #303 Merge a pull request marked ready at its head once its checks pass (issue 722) 2026-10-14 19:57:01 +00:00

Merged #298 mesh-catalog: hear the build seat that builds now (hq issue 712) 2026-10-14 19:35:14 +00:00

Merged #286 57/V1: mesh-vault in Go, holding secrets sealed and answering get sealed to the asker (issue 674) 2026-10-14 18:27:50 +00:00

Merged #297 Give the build agent a judge cache of its own (issue 704, ADR 0358) 2026-10-14 18:19:31 +00:00

Merged #299 An answered ask keeps its question whole, its answer below it (issue 714) 2026-10-14 18:11:07 +00:00

Merged #296 mailu: declare its unhealthy urgent (hq ADR 0355 §5, issue 691) 2026-10-14 17:01:23 +00:00

Merged #295 mailu: ban clients that try to log in on port 25 (hq issue 708) 2026-10-14 13:39:52 +00:00

Merged #294 mailu: judge the smtp container by whether mail flows (hq issue 690) 2026-10-14 13:29:25 +00:00

Merged #285 mailu: judge the front by SMTP and its certificate, not only its web health (hq issue 688) 2026-10-14 13:06:45 +00:00

Merged #284 mailu: move the resolver to Mailu 2024.06.63, which follows the root key change (hq issue 687) 2026-10-14 12:32:37 +00:00

Merged #291 57/K2: The list of predefined keys, and a merge check refusing a key removed while a module names it (issue 661) 2026-10-14 06:52:29 +00:00

Merged #289 Five postgres consumers say which provision their check exercises (hq issue 145, to-be 48 Phase E) 2026-10-14 05:26:48 +00:00

Merged #290 57/F2b: influxdb serves its org and bucket from its settings (issue 696) 2026-10-14 05:15:54 +00:00

Merged #288 lab: name the base image's age, refuse a stale one, and rebuild it (issue 698) 2026-10-14 05:12:38 +00:00

Merged #287 lab: a run whose suite proved nothing reads as failed, with its skips (issue 693) 2026-10-14 05:05:40 +00:00

Merged #283 build-agent: declare busy, so a replaced agent finishes the check it runs (issue 594, hq ADR 0335) 2026-10-13 22:39:51 +00:00

Merged #282 mesh-delivery: a closed pull request's check builds go, and a walk says what each build did (ADR 0350, issue 649) 2026-10-13 21:30:30 +00:00

Merged #280 gitea serves the registry's public root; the lab trusts a tarball only there or at the forge's own origin (issue 624, ADR 0346) 2026-10-13 19:52:06 +00:00

Merged #278 An ask reads at a glance on the phone: a headline, a summary and its points, the rest in a note (issues 383 and 639) 2026-10-13 19:02:21 +00:00

Merged #281 Revert #277: no showmissed lock in betterbird's policy (issue 640) 2026-10-13 15:06:09 +00:00

Merged #279 claude-code: the memory watch only notes a change, so it starts on a node with hundreds of files (issue 367) 2026-10-13 14:58:35 +00:00

Merged #277 betterbird: a passed meeting's reminder does not come back at every Owl reload (issue 640) 2026-10-13 14:47:58 +00:00

Merged #275 lab: name the package registry by the address it names itself by, so npm 12 installs locked @novox packages (issue 624) 2026-10-13 14:35:04 +00:00

Merged #276 claude-code: a session's memory follows the operator to every node (issue 367, ADR 0343) 2026-10-13 14:26:59 +00:00

Merged #274 lab: read the bound forge credential through the tools bundle's env, and check in a fresh directory each time (issue 624) 2026-10-13 12:58:15 +00:00

Merged #272 lab: clone the forge with the credential the mesh binds and seals to the lab (issue 624) 2026-10-13 12:07:06 +00:00

Merged #270 licence manager: say what moved a binding, why, and who asked (issue 625) 2026-10-13 11:59:03 +00:00

Merged #269 dev-tools: give every node the toolchains to build and test the mesh's code (issue 626) 2026-10-13 11:56:19 +00:00

Merged #268 lab: install each checkout where its lock file is, check out mesh-tools-go, and have lab_check catch both (issue 624) 2026-10-13 11:11:58 +00:00

Merged #267 fail2ban: know the own-addresses list in the form fail2ban prints it (hq issue 238) 2026-10-13 09:18:27 +00:00

Merged #266 fail2ban: never ban the operator's own addresses, and say a failure from one (hq issue 238, ADR 0339) 2026-10-13 09:05:49 +00:00

Merged #265 Deliver a merge whose walk said its modules matched what runs, instead of stopping it as stranded (hq issue 611) 2026-10-13 08:25:47 +00:00

Merged #264 A password, token or API key is the vault's, never a setting (hq issue 342) 2026-10-13 05:52:05 +00:00

Merged #263 build-agent: the package registry is optional, and genesis hands it the forge it raised (hq issue 121, ADR 0336) 2026-10-13 03:37:09 +00:00

Merged #262 betterbird: own Betterbird's whole configuration as settings, shown without a credential (hq issue 586, ADR 0329) 2026-10-13 00:25:41 +00:00

Merged #259 Mark grafana's and home-assistant's soft requirements optional (hq issue 166, ADR 0330) 2026-10-13 00:22:35 +00:00

Merged #261 lab: runs name the one genesis bundle (issue 146) 2026-10-12 23:22:06 +00:00

Merged #252 Name the setting keys searxng, keycloak and betterbird files take (hq issue 168, ADR 0326) 2026-10-12 22:37:06 +00:00

Merged #258 claude-code: a session asks the operator on Telegram and reads the answer by a key (issue 589, hq ADR 0332) 2026-10-12 21:30:23 +00:00

Merged #257 Say how the build agent and the route proxy are ready (hq issue 544) 2026-10-12 20:00:06 +00:00

Merged #250 mesh-issues: a fix's time from the move to fixing to delivered, and loud over its budget (issue 403, hq ADR 0313) 2026-10-12 19:41:32 +00:00

Merged #256 betterbird: ship the operator's approved configuration, and show and fix drift from it (hq issue 345) 2026-10-12 19:22:15 +00:00

Merged #255 A merged pull request is announced with its branch, so its delivery group is found (hq issue 578) 2026-10-12 19:07:04 +00:00

Merged #254 gitea: announce every open pull request's new head, not only the newest 20 (hq issue 579) 2026-10-12 18:58:28 +00:00

Merged #253 betterbird: lock the ask to be the default mail client off (hq issue 345) 2026-10-12 18:23:50 +00:00

Merged #251 A verdict goes out of date when its trunk moves, and the merge tool refuses it (hq ADR 0323, issue 341) 2026-10-12 16:11:29 +00:00

Merged #247 mesh-reads: a node's files and accounts read as an account that holds no secret (hq ADR 0310, issue 418) 2026-10-12 14:52:19 +00:00

Merged #239 mesh-issues: a resolved issue ends its fix-stuck warning, and a closed issue's fix is never said stuck (hq issue 547) 2026-10-12 13:21:50 +00:00

Merged #249 artifact-store-tools: an image a definition pins, under any name the store has had, is named by a definition (hq issue 323) 2026-10-12 13:08:32 +00:00

Merged #240 betterbird: Betterbird from its pinned release, Owl by policy, accounts declared without credentials and adopted, and a reminder test that is visibly a test (hq issue 345, ADR 0316, ADR 0317) 2026-10-12 12:54:54 +00:00

Merged #246 mesh-delivery: say how many owed effects were tried since the start (hq issue 407) 2026-10-12 12:23:37 +00:00

Merged #245 mesh-knowledge: a record may change a drafted clause, and a record whose clauses others link by number is never redrafted (hq issue 494, ADR 0321) 2026-10-12 12:18:34 +00:00

Merged #243 mesh-delivery: say an unanswered line's delivery state as data (hq issue 451) 2026-10-12 12:14:45 +00:00

Merged #166 nats: say whether a user's grant is in force on the running server (review of hq issue 353) 2026-10-12 12:13:26 +00:00

Merged #242 mesh-delivery: a stop a later merge covered reads covered, and stays in deliveries while stalled lists it (hq issue 480) 2026-10-12 11:56:11 +00:00

Merged #241 messenger: a replaced ask's own message ends with it, and a cleared record owes nothing (hq issue 548) 2026-10-12 11:50:30 +00:00

Merged #237 mesh-knowledge: the review asks changes for a decision nothing would cite, so its acceptance never turns the module unhealthy (hq issue 504) 2026-10-12 11:44:58 +00:00

Merged #238 messenger: a walk's held messages are told only once its message was sent, handed on only as a first hold would take them, and its start and end compared on the controller's clock (hq issue 538) 2026-10-12 11:41:48 +00:00

Merged #230 messenger: hold what a delivery walk touches, tell its end once, and say nothing again for a restart (hq ADR 0308, issues 532, 531) 2026-10-12 11:21:17 +00:00

Merged #236 gitea forge bundle: the parent the forge used, protection rules as the forge matches them, size and time bounds, one HTTP client (issue 539) 2026-10-12 10:58:08 +00:00

Merged #231 A module whose tests could not run fails the repository check (issue 385) 2026-10-12 10:48:12 +00:00

Merged #234 gitea: a recheck's pending goes through the one writer of mesh/merge-gate (issue 456) 2026-10-12 10:32:00 +00:00

Merged #235 mesh-knowledge: the bus test passes on any day (issue 540) 2026-10-12 10:31:19 +00:00

Merged #233 gitea: an agent's commit on a branch of its own, and the reads around it (issue 375) 2026-10-12 10:14:06 +00:00

Merged #229 mesh-delivery: give a waiting walk its word or say what holds it (issues 529, 362) 2026-10-12 09:55:21 +00:00

Merged #228 mesh-issues: the issues are kept in the log changes, and the bucket is their fold (hq ADR 0300, issues 501, 502) 2026-10-12 08:46:10 +00:00

Merged #227 Hold a leaf delivery to three minutes in times (hq ADR 0304 decision 4, issue 525) 2026-10-12 00:02:25 +00:00

Merged #226 Read the tunnel through sudo where the tool runner is not root (hq issue 522) 2026-10-11 22:07:54 +00:00

Merged #225 Show the tunnel's peers as each machine sees them, and say on the bus when they move (hq issue 522) 2026-10-11 21:55:15 +00:00

Merged #221 mesh-delivery: a stop ends only its own change on a shared walk (hq issue 459, ADR 0299) 2026-10-11 19:49:16 +00:00

Merged #224 restic: nothing declared has no overdue night; a count's age is judged by awake time (issue 489) 2026-10-11 19:31:06 +00:00

Merged #223 mesh-issues: reserve's description says it asks the knowledge base (issue 493) 2026-10-11 19:07:27 +00:00

Merged #222 mesh-knowledge, claude-code: a long record is reviewed within a bound sized to it, and a proposal waiting on its author leaves the module healthy (hq issue 508) 2026-10-11 18:41:55 +00:00

Merged #219 mesh-knowledge: a review owed says when it is due, survives a restart, and its last try is told to the operator (hq issue 497) 2026-10-11 17:49:34 +00:00

Merged #218 mesh-issues: take every condition key the controller raises and every delivery id mesh-delivery gives (hq issue 475) 2026-10-11 17:28:34 +00:00

Merged #212 mesh-issues: say a delivered fix left in fixing, and flag an abandoned issue (hq issue 483, ADR 0294) 2026-10-11 16:52:59 +00:00

Merged #215 restic: a backup taken by hand outlives the next thinning (hq issue 453) 2026-10-11 16:13:45 +00:00

Merged #217 docker: the module's state is in the mesh's directory, never /var/lib/docker (hq issue 452) 2026-10-11 16:07:36 +00:00

Merged #216 mesh-knowledge: the review is shown every link kind propose accepts, and a research effort's status apart from its state (hq issue 492) 2026-10-11 11:12:40 +00:00

Merged #214 Nothing reads decision records from hq: records_decisions retired, reserve asks the knowledge base, an empty import refuses (hq issue 488) 2026-10-11 10:55:19 +00:00

Merged #213 mesh-knowledge: the import keeps every field, takes clauses only from the Decision section's own list, and can repair what it held (hq issue 487) 2026-10-11 10:55:15 +00:00

Merged #211 mesh-knowledge: the knowledge base reviews a proposal itself, and serves no review verb (hq issue 425) 2026-10-11 10:55:10 +00:00

Merged #205 docker: log rotation is a preference, 100m × 10 by default, judged before daemon.json takes it (hq issue 452) 2026-10-11 10:21:53 +00:00

Merged #210 restic: a failed backup, a failed thinning and a refused retention raise a condition (hq issue 454) 2026-10-11 10:18:25 +00:00

Merged #209 mesh-knowledge: run watch as the account the health tool reads as (hq issue 479) 2026-10-11 09:55:36 +00:00

Merged #208 mesh-delivery: a merge whose walk ended before its word is settled from that walk's record (hq issue 474) 2026-10-11 09:45:06 +00:00

Merged #207 mesh-issues: record who acted as the caller the runtime proves (hq issue 365) 2026-10-11 09:35:38 +00:00

Merged #206 mesh-knowledge: the knowledge base, first slice (hq issue 425, ADR 0290) 2026-10-11 03:48:50 +00:00

Merged #204 mesh-issues: the tracker hands out decision and research numbers (hq issue 424) 2026-10-11 02:59:56 +00:00

Merged #200 restic: the backup retention is a preference, today's 14/8/6 its default (hq issue 416, first half) 2026-10-11 02:24:36 +00:00

Merged #203 mesh-delivery: a member after a superseded one waits while a later merge can carry it (hq issue 445) 2026-10-11 02:18:42 +00:00

Merged #201 mesh-delivery: give an unanswered line's checks as data (issue 443) 2026-10-11 01:52:01 +00:00

Merged #202 A pending merge check says where it is: in the build queue since when, then building on which machine (hq issue 446) 2026-10-11 01:27:07 +00:00

Merged #199 mesh-delivery: say a ready or rejected delivery whose check has not answered on the forge (hq issue 441) 2026-10-11 01:26:37 +00:00

Merged #198 mesh-cli: build on the SDK that reads the engine's refusal after a failed write (hq issue 444) 2026-10-11 01:04:53 +00:00

Merged #197 mesh-delivery: a group whose members all ended ends, never delivering (hq issue 442) 2026-10-11 00:55:59 +00:00

Merged #195 mesh-delivery: say a head whose merge check started and never answered (issue 438) 2026-10-11 00:47:19 +00:00

Merged #196 mounts: list says an armed automount waits, not mounted (issue 437) 2026-10-11 00:21:31 +00:00

Merged #194 mounts: list reads the root mount's unit (issue 374) 2026-10-11 00:13:59 +00:00

Merged #193 gitea: a merge names the head it was reviewed at (issue 381) 2026-10-10 23:56:31 +00:00

Merged #192 messenger: read a condition's message before it is sent (issue 422) 2026-10-10 22:54:35 +00:00

Merged #190 mounts: an SMB source's username in its sources entry, its password as its own one-line secret, and a missing one waits (issue 386, ADR 0283) 2026-10-10 20:18:33 +00:00

Merged #191 Say in a condition's message which issue tracks it and where it stands (issue 400) 2026-10-10 20:09:42 +00:00

Merged #189 mesh-issues: an issue says who works on it, and resolves only from fixing (hq issue 399) 2026-10-10 19:13:32 +00:00

Merged #188 mesh-delivery: delivery time per delivery and the times verb (hq ADR 0282 slice 1, issue 382) 2026-10-10 19:07:24 +00:00

Merged #187 mesh-delivery: write a delivery only when it changed (hq issue 326) 2026-10-10 17:50:53 +00:00

Merged #186 mesh-issues: a verdict naming issue 0 is none, and the tracker's own module is a registered owner (issue 396) 2026-10-10 17:22:25 +00:00

Merged #185 mesh-issues: an issue knows whether its fix is delivered, says it ready to verify, and a fix stuck after its merge is said (hq ADR 0281) 2026-10-10 16:19:55 +00:00

Merged #184 mesh-issues: triage every new issue — severity, needs, suggested owner, dependencies — and ready when what it depends on is delivered (hq ADR 0279) 2026-10-10 16:11:57 +00:00

Merged #161 dnsmasq answers or is restarted, binds once; tools for DNS, sockets and the runtime's memory (hq issue 348) 2026-10-10 15:48:12 +00:00

Merged #183 mesh-issues: the duplicate check on every new issue, and groom for the backlog; claude-code: claude_code_judge (hq ADR 0278) 2026-10-10 15:34:47 +00:00

Merged #182 A channel shows nothing from its memory after a restart; the router says again what is still open (issue 384) 2026-10-10 14:17:04 +00:00

Merged #180 mesh-issues: import hq's issue folders at their own numbers (hq ADR 0275, to-be 53 slice 3) 2026-10-10 14:04:24 +00:00

Merged #179 mounts: the SMB login is typed as one line at the desk's prompt (issue 379) 2026-10-10 13:55:04 +00:00

Merged #177 rofi: the desk's secret prompt names who asked (hq ADR 0277) 2026-10-10 13:34:22 +00:00

Merged #176 One message per problem: a reminder replaces, a blip says nothing (issues 373 and 369) 2026-10-10 12:39:07 +00:00

Merged #175 messenger, telegram: a tap shows at once what it did, and the question changes to its outcome (issue 372) 2026-10-10 12:15:15 +00:00

Merged #174 messenger: every message still shown keeps its own Details (issue 371) 2026-10-10 11:48:50 +00:00

Merged #173 claude-code: leave the judging of a proposal's channel to the router, and hear its refusal (issue 370, hq ADR 0274) 2026-10-10 11:18:27 +00:00

Merged #171 mesh-delivery: a walk answers every merge it contains, never an ended delivery (hq issue 362, ADR 0276) 2026-10-10 11:14:08 +00:00

Merged #172 mesh-issues: the issue tracker, so an issue's number comes from one counter no two openers share (hq ADR 0275, to-be 53 slice 1) 2026-10-10 11:00:55 +00:00

Merged #170 claude-code: an agent proposes a shared instruction section, and every node takes it only on the operator's warrant (hq ADR 0274) 2026-10-10 10:56:38 +00:00

Merged #169 route-proxy and build-agent name the package they compile; a rename is said under both names (hq ADR 0267, issue 363) 2026-10-10 10:25:29 +00:00

Merged #167 dunst: a tap chooses a notification's action (hq issue 360) 2026-10-09 22:21:09 +00:00

Merged #168 claude-code: claude in the operator's zsh starts the agent's session where the machine names an agent account (hq ADR 0266) 2026-10-09 22:20:52 +00:00

Merged #141 claude-code: declare the account agents run as and claude-agent (hq ADR 0266) 2026-10-09 21:59:39 +00:00

Merged #165 Refuse a daemon's line in what a module shows: the operator types nox (hq ADR 0272, issue 356) 2026-10-09 17:34:09 +00:00

Merged #164 mesh-cli: carry what a pipe or a file gives standard input, for the controller's terminal (hq ADR 0259 §10, ADR 0272) 2026-10-09 15:58:49 +00:00

Merged #134 telegram and desk-channel: channels of their own (hq ADR 0259) 2026-10-09 15:48:33 +00:00

Merged #135 rofi: node-launcher's hidden prompt, answered sealed to the asker (hq ADR 0259 §10) 2026-10-09 15:27:11 +00:00

Merged #163 mesh-delivery: cover a held merge whose module a backlog walk carried to every machine (hq issue 351) 2026-10-09 15:03:37 +00:00

Merged #142 nfs-server: check every share against where the backup seat keeps its data, on every pass (review follow-up of #136) 2026-10-09 12:55:41 +00:00

Merged #162 mounts: never leave a failed mount unit when a source is away, or the failure of a unit it takes over (hq ADR 0263 rules 4 and 6) 2026-10-09 12:55:38 +00:00

Merged #160 mesh-cli at go/v0.1.9, and the unannounced pull request's number (hq ADR 0272, issue 347) 2026-10-09 11:54:33 +00:00

Merged #153 gitea: the forge's tools never weaken protection or merge past the checks (hq ADR 0266 §7, route B) 2026-10-09 11:49:43 +00:00

Merged #159 Announce a pull request opened after its push, and say one nobody checks (hq issue 347) 2026-10-09 11:38:48 +00:00

Merged #156 mesh-cli: the operator's command on every node, nox in zsh (hq ADR 0272) 2026-10-09 11:38:44 +00:00

Merged #154 xorg: list the server's windows, and cut a window's screenshot from the screen (hq issue 345) 2026-10-09 10:51:01 +00:00

Merged #157 picom: the backend and damage tracking are each machine's settings (hq issue 345) 2026-10-09 10:50:59 +00:00

Merged #155 betterbird: a module for the mail and calendar client (hq issue 345) 2026-10-09 10:50:55 +00:00

Merged #158 xdg: keep the folders file trusted, so only the terminal sets the folders (hq issue 346) 2026-10-09 10:50:51 +00:00

Merged #149 claude-code: refuse registering what a session runs (hq issue 340) 2026-10-09 08:00:24 +00:00

Merged #150 mesh-delivery: end a merge that moves nothing or that a later merge delivered, and lift a group hold its check answered (hq issues 319, 316) 2026-10-09 07:30:16 +00:00

Merged #151 The catalogue's check type-checks and tests every touched TypeScript module 2026-10-09 07:29:36 +00:00

Merged #147 zfs: the safety review's fixes, and the module owns the pool's scrub schedule 2026-10-09 01:02:49 +00:00

Merged #148 Issue 339: dunst's and xdg's files say nothing trusts their settings ("trusted": false) 2026-10-09 00:32:52 +00:00

Merged #145 zsh: let a machine withhold node-login-shell's execute (hq ADR 0268) 2026-10-08 23:12:54 +00:00

Merged #146 zfs: the mesh sees the home server's pools and datasets, and takes a named snapshot 2026-10-08 22:30:07 +00:00

Merged #143 postgres: the store's reader reads only what a module declares readable, never a secret (hq issue 337) 2026-10-08 20:16:30 +00:00

Merged #144 dunst: reload the running notifier when the mesh rewrites its file 2026-10-08 20:12:23 +00:00

Merged #136 nfs-server and mounts: share one folder at a time over the private network, mount it on demand (hq ADR 0263) 2026-10-08 19:12:21 +00:00

Merged #139 nats: say who opens and closes connections to the bus, and why each closed (hq issue 327, ADR 0265) 2026-10-08 18:21:27 +00:00

Merged #132 dunst: make the font size and width settings, defaulting to today's values (hq ADR 0262) 2026-10-08 16:18:52 +00:00

Merged #138 Serve unlink-dangling in the systemd module (hq issue 332) 2026-10-08 16:01:45 +00:00

Merged #137 Serve reset-failed and wanted-by in the systemd module (hq issue 332) 2026-10-08 15:52:53 +00:00

Merged #127 The bar renders contributed blocks; the power module gives it the battery and power draw (hq ADR 0255) 2026-10-08 14:27:18 +00:00

Merged #128 gitea: read npm lockfiles of every version and measure every version's size 2026-10-08 14:02:58 +00:00

Merged #130 artifact-store-tools: a platform manifest is its index's; list unrecorded copies of upstream images (hq ADR 0257) 2026-10-08 14:02:51 +00:00

Merged #129 sensors: read the machine's hardware condition on every machine (hq ADR 0256) 2026-10-08 13:21:01 +00:00

Merged #131 messenger and dunst: only acknowledgements from a desk click, one-time answer tokens (hq ADR 0258, issue 324) 2026-10-08 13:02:26 +00:00

Merged #126 messenger and dunst: plain notifications that say whether you are needed, and take the answer from the desk (hq ADR 0253, issue 320) 2026-10-08 12:20:36 +00:00

Merged #124 gitea: npm package retention — keep what is named and the newest five (hq ADR 0251 §4) 2026-10-08 11:06:14 +00:00

Merged #123 artifact-store-tools: say what the artifact store holds and what the records name (hq ADR 0251) 2026-10-08 11:06:11 +00:00

Merged #122 docker: remove images no container or declaration uses, keeping the previous (hq ADR 0251 §5) 2026-10-08 11:05:51 +00:00

Merged #125 Declare the operator's account in the openrazer group (hq ADR 0252, issue 247) 2026-10-08 10:09:24 +00:00

Merged #121 mesh-delivery: retire history instead of holding it; end owed work the forge cannot do (hq issue 313) 2026-10-08 09:36:52 +00:00

Merged #119 mesh-delivery: say which order rule won, and how to end a contradiction (hq issue 309) 2026-10-08 09:11:26 +00:00

Merged #120 Add disk-load: a machine's iowait, disk load and who does the I/O (hq issue 312) 2026-10-08 08:55:39 +00:00

Merged #118 Put the merge check back to pending before a recheck asks it (hq issue 305) 2026-10-08 08:34:21 +00:00

Merged #117 minio: cite the derived-value record as ADR 0202, not 0201 2026-10-07 23:55:49 +00:00

Merged #115 records: list the decision records by topic when asked (hq ADR 0248) 2026-10-07 21:44:13 +00:00

Merged #105 systemd: the journal verb reads a window, and failed is the seat's verb 2026-10-07 21:40:05 +00:00

Merged #107 Serve the uplink seat's verbs from both of its holders (hq ADR 0241 rule 8) 2026-10-07 21:34:34 +00:00

Merged #114 forticlient: hand the client's resolver file to the machine's own resolver (hq ADR 0247) 2026-10-07 20:44:14 +00:00

Merged #113 systemd-resolved: a machine's own resolver, routing a VPN's domains by link (hq ADR 0247) 2026-10-07 20:14:22 +00:00

Merged #112 checks/words: a retired word's plural is the word (hq ADR 0244) 2026-10-07 19:21:35 +00:00

Merged #110 claude-code: an "instead of" table and a guard on the agent's shell (hq ADR 0245) 2026-10-07 19:04:18 +00:00

Merged #109 Answer what the mesh's checks said of a pull request: mesh-delivery's checks verb (hq ADR 0239) 2026-10-07 19:04:10 +00:00

Merged #111 Hold what the tools say to the glossary's retired words (hq ADR 0244) 2026-10-07 18:24:02 +00:00

Merged #106 mailu records rather than rolls out: people's mail, whose containers are recreated together (hq issue 295, ADR 0242) 2026-10-07 18:13:21 +00:00

Merged #108 claude-code: read and remove the person's own home items through the mesh 2026-10-07 17:48:06 +00:00

Merged #104 Say how the first twenty-three long-running resources are ready (hq ADR 0240, to-be 48 Phase E) 2026-10-07 16:54:25 +00:00

Merged #103 Keep the count of long-running resources without health, and let it only go down (hq ADR 0240 rule 8, to-be 48 Phase E) 2026-10-07 16:32:36 +00:00

Merged #102 gitea: never set warning on the merge check's statuses; a required one blocks (hq issue 293) 2026-10-07 12:05:41 +00:00

Merged #101 Ask the check of a delivery that waits for one nobody asked (hq issue 290) 2026-10-07 11:20:19 +00:00

Merged #100 Keep secrets off command lines the runtime records (hq issue 282) 2026-10-06 23:40:53 +00:00

Merged #99 mesh-delivery: the owner of deliveries and delivery groups; the forge's note, view and status tools (hq ADR 0239) 2026-10-06 23:00:37 +00:00

Merged #98 gitea: graph-driven announce, both check statuses, the change plan, branch-protection tools (hq ADR 0238) 2026-10-06 21:00:27 +00:00

Merged #97 Phase 5: check every pull request before it merges, and show the verdict on it (hq ADR 0237) 2026-10-06 19:35:58 +00:00

Merged #96 gitea: say which changed directories hold a module at the merge commit (hq issue 278) 2026-10-06 18:28:48 +00:00

Merged #93 Back up the bus by the server's own snapshot of each stream, not its live files (hq ADR 0235) 2026-10-06 17:33:13 +00:00

Merged #95 Say which modules wait for a person's push; announce a merge's deleted files (hq ADR 0236) 2026-10-06 17:32:58 +00:00

Merged #94 audit-logger, model-usage: retry a failed write and never lose the event (hq issue 276) 2026-10-06 16:38:07 +00:00

Merged #92 Every module declares its data; the backup holder measures it (hq ADR 0233) 2026-10-06 15:05:51 +00:00

Merged #84 Fold public-acme into route-proxy; drop dhcpcd and cloudflare-dns (hq ADR 0226) 2026-10-06 13:04:29 +00:00

Merged #91 postgres, keycloak: retire a consumer, delete only on a person's word (hq ADR 0230) 2026-10-06 12:51:35 +00:00

Merged #90 Brake a withdrawal larger than its bound (hq to-be 45 Phase 2, ADR 0227 rule 4) 2026-10-06 10:43:12 +00:00

Merged #89 Mark the OpenAI keys letta and supabase hold as issued outside the mesh 2026-10-06 10:27:22 +00:00

Merged #88 messenger: history is never news — read the open conditions first, coalesce bursts (hq issue 271) 2026-10-06 10:06:28 +00:00

Merged #87 supabase: make logflare's stored key and backends follow its environment 2026-10-06 09:50:29 +00:00

Merged #86 The operator-channel and the watcher's watcher (hq to-be 45 phase 1) 2026-10-06 08:37:48 +00:00

Merged #85 supabase: keep logflare's API key out of its log (hq issue 268) 2026-10-06 00:34:14 +00:00

Merged #83 State each provision's identity bound (hq issue 263, ADR 0225) 2026-10-06 00:29:57 +00:00

Merged #82 letta: keep its passwords out of its log; docker: find and hide secrets a container printed (hq issue 268) 2026-10-06 00:25:32 +00:00

Merged #81 nats: run 2.11.17, which hands a consumer with several filters every message (hq issue 266) 2026-10-05 23:40:12 +00:00

Merged #80 keycloak: port to Go and repair a refused admin; providers announce a failing consumer 2026-10-05 22:39:02 +00:00

Merged #78 Rename hosts to hostname, which also writes /etc/hostname (hq ADR 0223 part 3) 2026-10-05 22:15:29 +00:00

Merged #77 Remove resolv-conf (hq ADR 0223 part 2, step 2 of 2) 2026-10-05 22:08:02 +00:00

Merged #79 Uplink modules get short slugs (nm, networkd) 2026-10-05 22:03:45 +00:00

Merged #76 Give /etc/resolv.conf to the uplink's holder (hq ADR 0223 part 2, step 1 of 2) 2026-10-05 21:57:03 +00:00

Merged #75 postgres: port to Go, and install the extensions a consumer asks for (letta: vector) 2026-10-05 21:31:15 +00:00

Merged #74 supabase: studio listens on every address, so its health check reaches it 2026-10-05 21:20:40 +00:00

Merged #73 resolv-conf lists every mesh resolver and no public one (hq ADR 0223) 2026-10-05 20:50:53 +00:00

Merged #72 docker: trust the mesh's registry from the runtime's own module (hq ADR 0222, issue 190 — 2 of 3) 2026-10-05 20:39:05 +00:00

Merged #71 A machine's mesh name has no IPv6 address rather than no name (hq issue 262) 2026-10-05 20:07:33 +00:00

Merged #70 Retire resolved-split-dns (hq ADR 0220) 2026-10-05 20:03:01 +00:00

Merged #69 The mesh's one resolver, what every node asks, and a node's hosts file (hq ADR 0194, 0196, 0199) 2026-10-05 18:44:15 +00:00

Merged #68 build-agent serves its seat's verbs: current, kill, pause, resume (hq ADR 0219) 2026-10-05 18:31:28 +00:00

Merged #67 distribution: collect for real now that every kept archive is held (hq issue 253) 2026-10-05 16:44:30 +00:00

Merged #66 gitea: a merge poll looks only at repositories that moved, one pass at a time (hq issue 250) 2026-10-05 16:12:14 +00:00

Merged #65 systemd: port to Go, and read a system unit's journal as root (hq issue 255) 2026-10-05 16:10:03 +00:00

Merged #64 records: port to Go, and keep the checkout in a directory it owns (hq issue 251) 2026-10-05 15:55:59 +00:00

Merged #63 gitea: announce a merge once, and read every page of its changed files (hq issues 250, 252) 2026-10-05 15:55:54 +00:00

Merged #62 URGENT distribution: the nightly collector dry-runs until every kept bundle is held (first run tonight 03:30) 2026-10-05 15:45:01 +00:00

Merged #58 claude-code: say what a registration wrote here, whichever took it first 2026-10-05 13:17:41 +00:00

Merged #60 Tray applets as modules: openrazer, polychromatic, forticlient, nm-applet 2026-10-05 13:10:52 +00:00

Merged #61 Remove jetbrains-toolbox: the operator retired JetBrains 2026-10-05 13:09:53 +00:00

Merged #59 Add slack and jetbrains-toolbox: one start each, the apps kept as found 2026-10-05 13:07:29 +00:00

Merged #57 The store collects nightly again (hq ADR 0189) 2026-10-05 12:33:35 +00:00

Merged #52 claude-code: register the agent's configuration at three scopes, served as the nox-mesh plugin (hq ADR 0216) 2026-10-05 12:30:10 +00:00

Merged #56 restic: restore a single kept file, not only a directory 2026-10-05 12:22:18 +00:00

Merged #55 restic: declare sqlite, the tool SQLite stores are copied with 2026-10-05 11:49:37 +00:00

Merged #54 restic: ask as root whether a directory is there 2026-10-05 10:38:26 +00:00

Merged #53 fail2ban: its tools in Go 2026-10-05 10:24:18 +00:00

Merged #49 Back up every store: the restic module and the stores' contributions (hq ADR 0214, to-be 43) 2026-10-05 10:13:49 +00:00

Merged #50 xdg: the account's folders and the machine's default applications 2026-10-05 09:53:31 +00:00

Merged #51 dbus: hold node-message-bus, and never restart the bus live (hq ADR 0215) 2026-10-05 09:52:33 +00:00

Merged #48 nextcloud-client and blueman: the two tray apps as modules, each with one start 2026-10-05 09:48:44 +00:00

Merged #47 i3: other modules' lines are contributions to node-display-session (hq ADR 0212) 2026-10-05 08:11:46 +00:00

Merged #46 power: a lock problem is no longer said once the lock is held 2026-10-05 08:03:44 +00:00

Merged #45 Apply a binding that differs, and never repeat a generation a node passed (hq issue 243) 2026-10-05 08:01:12 +00:00

Merged #44 A withdrawn consumer keeps its data, in every provider that holds some (hq issue 241) 2026-10-04 23:45:16 +00:00

Merged #43 Pin the forge to the version the machine it replaces is running 2026-09-22 22:28:27 +00:00

Merged #42 route-adapter: provide route by writing into the predecessor's proxy (hq ADR 0104) 2026-09-22 22:12:49 +00:00

Merged #41 The store keeps the vector extension the predecessor's database had 2026-09-22 21:30:34 +00:00

Merged #40 The forge's own address follows the port the node gave it (hq issue 088) 2026-09-22 21:29:48 +00:00

Merged #39 The builder's package binding is settable per node (hq issue 085) 2026-09-22 19:59:57 +00:00

Merged #38 Adoption mode: guards, and a filter unit that never flushes the ruleset (hq ADR 0100, 0103) 2026-09-22 19:01:56 +00:00

Merged #37 n8n and baserow no longer take the shared cache (issue 081) 2026-09-22 11:53:14 +00:00

Merged #36 redis: a consumer's ACL loses the dangerous category (issue 080) 2026-09-22 00:19:15 +00:00

Merged #35 route-proxy: the trust gate names the binding it reads; the server names the gate (ADR 0099) 2026-09-21 21:58:48 +00:00

Merged #34 Multiple fixes: five modules keep their secrets from the vault (ADR 0094), the authority makes its own root (076), the builder on the host network, route-proxy declares its bases 2026-09-21 20:58:24 +00:00

Merged #33 The controller's manifest lives in the controller's repository, not here (hq issue 072) 2026-09-21 17:23:19 +00:00

Merged #32 Six modules take their secrets from files; the rest say precisely why not (issue 041) 2026-09-21 11:48:47 +00:00

Merged #31 The controller reads its credentials from files; every other env-file secret says why 2026-09-21 09:59:08 +00:00

Merged #30 Add mesh-vault; redis, postgres and lavinmq take their passwords from files 2026-09-21 08:03:13 +00:00

Merged #29 minio: pull image from quay.io (docker.io denies anonymous pulls) 2026-09-20 20:03:50 +00:00

Merged #28 Correct lavinmq Dockerfile's stale MESH_TOOL_MODULES comment (061 review) 2026-09-20 11:42:03 +00:00

Merged #27 The mesh builds its own catalogue (issue 060) 2026-09-20 10:53:04 +00:00

Merged #26 Refs name the registry; lavinmq's runtime runs its provisioner (042/048/061) 2026-09-17 23:00:43 +00:00

Merged #25 Foundation modules claim a mesh-scoped seat named after their server 2026-09-17 00:15:59 +00:00

Merged #24 The adopted broker declares its amqps bus port (5671) in listens 2026-09-16 23:44:48 +00:00

Merged #23 Foundation modules adopted, and the mesh-controller/foundation rename 2026-09-16 21:22:48 +00:00

Merged #22 Modules compile in the toolchain and ship on the runtime 2026-09-14 00:02:42 +00:00

Merged #21 The catalogue holds the module graph, and the modules that make it build themselves 2026-09-13 09:17:11 +00:00

Merged #20 module fixes from the whole-mesh dry-run: fail2ban capability + tool-runtime credential wiring 2026-09-08 16:45:24 +00:00

Merged #19 local model: an ollama provider + a local-model consumer (ADR 0055) 2026-09-07 03:26:02 +00:00

Merged #18 openai-consumer: the static-key model-access consumer (ADR 0050) 2026-09-07 02:25:56 +00:00

Merged #17 model-usage: the vendor-neutral usage store (ADR 0054) 2026-09-07 02:08:22 +00:00

Merged #16 anthropic model-access: manager + consumer modules 2026-09-07 00:48:52 +00:00

Merged #15 lavinmq: a user-facing AMQP provider (vhost-per-login) 2026-09-06 21:21:28 +00:00

Merged #14 route-proxy: the native ingress module (drop traefik) 2026-09-06 13:17:22 +00:00

Merged #13 fix: postgres consumers connect to the mesh-named db (the login), not a hardcoded name 2026-09-06 11:47:34 +00:00

Merged #12 fix: DB/cache/store providers must serve their port (migration blocker) 2026-09-06 01:31:50 +00:00

Merged #11 Convert confluence + jira on the tools-only template 2026-09-05 23:54:52 +00:00

Merged #10 Convert gitlab — the tools-only external-SaaS exemplar (23 tools, lab-proven) 2026-09-05 23:40:31 +00:00

Merged #9 Convert baserow, letta, invoicing (DB/S3 consumers) 2026-09-05 23:14:30 +00:00

Merged #8 mosquitto: run-once dynsec bootstrap + fix the exit-0-on-failure provisioner 2026-09-05 23:06:08 +00:00

Merged #7 Servarr events entrypoints don't crash the runtime when unconfigured 2026-09-05 21:14:44 +00:00

Merged #6 Media modules access the shared library, they do not own it (ADR 0051) 2026-09-05 20:48:16 +00:00

Merged #5 Resync hq ADR references (0044-0054 -> 0039-0049) 2026-09-05 10:49:51 +00:00

Merged #4 Convert four more hal modules: bookshelf, unifi, fail2ban, marrytts 2026-09-05 10:34:53 +00:00

Merged #3 Convert four hal modules: lidarr, mongodb, mssql, mosquitto 2026-09-05 02:17:48 +00:00

Merged #2 audit-logger: the assigned-module manifest (ADR 0048) 2026-09-05 01:06:59 +00:00