9afea75f93
sudo: give every command run through sudo a terminal of its own
jochen2026-10-08 20:33:21 +02:00
17b0ac9f6c
claude-code: declare the account agents run as and the command that starts it
jochen2026-10-08 18:34:32 +02:00
c8fb0016f2
Test that a sealed grant hides its words, not two letters
jochen2026-10-08 21:56:39 +02:00
dae7bb848d
restic: restore away from a directory another account owns
jochen2026-10-08 20:41:05 +02:00
b57e6e8144
claude-code: write the agent's home as its own account where it has one
jochen2026-10-08 20:32:34 +02:00
7339ce8556
Merge pull request 'claude-code: refuse registering what a session runs (hq issue 340)' (#149) from fix/340-what-a-session-runs-is-set-at-the-terminal into main
mesh-admin2026-10-09 08:00:24 +00:00
d984eb84d6
claude-code: remove from or restore to only an agent account's own home
jochen2026-10-09 09:51:18 +02:00
3677af6079
claude-code: write the home scope only into an agent account's own home
jochen2026-10-09 09:41:52 +02:00
e139fb4dd9
claude-code: set shared agent text at the controller's terminal, for now
jochen2026-10-09 09:41:52 +02:00
73eef94101
Merge pull request '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)' (#150) from fix/319-316-covered-and-lifted into main
mesh-admin2026-10-09 07:30:15 +00:00
895e4a65b8
Merge pull request 'The catalogue's check type-checks and tests every touched TypeScript module' (#151) from check/typescript-modules-tested into main
mesh-admin2026-10-09 07:29:35 +00:00
7e510998d9
Merge branch 'check/typescript-modules-tested' into fix/319-316-covered-and-lifted
jochen2026-10-09 03:29:00 +02:00
0d5227ee77
Test a TypeScript module whose tests alone changed
jochen2026-10-09 03:28:58 +02:00
0bd50fce0a
The forge module's tool list test names the statuses and contains tools
jochen2026-10-09 03:23:19 +02:00
61ec4162d0
Merge branch 'check/typescript-modules-tested' into fix/319-316-covered-and-lifted
jochen2026-10-09 03:23:05 +02:00
f72903d05d
A TypeScript module with tests and no sources of its own is tested, not skipped
jochen2026-10-09 03:23:01 +02:00
f072ca7297
Type-check and test every touched TypeScript module before it merges
jochen2026-10-09 03:22:24 +02:00
63de373b9d
Merge pull request 'zfs: the safety review's fixes, and the module owns the pool's scrub schedule' (#147) from fix/zfs-safety-review into main
mesh-admin2026-10-09 01:02:48 +00:00
6327f297ea
Cover a held merge only when the forge says a later delivered merge contains it (review of #150)
jochen2026-10-09 02:57:18 +02:00
c613efe189
claude-code: read front matter as YAML and refuse a file reference outside the item
jochen2026-10-09 02:52:57 +02:00
6aabe8ee1f
Merge pull request 'Issue 339: dunst's and xdg's files say nothing trusts their settings ("trusted": false)' (#148) from fix/339-files-nothing-trusts into main
mesh-admin2026-10-09 00:32:51 +00:00
736743fedc
claude-code: refuse registering what a session runs, so no agent can plant it in the operator's sessions
jochen2026-10-09 02:30:11 +02:00
2d1d4bf988
End a merge that moves nothing or that a later merge delivered, and lift a group hold its check answered (hq issues 319, 316)
jochen2026-10-09 02:24:26 +02:00
a9acd3dd28
Keep the scheduled run's served slot in a folder of root's alone, written never through a link
jochen2026-10-09 01:55:54 +02:00
bdd2d65404
Say that nothing trusts dunst's and xdg's settings, so a verb may still change them
jochen2026-10-09 01:42:23 +02:00
bd0182785c
Run the scrub schedule as a scheduled process, never pause a scrub, and keep the pool's name the only setting in a unit
jochen2026-10-09 01:40:02 +02:00
e69506a26f
Make the zfs module safe to put on the home server, and give it the pool's scrub schedule
jochen2026-10-09 01:17:34 +02:00
a1406e7d79
Merge pull request 'zsh: let a machine withhold node-login-shell's execute (hq ADR 0268)' (#145) from withhold-login-shell-execute into main
mesh-admin2026-10-08 23:12:53 +00:00
90516fcce4
Merge pull request 'zfs: the mesh sees the home server's pools and datasets, and takes a named snapshot' (#146) from feat/zfs-module into main
mesh-admin2026-10-08 22:30:07 +00:00
c86f055384
Give the test snapshot a creation time apart from the fake clock in every zone
jochen2026-10-09 00:16:29 +02:00
7c8497225d
Add the zfs module, so the mesh can see the home server's pools and snapshot a dataset
jochen2026-10-09 00:11:31 +02:00
cfe1dffa45
zsh: let a machine withhold node-login-shell's execute
jochen2026-10-09 00:10:28 +02:00
3ee6c2b8ed
Merge pull request 'postgres: the store's reader reads only what a module declares readable, never a secret (hq issue 337)' (#143) from fix/337-the-store-reader-reads-only-what-a-module-declares into main
mesh-admin2026-10-08 20:16:29 +00:00
8131aa390f
Merge pull request 'dunst: reload the running notifier when the mesh rewrites its file' (#144) from fix/dunst-reloads-when-its-file-changes into main
mesh-admin2026-10-08 20:12:23 +00:00
e0e97a96c4
Report as revoked only what the read-back shows gone, and take back what the reader passed on (review of hq issue 337)
jochen2026-10-08 22:11:06 +02:00
9d438184be
dunst: reload the running notifier when the mesh rewrites its file
jochen2026-10-08 22:08:08 +02:00
8bf50f7555
Revoke the reader's grants as their own grantors and read them back, alter its role only on drift, and report definer functions and views (review of hq issue 337)
jochen2026-10-08 22:01:43 +02:00
fb07d552a0
Name the licences store's sealed tables as they are called, so a statement naming one is refused
jochen2026-10-08 21:44:36 +02:00
4f44bf1eb5
Give the store's reader only the columns a module declares readable, never a secret, so a query cannot read the controller's signing key (hq issue 337)
jochen2026-10-08 21:43:15 +02:00
7b307a06b7
Merge pull request 'nfs-server and mounts: share one folder at a time over the private network, mount it on demand (hq ADR 0263)' (#136) from feat/mounts-module into main
mesh-admin2026-10-08 19:12:21 +00:00
b8e04acfaf
Let nfs-server's tests see their folders as the library owner's, so the root refusal is tested and not tripped when the build seat runs them as root
jochen2026-10-08 21:05:52 +02:00
29ac6ee16a
Say that the modules' own checks are the only line before root, since sudo grants the account everything
jochen2026-10-08 20:21:28 +02:00
32307bd18b
Merge pull request 'nats: say who opens and closes connections to the bus, and why each closed (hq issue 327, ADR 0265)' (#139) from fix/327-a-verb-reads-on-the-serving-connection into main
mesh-admin2026-10-08 18:21:27 +00:00
53cc303440
Mount a share at the access the server gave this machine, and not at all when it does not export it here
jochen2026-10-08 20:21:17 +02:00
e50978ca45
Keep a clean look below a share for an hour, so the backup check does not walk the library every 30 s
jochen2026-10-08 20:20:05 +02:00
8738c02d00
nfs-server: export a share only to the nodes granted and wanting it, and never root's, a symlinked or nested backup, or an unmounted dataset
jochen2026-10-08 20:18:15 +02:00
d5adc1d525
Make mounts refuse what it could break: data the mesh keeps, a busy or non-empty mount point, its own share, and a mount that is not its source; say each node's wants so the server exports only to them (review of #136)
jochen2026-10-08 20:16:27 +02:00
48fba44471
Add the nfs-server module: a node shares a folder with the mesh's machines only, every client mapped to the folder's owner (hq ADR 0263)
jochen2026-10-08 18:29:38 +02:00
2b1b9b0235
Let mounts write each share's mount and automount, so no node depends on a hand-written fstab line (hq ADR 0263)
jochen2026-10-08 18:34:28 +02:00
3251758340
Add a read-only mounts module: no tool could read a machine's fstab, mount units or exports
jochen2026-10-08 17:20:50 +02:00
0ad8f02fab
Merge pull request 'dunst: make the font size and width settings, defaulting to today's values (hq ADR 0262)' (#132) from feat/setting-defaults into main
mesh-admin2026-10-08 16:18:52 +00:00
ea69e795ab
Read the tested nats release from the server itself
jochen2026-10-08 18:07:29 +02:00
53c4b47da4
Merge pull request 'Serve unlink-dangling in the systemd module (hq issue 332)' (#138) from feat/systemd-unlink-dangling into main
mesh-admin2026-10-08 16:01:44 +00:00
1b368f9aaf
Record a removal's outcome, publish it, and read one directory once
jochen2026-10-08 17:55:56 +02:00
0063cc2ad1
Say who opens and closes connections to the bus, and why each closed (hq issue 327)
jochen2026-10-08 17:54:01 +02:00
87c9d9f7e5
Serve unlink-dangling, so a leftover enable link goes through the seat
jochen2026-10-08 17:39:07 +02:00
e740683ca4
Merge pull request 'Serve reset-failed and wanted-by in the systemd module (hq issue 332)' (#137) from feat/systemd-reset-failed-why-started into main
mesh-admin2026-10-08 15:52:52 +00:00
2ed6264b8f
Refuse a glob as a unit, and make wanted-by say only what it saw
jochen2026-10-08 17:38:48 +02:00
00f1d04616
Serve reset-failed and wanted-by in the systemd module (hq issue 332)
jochen2026-10-08 17:21:18 +02:00
84731d8fc6
dunst: say plainly why each default
jochen2026-10-08 16:53:21 +02:00
4c34836037
dunst: make the font size and width settings, defaulting to today's values (hq ADR 0262)
jochen2026-10-08 16:23:03 +02:00
bf542128ee
Merge pull request 'The bar renders contributed blocks; the power module gives it the battery and power draw (hq ADR 0255)' (#127) from feat/the-bar-takes-blocks into main
mesh-admin2026-10-08 14:27:18 +00:00
5d7d9020b8
Say the laptop's scripts unparsed where the build seat has no bash
jochen2026-10-08 16:20:45 +02:00
0d54ecc764
Keep the value a watch hands over at once, watch a dead watch again, and let the path lists grow only in the open (hq ADR 0260)
jochen2026-10-08 16:12:36 +02:00
4f6cbd2197
Follow bar values so a dead watch speaks, date them by their reading, and widen the path check (hq ADR 0260)
jochen2026-10-08 15:54:15 +02:00
76b63744e6
Carry the power draw to the bar over the bus, not through a file (hq ADR 0260)
jochen2026-10-08 15:22:58 +02:00
e1b7fcd8c9
Count each processor package once, never read a sleeping card, and give no reading for a reset counter (hq ADR 0255)
jochen2026-10-08 14:34:45 +02:00
0040c008b5
Let the bar render blocks other modules contribute, and give it the battery and power draw from the power module (hq ADR 0255)
jochen2026-10-08 13:42:47 +02:00
05e5903a9b
Merge pull request 'gitea: read npm lockfiles of every version and measure every version's size' (#128) from fix/npm-lockfile-shapes into main
mesh-admin2026-10-08 14:02:57 +00:00
86d2b3b96d
Merge pull request 'artifact-store-tools: a platform manifest is its index's; list unrecorded copies of upstream images (hq ADR 0257)' (#130) from feat/a-mirrored-base-is-recorded into main
mesh-admin2026-10-08 14:02:51 +00:00
bf8143ca12
Merge pull request 'sensors: read the machine's hardware condition on every machine (hq ADR 0256)' (#129) from feat/sensors into main
mesh-admin2026-10-08 13:21:01 +00:00
7aba612c6c
sensors: take a SAS drive's standby, whose mode holds spaces
jochen2026-10-08 15:04:02 +02:00
ea462666cc
Merge pull request 'messenger and dunst: only acknowledgements from a desk click, one-time answer tokens (hq ADR 0258, issue 324)' (#131) from fix/notifications-after-review into main
mesh-admin2026-10-08 13:02:25 +00:00
66a816c3ac
sensors: say a stuck drive read, and be the drives' only reader
jochen2026-10-08 14:59:10 +02:00
700dd7fa1a
Load the records the live build kept, remind every quiet warning, silence only its own condition
jochen2026-10-08 14:53:11 +02:00
10b5e8188a
Refuse a yarn lockfile the scanner stopped in, and a forge answer the cap cut
jochen2026-10-08 14:52:06 +02:00
d83711f11e
Take only acknowledgements from a desk click, and make each answer a one-time ticket
jochen2026-10-08 14:38:24 +02:00
66a32b196d
sensors: raise only what the hardware says is failing, and say a hung watch
jochen2026-10-08 14:35:16 +02:00
541b24d96e
Merge pull request 'messenger and dunst: plain notifications that say whether you are needed, and take the answer from the desk (hq ADR 0253, issue 320)' (#126) from feat/plain-notifications into main
mesh-admin2026-10-08 12:20:36 +00:00
2dffc48c81
Count a platform manifest as its index's, and list the unrecorded copies of upstream images
jochen2026-10-08 14:11:02 +02:00
f00b5a19b1
Say what the operator needs to do, keep quiet what needs nothing, and take answers from the desk
jochen2026-10-08 13:57:33 +02:00
d69c0db4fc
gitea: stop a real npm retention when a file was not read whole
jochen2026-10-08 13:52:07 +02:00
73610f8e3c
sensors: read the machine's hardware condition on every machine (hq ADR 0256)
jochen2026-10-08 13:48:53 +02:00
a9960d7a1b
gitea: read npm lockfiles of every version and measure every version's size
jochen2026-10-08 13:48:12 +02:00
a6296dfd6f
Say each notification in plain words the operator reads at a glance
jochen2026-10-08 13:26:26 +02:00
c78b5fc9f5
Merge pull request 'gitea: npm package retention — keep what is named and the newest five (hq ADR 0251 §4)' (#124) from feat/npm-retention into main
mesh-admin2026-10-08 11:06:14 +00:00
86077780a9
Merge pull request 'artifact-store-tools: say what the artifact store holds and what the records name (hq ADR 0251)' (#123) from feat/store-tools into main
mesh-admin2026-10-08 11:06:11 +00:00
3f552274be
Merge pull request 'docker: remove images no container or declaration uses, keeping the previous (hq ADR 0251 §5)' (#122) from feat/docker-prune-images into main
mesh-admin2026-10-08 11:05:50 +00:00
a638547924
Merge pull request 'Declare the operator's account in the openrazer group (hq ADR 0252, issue 247)' (#125) from feat/module-groups into main
mesh-admin2026-10-08 10:09:23 +00:00
24ce702360
Move the artifact store's tools into a module beside it, as the controller requires
jochen2026-10-08 12:04:33 +02:00
da57051fa3
Declare the operator's account in the openrazer group (hq ADR 0252, issue 247)
jochen2026-10-08 12:02:45 +02:00
8059f35d17
gitea: say what keeps each npm version and delete only what nothing names (hq ADR 0251)
jochen2026-10-08 12:00:48 +02:00
5f22ebbe97
distribution: say what the store holds and what the records name, so collection is no longer blind (hq ADR 0251)
jochen2026-10-08 11:59:39 +02:00
465707d41d
docker: remove images no container or declaration uses, keeping the previous of each line (hq ADR 0251)
jochen2026-10-08 11:56:36 +02:00
f7b1853b8b
Merge pull request 'mesh-delivery: retire history instead of holding it; end owed work the forge cannot do (hq issue 313)' (#121) from fix/313-retire-adopted-history into main
mesh-admin2026-10-08 09:36:52 +00:00
0ce567a736
Retire history instead of holding it, and end owed work the forge cannot do (hq issue 313)
jochen2026-10-08 11:20:46 +02:00
3d15c71fab
Merge pull request 'mesh-delivery: say which order rule won, and how to end a contradiction (hq issue 309)' (#119) from fix/309-a-group-says-which-order-rule-won into main
mesh-admin2026-10-08 09:11:25 +00:00
8134627e18
Merge pull request 'Add disk-load: a machine's iowait, disk load and who does the I/O (hq issue 312)' (#120) from feat/disk-load into main
mesh-admin2026-10-08 08:55:38 +00:00
6fdf5293eb
Add disk-load: no tool said a machine's iowait, disk load or who does the I/O (hq issue 312)
jochen2026-10-08 10:47:41 +02:00