12a5e7be73
build-agent: name mesh-builder by its path in busy, as its health does (review of #260)
jschoubben2026-10-14 00:07:42 +02:00
23a2e1e204
Merge pull request 'mesh-delivery: a closed pull request's check builds go, and a walk says what each build did (ADR 0350, issue 649)' (#282) from feat/350-one-build-per-change into main
mesh-admin2026-10-13 21:30:30 +00:00
66d22dd53e
Let a closed pull request's check builds go, and show what each walk build did
jschoubben2026-10-13 23:04:41 +02:00
7ed119995f
Merge pull request '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)' (#280) from fix/624-the-forge-serves-its-public-root into main
mesh-admin2026-10-13 19:52:05 +00:00
faebc3569a
Merge pull request '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)' (#278) from fix/383-an-ask-reads-at-a-glance into main
mesh-admin2026-10-13 19:02:21 +00:00
1faee6e279
lab: a forge setting that is not http(s) is never a trusted origin (hq issue 624, review 222)
jochen2026-10-13 20:33:13 +02:00
6f7d06726c
gitea serves the registry's public root, and the lab trusts a tarball only at it or the forge's own origin (hq ADR 0346, issue 624)
jochen2026-10-13 16:53:26 +02:00
f09daabec3
A withheld change line in the note keeps its key's name; SDK at 5933eb7 (the review of mesh-controller #304)
jochen2026-10-13 20:32:50 +02:00
bb5a342863
Every value an approval sets is in the note, whole where the sender is proven; the note is kept whole (issue 383)
jochen2026-10-13 17:02:20 +02:00
eadf301f9f
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)
jochen2026-10-13 16:33:45 +02:00
9c166398f2
Merge pull request 'Revert #277: no showmissed lock in betterbird's policy (issue 640)' (#281) from fix/640-revert-the-showmissed-lock into main
mesh-admin2026-10-13 15:06:09 +00:00
e209d46faf
Merge pull request 'claude-code: the memory watch only notes a change, so it starts on a node with hundreds of files (issue 367)' (#279) from fix/367-memory-watch-takes-fast into main
mesh-admin2026-10-13 14:58:35 +00:00
f1f866050e
Revert the showmissed lock of #277: the operator wants no special handling in betterbird's config (hq issue 640)
jochen2026-10-13 16:54:51 +02:00
4d15a155e6
Merge pull request 'betterbird: a passed meeting's reminder does not come back at every Owl reload (issue 640)' (#277) from fix/640-a-dismissed-reminder-stays-dismissed into main
mesh-admin2026-10-13 14:47:58 +00:00
e46eeb8298
claude-code: the memory watch only notes a change, so it starts on a node with hundreds of files (issue 367)
jschoubben2026-10-13 16:40:41 +02:00
5f491e0c09
Merge pull request 'lab: name the package registry by the address it names itself by, so npm 12 installs locked @novox packages (issue 624)' (#275) from fix/624-lab-names-the-registry-as-it-names-itself into main
mesh-admin2026-10-13 14:35:04 +00:00
73404a3c3f
betterbird: lock the missed-reminder pass off, so a passed meeting's reminder does not come back (hq issue 640)
jochen2026-10-13 16:32:17 +02:00
305c2ba247
Merge pull request 'claude-code: a session's memory follows the operator to every node (issue 367, ADR 0343)' (#276) from fix/367-memory-follows-the-operator into main
mesh-admin2026-10-13 14:26:59 +00:00
8ad121d5c3
lab: take the registry's address only from the forge's own host, built from the parsed URL (hq issue 624, review of #275)
jochen2026-10-13 16:26:48 +02:00
305601d25e
claude-code: memory carrying never leaves a memory folder, never takes the unreadable for gone, and screens every write (issue 367, review of #276)
jschoubben2026-10-13 16:20:02 +02:00
910bc58fe0
claude-code: keep two memory versions too large for one file in two, and say a text that cannot fit one value (issue 367)
jschoubben2026-10-13 16:03:37 +02:00
0096beeff9
claude-code: say a memory conflict in the operator's plain words, and skip a look the state does not answer (issue 367)
jschoubben2026-10-13 16:01:16 +02:00
6aa30eae66
claude-code: carry each project's memory folder between nodes (issue 367, ADR 0343)
jschoubben2026-10-13 15:57:44 +02:00
bb60de6d61
lab: name the package registry by the address it names itself by, so npm 12 installs locked @novox packages (hq issue 624)
jochen2026-10-13 15:25:41 +02:00
a84d0094a0
Merge pull request 'lab: read the bound forge credential through the tools bundle's env, and check in a fresh directory each time (issue 624)' (#274) from fix/624-lab-check-in-a-fresh-directory into main
mesh-admin2026-10-13 12:58:15 +00:00
dd39d4ace7
lab: name the bound credential in the tools bundle's env, and skip the locked-tree test as root (hq issue 624, reviews 198, 199)
jochen2026-10-13 14:51:18 +02:00
5bd40fa406
lab_check: work in a fresh directory each time, and name what an earlier check left (hq issue 624)
jochen2026-10-13 14:40:06 +02:00
0d723484a8
Merge pull request 'lab: clone the forge with the credential the mesh binds and seals to the lab (issue 624)' (#272) from fix/624-lab-reads-the-forge-with-its-credential into main
mesh-admin2026-10-13 12:07:06 +00:00
8d8dcd5ebb
lab: a read-only forge account of its own, and no credential left on disk after a stop (hq issue 624, review 196)
jochen2026-10-13 14:00:59 +02:00
cd23928320
Merge pull request 'licence manager: say what moved a binding, why, and who asked (issue 625)' (#270) from fix/625-a-licence-move-says-what-why-and-who into main
mesh-admin2026-10-13 11:59:02 +00:00
8922c89059
Merge pull request 'dev-tools: give every node the toolchains to build and test the mesh's code (issue 626)' (#269) from fix/626-every-node-has-the-dev-tools into main
mesh-admin2026-10-13 11:56:18 +00:00
789d2d9d64
lab: clone the forge with the credential the mesh binds and seals to the lab (hq issue 624)
jochen2026-10-13 13:54:16 +02:00
e79197d5a1
i3status-rust, docker-compose: each module declares the packages it needs (issue 628)
mesh-admin2026-10-13 11:52:38 +00:00
1725ffc799
licence manager: a login's adoption is said beside the bindings it made, not first (issue 625)
mesh-admin2026-10-13 11:49:30 +00:00
a72eb3dbb2
licence manager: say what moved a binding, why, and who asked (issue 625)
mesh-admin2026-10-13 11:45:52 +00:00
c0726ac264
dev-tools: give every node the toolchains to build and test the mesh's code (issue 626)
mesh-admin2026-10-13 11:42:12 +00:00
19ecad261c
Merge pull request 'lab: install each checkout where its lock file is, check out mesh-tools-go, and have lab_check catch both (issue 624)' (#268) from fix/624-lab-run-installs-what-each-checkout-has into main
mesh-admin2026-10-13 11:11:58 +00:00
c6a9c52dc7
Install each lab checkout where its lock file is, check out mesh-tools-go, and have lab_check catch both (hq issue 624)
jochen2026-10-13 11:55:01 +02:00
45d01e77c2
Merge pull request 'fail2ban: know the own-addresses list in the form fail2ban prints it (hq issue 238)' (#267) from fix/238-fail2bans-own-file-form into main
mesh-admin2026-10-13 09:18:26 +00:00
c78d0a0134
fail2ban: know the own-addresses list in the form fail2ban prints it (hq issue 238)
jochen2026-10-13 11:14:24 +02:00
f35b067504
Merge pull request 'fail2ban: never ban the operator's own addresses, and say a failure from one (hq issue 238, ADR 0339)' (#266) from fix/238-the-operators-own-addresses into main
mesh-admin2026-10-13 09:05:49 +00:00
93d58f3740
fail2ban: never ban the operator's own addresses, and say a failure from one (hq issue 238, ADR 0339)
jochen2026-10-13 10:54:49 +02:00
5cd608ba88
Merge pull request 'Deliver a merge whose walk said its modules matched what runs, instead of stopping it as stranded (hq issue 611)' (#265) from fix/611-an-unchanged-build-is-delivered into main
mesh-admin2026-10-13 08:25:47 +00:00
2f5e97030a
Deliver a merge whose walk said its modules matched what runs, instead of stopping it as stranded (hq issue 611)
jochen2026-10-13 08:18:25 +02:00
bc3b59227f
Merge pull request 'A password, token or API key is the vault's, never a setting (hq issue 342)' (#264) from fix/342-a-secret-is-never-a-setting into main
mesh-admin2026-10-13 05:52:05 +00:00
eb42806379
Make grafana prefer the vault's password, and let the secrets list only shrink (hq issue 342)
jochen2026-10-13 07:43:08 +02:00
fe2040c65e
Keep every password, token and API key the vault's, never a setting (hq issue 342)
jochen2026-10-13 07:32:19 +02:00
53e5186496
Merge pull request 'build-agent: the package registry is optional, and genesis hands it the forge it raised (hq issue 121, ADR 0336)' (#263) from fix/121-genesis-package-registry into main
mesh-admin2026-10-13 03:37:08 +00:00
e0bc919d49
Let genesis assign the build agent before the package registry exists (hq issue 121, ADR 0336)
jochen2026-10-13 02:50:39 +02:00
f88e3452f8
Merge pull request 'betterbird: own Betterbird's whole configuration as settings, shown without a credential (hq issue 586, ADR 0329)' (#262) from fix/586-betterbird-owns-its-configuration into main
mesh-admin2026-10-13 00:25:41 +00:00
827b89dbf1
Merge pull request 'Mark grafana's and home-assistant's soft requirements optional (hq issue 166, ADR 0330)' (#259) from fix/166-optional-requirements into main
mesh-admin2026-10-13 00:22:35 +00:00
c9a711c259
betterbird: write the account lists only while the profile is closed, and never propose over an unreadable layer (hq issue 586, review 121)
jochen2026-10-13 02:12:06 +02:00
1835f0efad
betterbird: own Betterbird's whole configuration as settings, shown without a credential (hq issue 586, ADR 0329)
jochen2026-10-13 02:03:04 +02:00
39e7a06e62
Merge pull request 'lab: runs name the one genesis bundle (issue 146)' (#261) from fix/146-lab-names-the-one-bundle into main
mesh-admin2026-10-12 23:22:05 +00:00
84911b94f3
Give the lab's runs the one genesis bundle (hq issue 146, ADR 0331)
jochen2026-10-13 01:18:08 +02:00
1906081937
build-agent: declare busy, so a replaced agent finishes the check it runs
jschoubben2026-10-13 00:53:40 +02:00
4193eacec4
Mark grafana's and home-assistant's soft requirements optional (hq issue 166, ADR 0330)
jochen2026-10-13 00:41:30 +02:00
8f80cd4716
Merge pull request 'Name the setting keys searxng, keycloak and betterbird files take (hq issue 168, ADR 0326)' (#252) from fix/168-files-name-the-settings-they-take into main
mesh-admin2026-10-12 22:37:05 +00:00
43a9155d5a
Merge pull request 'claude-code: a session asks the operator on Telegram and reads the answer by a key (issue 589, hq ADR 0332)' (#258) from fix/589-a-session-asks-the-operator into main
mesh-admin2026-10-12 21:30:22 +00:00
c4eebce598
Keep a question's slot until it expires while the router has not recorded it (issue 589, review 107)
jochen2026-10-12 23:24:41 +02:00
14999f1d3e
Keep no secret-shaped question, and hold the two-question cap across nodes (issue 589, review 105)
jochen2026-10-12 23:15:05 +02:00
e4e0ce7619
Say the router's refusal of a proposal only once its discard is kept (issue 589)
jochen2026-10-12 22:51:21 +02:00
9446bec2f9
Let an agent session ask the operator on Telegram and read the answer (issue 589, hq ADR 0332)
jochen2026-10-12 22:44:45 +02:00
9c9a76d220
Merge pull request 'Say how the build agent and the route proxy are ready (hq issue 544)' (#257) from fix/544-the-build-agent-says-it-is-ready into main
mesh-admin2026-10-12 20:00:06 +00:00
ac2d4dc46f
Merge pull request 'mesh-issues: a fix's time from the move to fixing to delivered, and loud over its budget (issue 403, hq ADR 0313)' (#250) from fix/403-fix-time into main
mesh-admin2026-10-12 19:41:32 +00:00
d09dbe33ac
Say how the build agent and the route proxy are ready (novox/hq issue 544)
jschoubben2026-10-12 21:33:13 +02:00
005f802504
Merge remote-tracking branch 'origin/main' into fix/403-fix-time
jochen2026-10-12 21:28:55 +02:00
eb5f33f2b4
Merge pull request 'betterbird: ship the operator's approved configuration, and show and fix drift from it (hq issue 345)' (#256) from fix/345-betterbird-configuration into main
mesh-admin2026-10-12 19:22:14 +00:00
c4b4bac757
betterbird: never report the theme as fixed by clearing prefs.js, and never manage an account's name (hq issue 345, review 96)
jochen2026-10-12 21:09:25 +02:00
0863ec2a05
Merge pull request 'A merged pull request is announced with its branch, so its delivery group is found (hq issue 578)' (#255) from fix/578-a-group-waits-for-its-controller-member into main
mesh-admin2026-10-12 19:07:03 +00:00
854c85393c
betterbird: ship the operator's approved configuration, and show and fix drift from it (hq issue 345)
jochen2026-10-12 20:58:39 +02:00
2fe5601397
Merge pull request 'gitea: announce every open pull request's new head, not only the newest 20 (hq issue 579)' (#254) from fix/579-every-open-pull-request-is-announced into main
mesh-admin2026-10-12 18:58:27 +00:00
01d2ff7a46
Announce a merged pull request's branch, not its pull ref, so its delivery group is found (hq issue 578)
jschoubben2026-10-12 20:57:14 +02:00
961e57f7e4
Page the announcer through every open pull request updated since its last look
jschoubben2026-10-12 20:52:27 +02:00
22071dabfc
Merge pull request 'betterbird: lock the ask to be the default mail client off (hq issue 345)' (#253) from fix/345-no-default-client-check into main
mesh-admin2026-10-12 18:23:49 +00:00
481e44cdaa
betterbird: lock the ask to be the default mail client off, so it never shows at a start (hq issue 345)
jochen2026-10-12 20:17:38 +02:00
23ea0f431f
Merge pull request 'A verdict goes out of date when its trunk moves, and the merge tool refuses it (hq ADR 0323, issue 341)' (#251) from feat/341-a-merge-check-judges-the-merge into main
mesh-admin2026-10-12 16:11:28 +00:00
41b6e10077
Send the announced base head with a check mesh-delivery asks
jschoubben2026-10-12 17:52:20 +02:00
2f55adc57c
Name the setting keys searxng, keycloak and betterbird files take (hq issue 168, ADR 0326)
jochen2026-10-12 17:47:27 +02:00
434506f9b1
Serve the merge tool beside the one writer, and close the review's gaps
jschoubben2026-10-12 17:46:39 +02:00
82cca650a2
Put a verdict out of date when its trunk moves, and refuse a merge on one
jschoubben2026-10-12 17:29:58 +02:00
cd2b6aacd8
Merge pull request 'mesh-reads: a node's files and accounts read as an account that holds no secret (hq ADR 0310, issue 418)' (#247) from fix/418-node-reads-2 into main
mesh-admin2026-10-12 14:52:18 +00:00
aed7e0c968
Read the mesh's comment verdicts as approvals, and warn on no fix timed from the log (issue 403, review 69)
jochen2026-10-12 16:16:04 +02:00
43df7ebc5a
Measure each fix from the move to fixing to delivered, and say one over its budget (issue 403)
jochen2026-10-12 15:50:12 +02:00
c5e1bc7bb4
Merge pull request 'mesh-issues: a resolved issue ends its fix-stuck warning, and a closed issue's fix is never said stuck (hq issue 547)' (#239) from fix/547-resolved-ends-stuck into main
mesh-admin2026-10-12 13:21:49 +00:00
6190b40175
Merge pull request 'artifact-store-tools: an image a definition pins, under any name the store has had, is named by a definition (hq issue 323)' (#249) from fix/323-named-by-a-definition-2 into main
mesh-admin2026-10-12 13:08:31 +00:00
edf39a3b74
Merge pull request '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)' (#240) from fix/345-betterbird-module into main
mesh-admin2026-10-12 12:54:53 +00:00
15983e2f96
betterbird: an account's own aliases and identities that do not send by SMTP share no outgoing server, and the pins name their vendors on purpose (review 36, review 35 of mesh-controller #251)
jochen2026-10-12 13:25:58 +02:00
263c86d2e5
betterbird: withhold account values in the user.js answer, never write a shared outgoing server, and say a newer Owl as a fact (review 34, hq issue 345, ADR 0317)
jochen2026-10-12 13:19:49 +02:00
ec4ab7afe7
betterbird: install Betterbird from its pinned release, ship Owl by policy, and declare the accounts without credentials (hq issue 345, ADR 0316, ADR 0317)
jochen2026-10-12 12:57:37 +02:00
0e6f382bb7
betterbird: keep the reminder test's update check off so no About window takes the screen (hq issue 345)
jochen2026-10-12 12:05:06 +02:00
d745a4d31e
artifact-store-tools: say an image a definition pins is named by a definition, under any name the store has had (issue 323)
jochen2026-10-12 14:46:55 +02:00
994cab533b
mesh-reads: read a node's files and accounts as an account that holds no secret (hq ADR 0310, issue 418)
jochen2026-10-12 14:32:22 +02:00
2772120758
Merge pull request 'mesh-delivery: say how many owed effects were tried since the start (hq issue 407)' (#246) from fix/407-owed-effects-are-counted into main
mesh-admin2026-10-12 12:23:36 +00:00
13a7d40ac5
Merge pull request '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)' (#245) from fix/494-change-a-drafted-clause into main
mesh-admin2026-10-12 12:18:34 +00:00
a3ad3c5061
Count the owed effects mesh-delivery tried, so a window's writes can be judged against them
jschoubben2026-10-12 14:16:58 +02:00
5b75499ea6
Merge pull request 'mesh-delivery: say an unanswered line's delivery state as data (hq issue 451)' (#243) from fix/451-a-recheck-is-the-step into main
mesh-admin2026-10-12 12:14:45 +00:00