9355efa00b
Merge pull request 'mesh-knowledge: the knowledge base, first slice (hq issue 425, ADR 0290)' (#206) from feat/425-the-knowledge-base into main
mesh-admin2026-10-11 03:48:50 +00:00
ec00e13e22
Hold a decision record to the words rules only from 2026-10-11 (review of #206)
jschoubben2026-10-11 05:14:37 +02:00
10ab959d0f
Tighten who writes and reviews a record, date the rules, bound history (review of #206)
jschoubben2026-10-11 05:10:02 +02:00
9afc253e85
Merge pull request 'mesh-issues: the tracker hands out decision and research numbers (hq issue 424)' (#204) from fix/424-the-tracker-hands-out-decision-and-research-numbers into main
mesh-admin2026-10-11 02:59:55 +00:00
ba7b455719
Add mesh-knowledge, the knowledge base's first slice (hq issue 425, ADR 0290)
jschoubben2026-10-11 04:58:35 +02:00
9a1a97cc43
docker: make log rotation a preference, 100m x 10 by default, judged by a step before daemon.json takes it (novox/hq issue 452)
jschoubben2026-10-11 04:43:14 +02:00
9d4d9d5cd2
mesh-issues: say in reserve's answer when hq could not be read, and grant the import its records calls (review of #204)
jschoubben2026-10-11 04:30:28 +02:00
350a597c47
mesh-issues: hand out decision and research numbers, so sessions stop taking them by reading hq (hq issue 424)
jschoubben2026-10-11 04:25:48 +02:00
33ee89794e
Merge pull request 'restic: the backup retention is a preference, today's 14/8/6 its default (hq issue 416, first half)' (#200) from fix/416-retention-and-log-rotation-are-preferences into main
mesh-admin2026-10-11 02:24:36 +00:00
27cb95e98f
Merge pull request 'mesh-delivery: a member after a superseded one waits while a later merge can carry it (hq issue 445)' (#203) from fix/445-a-carried-member-lets-the-next-take-its-turn into main
mesh-admin2026-10-11 02:18:42 +00:00
5eca660fd0
Merge pull request 'mesh-delivery: give an unanswered line's checks as data (issue 443)' (#201) from fix/443-a-stalled-lines-times-are-local into main
mesh-admin2026-10-11 01:52:00 +00:00
15a24fb63e
mesh-delivery: share a carrier's walk only when it delivers the whole superseded member
jschoubben2026-10-11 03:46:32 +02:00
f7ba413c10
mesh-delivery: a member on its carrier's walk takes its turn, and a waiting member says for whom
jschoubben2026-10-11 03:41:52 +02:00
51a85c5998
mesh-delivery: a member after a superseded one waits while a later merge can carry it
jschoubben2026-10-11 03:34:04 +02:00
87b0d3a528
Merge pull request 'A pending merge check says where it is: in the build queue since when, then building on which machine (hq issue 446)' (#202) from fix/446-a-pending-check-says-where-it-is into main
mesh-admin2026-10-11 01:27:06 +00:00
a5b4a757ec
Merge pull request 'mesh-delivery: say a ready or rejected delivery whose check has not answered on the forge (hq issue 441)' (#199) from fix/441-a-held-delivery-without-its-check-is-said into main
mesh-admin2026-10-11 01:26:37 +00:00
1cf56688c1
Make the gitea module the one writer of mesh/merge-gate, so a verdict always lands last (hq issue 446)
jschoubben2026-10-11 03:23:52 +02:00
4254d17322
Say where a pending merge check is: queued since when, then building on which machine (hq issue 446)
jschoubben2026-10-11 03:14:06 +02:00
30788c46a1
mesh-delivery: give an unanswered line's checks as data, so the controller says their times in the operator's zone (novox/hq issue 443)
jschoubben2026-10-11 03:10:22 +02:00
ecf6d7803f
restic: say in each retention setting that lowering it deletes restore points for good, so the operator sees the cost before setting it (novox/hq issue 416)
jschoubben2026-10-11 03:09:46 +02:00
ebd940fcd0
Merge pull request 'mesh-cli: build on the SDK that reads the engine's refusal after a failed write (hq issue 444)' (#198) from fix/444-mesh-cli-hears-the-refusal into main
mesh-admin2026-10-11 01:04:52 +00:00
39d5b25f95
restic: take the retention from the machine's settings, so a disk can keep more or fewer restore points without a new build (novox/hq issue 416)
jschoubben2026-10-11 03:04:52 +02:00
9bd8903ed2
mesh-delivery: test that an unanswered line clears when its delivery moves on or its pull request closes (issue 441)
jschoubben2026-10-11 03:03:43 +02:00
5855c41f9d
mesh-delivery: say a ready or rejected delivery whose check has not answered on the forge (issue 441)
jschoubben2026-10-11 03:00:23 +02:00
4870c9171e
mesh-cli: build on the SDK that reads the engine's refusal after a failed write, so a caller hears busy, not broken pipe (novox/hq issue 444)
jschoubben2026-10-11 02:56:55 +02:00
c6cf5638dd
Merge pull request 'mesh-delivery: a group whose members all ended ends, never delivering (hq issue 442)' (#197) from fix/442-a-group-whose-members-ended-ends into main
mesh-admin2026-10-11 00:55:59 +00:00
bc473a7bc8
Merge pull request 'mesh-delivery: say a head whose merge check started and never answered (issue 438)' (#195) from fix/438-a-check-that-never-answered-is-said into main
mesh-admin2026-10-11 00:47:19 +00:00
e3f29e6bb4
mesh-delivery: say where GroupState and groupTurns still differ, keep the stopped line whole
jschoubben2026-10-11 02:45:43 +02:00
036544ee0f
mesh-delivery: a closed group whose members all ended ends, never delivering
jschoubben2026-10-11 02:39:45 +02:00
450892498d
mesh-delivery: an unanswered line names its checks in a field of their own (issue 438)
jschoubben2026-10-11 02:25:48 +02:00
1f48a29495
mesh-delivery: a check that answers keeps the hour running, and a started head is unanswered (issue 438)
jschoubben2026-10-11 02:22:16 +02:00
b9de001833
Merge pull request 'mounts: list says an armed automount waits, not mounted (issue 437)' (#196) from fix/437-an-armed-automount-is-not-mounted into main
mesh-admin2026-10-11 00:21:31 +00:00
520763e98d
mounts: list says an armed automount waits, not mounted, as the look already judges it (issue 437)
jschoubben2026-10-11 02:17:47 +02:00
9d766b675d
mesh-delivery: say a head whose merge check started and never answered (issue 438)
jschoubben2026-10-11 02:16:34 +02:00
372b6c2323
Merge pull request 'mounts: list reads the root mount's unit (issue 374)' (#194) from fix/374-mounts-list-reads-the-root-mounts-unit into main
mesh-admin2026-10-11 00:13:58 +00:00
99df6b999b
mounts: pass unit names to systemctl show after --, so the root mount's -.mount is not read as an option
jschoubben2026-10-11 02:02:18 +02:00
d856892ced
Merge pull request 'gitea: a merge names the head it was reviewed at (issue 381)' (#193) from fix/381-a-merge-names-the-head-it-was-reviewed-at into main
mesh-admin2026-10-10 23:56:30 +00:00
c87a4421b9
gitea: a read-back that fails after the merge says the merge happened (review of issue 381)
jschoubben2026-10-11 01:35:43 +02:00
9ef810d9c3
gitea: twelve characters name a head, and what landed is read from the merge commit (review of issue 381)
jschoubben2026-10-11 01:33:17 +02:00
c32eb6237d
gitea: a merge names the head it was reviewed at (issue 381)
jschoubben2026-10-11 01:28:52 +02:00
fa6360c1d3
Merge pull request 'messenger: read a condition's message before it is sent (issue 422)' (#192) from fix/422-a-condition-message-read-before-it-is-sent into main
mesh-admin2026-10-10 22:54:34 +00:00
15546f9d83
messenger: count the store's writes, and name an ask's record when it is the only one held (review of issue 422)
jschoubben2026-10-11 00:49:38 +02:00
d00cc8baf4
messenger: the preview is the sending path's own walk (review of issue 422)
jschoubben2026-10-11 00:43:40 +02:00
b7b34ddad7
messenger: read a condition's message before it is sent (issue 422)
jschoubben2026-10-11 00:30:32 +02:00
7534167fd0
Merge pull request '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)' (#190) from feat/386-a-wait-for-the-operator into main
mesh-admin2026-10-10 20:18:32 +00:00
d91985cc35
Merge pull request 'Say in a condition's message which issue tracks it and where it stands (issue 400)' (#191) from feat/400-alert-names-its-issue into main
mesh-admin2026-10-10 20:09:42 +00:00
12619ec140
Check that tracking says no event and writes nothing, as ADR 0285 states
jochen2026-10-10 21:51:30 +02:00
a7fc89ef04
Name issues not closed first, and say a quiet worker before a decision, as ADR 0285 says
jochen2026-10-10 21:50:54 +02:00
63dba87587
Say in a condition's message which issue tracks it and where that issue stands (issue 400)
jochen2026-10-10 21:44:53 +02:00
a12b5908aa
mounts: name a malformed entry of sources by its position, never by its name
jochen2026-10-10 21:38:17 +02:00
58ec352b8c
mounts: say nothing an entry of sources holds when it cannot be read
jochen2026-10-10 21:32:56 +02:00
6f78899827
mounts: take an SMB source's username from its entry of sources, not a setting of its own
jochen2026-10-10 21:30:31 +02:00
c620173966
mounts: read a password only from the directory the configuration names, and say a domain goes in the username
jochen2026-10-10 21:14:03 +02:00
61dcdf03a0
Merge pull request 'mesh-issues: an issue says who works on it, and resolves only from fixing (hq issue 399)' (#189) from feat/399-fixing-status into main
mesh-admin2026-10-10 19:13:32 +00:00
bbb3161ade
mounts: take an SMB source's username as a setting and its password as its own secret, and wait for them
jochen2026-10-10 21:11:16 +02:00
a73b04843d
mesh-issues: a take-over note records who acted, not the worker named; tests for the remaining rules (hq issue 399)
jochen2026-10-10 21:10:36 +02:00
6f2c08c66e
Merge pull request 'mesh-delivery: delivery time per delivery and the times verb (hq ADR 0282 slice 1, issue 382)' (#188) from feat/382-delivery-times into main
mesh-admin2026-10-10 19:07:24 +00:00
11afde55d6
mesh-issues: an issue says who works on it, and resolves only from fixing (hq issue 399)
jochen2026-10-10 21:02:37 +02:00
08dab94bb0
mesh-delivery: an unreliable time names its phases with no number; tests that it is never counted and that phases short of the walk's end are unreliable
jochen2026-10-10 20:56:50 +02:00
662c4105d3
mesh-delivery: cut a walk's phases at the delivery's own merge, never a negative time; moments out of order are unreliable, not a number (hq issue 382)
jochen2026-10-10 20:55:21 +02:00
383e698254
mesh-delivery: rebase only a first phase that starts at the walk's merge; a class without a budget is said unknown
jochen2026-10-10 20:16:46 +02:00
404efb764b
mesh-delivery: keep each delivery's time from its merge and answer times per class (hq ADR 0282, issue 382)
jochen2026-10-10 20:14:19 +02:00
a14fa306f2
Merge pull request 'mesh-delivery: write a delivery only when it changed (hq issue 326)' (#187) from fix/326-write-a-delivery-only-when-it-changed into main
mesh-admin2026-10-10 17:50:53 +00:00
7eb96f2a1d
mesh-delivery: write a delivery only when it changed (hq issue 326)
jochen2026-10-10 19:46:25 +02:00
63412ec36a
Merge pull request 'mesh-issues: a verdict naming issue 0 is none, and the tracker's own module is a registered owner (issue 396)' (#186) from fix/triage-issue-zero-is-none into main
mesh-admin2026-10-10 17:22:25 +00:00
383194488b
mesh-issues: only a duplicate or related verdict naming 0 is none (review, issue 396)
jochen2026-10-10 18:28:45 +02:00
6bd69ebadc
mesh-issues: a verdict naming issue 0 is none, and the tracker's own module is a registered owner (issue 396)
jochen2026-10-10 18:27:53 +02:00
7e7dfbfb1a
Merge pull request '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)' (#185) from feat/mesh-issues-delivery into main
mesh-admin2026-10-10 16:19:55 +00:00
01bde68f96
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)
jochen2026-10-10 18:12:52 +02:00
0b4ae8097f
Merge pull request 'mesh-issues: triage every new issue — severity, needs, suggested owner, dependencies — and ready when what it depends on is delivered (hq ADR 0279)' (#184) from feat/mesh-issues-triage into main
mesh-admin2026-10-10 16:11:57 +00:00
9bb8253609
mesh-issues: triage every new issue — severity, needs, suggested owner, dependencies — and say an issue ready when what it depends on is delivered (hq ADR 0279)
jochen2026-10-10 17:56:08 +02:00
105cc7c0de
Merge pull request 'dnsmasq answers or is restarted, binds once; tools for DNS, sockets and the runtime's memory (hq issue 348)' (#161) from fix/the-resolver-answers-or-is-restarted into main
mesh-admin2026-10-10 15:48:12 +00:00
a10f1844f2
Merge branch 'main' into fix/the-resolver-answers-or-is-restarted
jochen2026-10-10 17:45:20 +02:00
25c7bee3b8
Merge pull request 'mesh-issues: the duplicate check on every new issue, and groom for the backlog; claude-code: claude_code_judge (hq ADR 0278)' (#183) from feat/mesh-issues-groom into main
mesh-admin2026-10-10 15:34:47 +00:00
a5c38892a7
mesh-issues: review — one judgement at a time with new issues first, one verdict applied at a time, a resolved issue left alone on redelivery, the pass's answer a copy (hq ADR 0278)
jochen2026-10-10 17:20:07 +02:00
f58840b8a6
mesh-issues: check every new issue for a duplicate; claude-code: one judgement with no tools (hq ADR 0278)
jochen2026-10-10 17:11:54 +02:00
fb77be42ca
Merge pull request 'A channel shows nothing from its memory after a restart; the router says again what is still open (issue 384)' (#182) from fix/issue-384-restart-replays-nothing into main
mesh-admin2026-10-10 14:17:04 +00:00
45361b013a
Review: keep the desk's notification ids so lost answers are said again in place (issue 384)
jochen2026-10-10 16:13:57 +02:00
aabb83d6c9
Merge pull request 'mesh-issues: import hq's issue folders at their own numbers (hq ADR 0275, to-be 53 slice 3)' (#180) from feat/mesh-issues-import into main
mesh-admin2026-10-10 14:04:23 +00:00
cd85104988
A channel shows nothing from its memory after a restart; the router says again what is still open (issue 384)
jochen2026-10-10 16:02:37 +02:00
d05308a419
mesh-issues: import hq's issue folders at their own numbers, and an issue with a folder is whole in the tracker (hq ADR 0275, to-be 53 slice 3)
jochen2026-10-10 15:54:31 +02:00
3b497bd71f
Merge pull request 'mounts: the SMB login is typed as one line at the desk's prompt (issue 379)' (#179) from fix/mounts-one-line-smb-login into main
mesh-admin2026-10-10 13:55:03 +00:00
a058cad735
mounts: the SMB login is typed as one line at the desk's prompt (issue 379)
jochen2026-10-10 15:50:56 +02:00
1fcf46fbfc
Merge pull request 'rofi: the desk's secret prompt names who asked (hq ADR 0277)' (#177) from feat/0277-the-desk-prompt-names-who-asked into main
mesh-admin2026-10-10 13:34:21 +00:00
4b9558f195
rofi: the desk's secret prompt names who asked (hq ADR 0277)
jochen2026-10-10 14:24:15 +02:00
64feabc6c3
Merge pull request 'One message per problem: a reminder replaces, a blip says nothing (issues 373 and 369)' (#176) from fix/373-one-message-per-condition into main
mesh-admin2026-10-10 12:39:06 +00:00
8dfc19c9f7
A silence is said on the shown message, which then times out (issue 373)
jochen2026-10-10 14:32:35 +02:00
f8515219b1
Review: a blip swallows no escalation or waiting reminder; replace safely (issue 373)
jochen2026-10-10 14:14:05 +02:00
3345ff9317
One message per problem: a reminder replaces, a blip says nothing (issues 373 and 369)
jochen2026-10-10 14:01:57 +02:00
6ec02b6eb1
Merge pull request 'messenger, telegram: a tap shows at once what it did, and the question changes to its outcome (issue 372)' (#175) from fix/372-a-tap-shows-its-outcome into main
mesh-admin2026-10-10 12:15:14 +00:00
6b4cfc3708
telegram: a refusal of a tap on changed words stays on the phone alone (issue 372 review)
jochen2026-10-10 14:09:16 +02:00
35c4de7d08
messenger, telegram: a second tap on the recorded answer is said as recorded, and the fallback claims nothing (issue 372 review)
jochen2026-10-10 14:05:41 +02:00
020c05fe65
messenger, telegram: show the operator at once what a tap did, and change the question to its outcome (hq issue 372)
jochen2026-10-10 13:59:54 +02:00
f6c9e06cdf
Merge pull request 'messenger: every message still shown keeps its own Details (issue 371)' (#174) from fix/messenger-details-per-message into main
mesh-admin2026-10-10 11:48:50 +00:00
6a8c718f44
messenger: ask whether a channel is ready before composing its messages, so failed tries make no Details tickets (issue 371)
jochen2026-10-10 13:46:34 +02:00
bb96f4d163
messenger: every message still shown keeps its own Details, bounded in number and age (issue 371)
jochen2026-10-10 13:44:43 +02:00
7fd1ceb310
Merge pull request 'claude-code: leave the judging of a proposal's channel to the router, and hear its refusal (issue 370, hq ADR 0274)' (#173) from fix/claude-code-asks-without-the-channel-kinds into main
mesh-admin2026-10-10 11:18:27 +00:00
d2af46b715
Merge pull request 'mesh-delivery: a walk answers every merge it contains, never an ended delivery (hq issue 362, ADR 0276)' (#171) from fix/362-a-walk-answers-every-merge-it-contains into main
mesh-admin2026-10-10 11:14:07 +00:00
774f18afcf
claude-code: an ask taken after its refusal is still answered; the wait is bounded (issue 370 review)
jochen2026-10-10 13:08:09 +02:00