Commit Graph

  • dd8305d97d mesh-mail: the refused-sign-in acceptance test's wait excluded queued too, so it returned done on the very first look before the sender ever claimed anything (issue 1198) jochen 2026-10-19 11:10:36 +02:00
  • 06dfce87f5 mesh-mail: decide kept by settleSend's own returned revision, not its error, so a changed revision is actually retried instead of silently accepted as another writer's state; emit mail.send.failed from claimQueuedSend only once its own write lands (review round 2; issue 1198) jochen 2026-10-19 11:07:24 +02:00
  • 7db4bd215d mesh-mail: fix the work-queue stream's real bus name (MAIL_SENDS, not MAIL-SENDS) and build the integration tests' stream, subject and duplicate window exactly as the controller composes them, exercising the send id's dedup (review round 1 finding 7; issue 1198) jochen 2026-10-19 10:57:45 +02:00
  • 1639269ad4 mesh-mail: on Approve the tools record the send queued directly, with no separate approved state, then publish; a stuck queued record is republished by the sweep past a short grace, never NakWithDelay'd by the sender (ADR 0436 clause 8, decided to replace the review round 1 item 2 work-around; issues 1194, 1196, 1199) jochen 2026-10-19 10:53:32 +02:00
  • 7397051771 mesh-mail: tighten tests that proved less than their criterion — attempt 5 and no mail received (1198/AC4), mail_health actually turning unhealthy (1199/AC2), and the words mail_send_status gives, not only its status (1199/AC4) (review round 1 finding 6) jochen 2026-10-19 10:53:12 +02:00
  • 95089762ef mesh-mail: retry the outcome's own write on a changed revision, and never ack or emit an outcome that could not be kept (review round 1 finding 5; issue 1198) jochen 2026-10-19 10:43:45 +02:00
  • ce3b12f349 mesh-mail: emit mail.send.failed when the sender's own claim refuses or finds a send already sending, same as a failed send after it (review round 1 finding 4; issue 1198) jochen 2026-10-19 10:40:41 +02:00
  • acb82992ee mesh-mail: index a send for a tell or mail_health's overdue check before its record carries the outcome, drop the old index entry only after, and report an index write that fails instead of dropping it silently (review round 1 finding 3; issues 1194, 1199) jochen 2026-10-19 10:38:07 +02:00
  • 0a7669b48f mesh-mail: a send still approved (the tools' own publish-then-record race) is redelivered later, never refused or told (review round 1 finding 2; issue 1196) jochen 2026-10-19 10:31:39 +02:00
  • f140099a75 mesh-mail: declare the sender's own secret broker-send, so the controller can issue its account (review round 1 finding 1; issue 1172) jochen 2026-10-19 10:29:48 +02:00
  • f3a59ee63a mesh-mail: tell the operator once for a failed approved send and once more if its sender has not taken it, make an overdue send unhealthy, and give mail_send_status its full vocabulary (ADR 0436 clauses 11, 12; issue 1199) jochen 2026-10-19 10:22:27 +02:00
  • 33a97e6d13 mesh-mail: the sender records a send's outcome, retries a not-taken failure and emits mail.send.sent or mail.send.failed, acknowledging only once it is kept (ADR 0436 clauses 10, 11; issue 1198) jochen 2026-10-19 10:11:41 +02:00
  • e7dce9616c mesh-mail: classify an SMTP send's outcome (not taken, refused, not proven), and carry the send id in the Message-ID (ADR 0436 clause 10; issue 1197) jochen 2026-10-19 10:03:44 +02:00
  • 1ccb617a86 mesh-mail: the sender verifies the operator's warrant again from the router's own record and claims a send once before any connection (ADR 0436 clauses 9, 10; issue 1196) jochen 2026-10-19 09:57:07 +02:00
  • dd3ed68483 mesh-mail: a send process that connects on its own bus account and consumes the mail-sends queue, stopping cleanly on a signal (ADR 0436 clause 7; issue 1195) jochen 2026-10-19 09:49:24 +02:00
  • 428b42181d mesh-mail: on the operator's Approve the tools record approved and queue the send for the sender, instead of sending it themselves (ADR 0436 clause 8; issue 1194) jochen 2026-10-19 09:44:42 +02:00
  • 59c0906c79 mesh-mail: move password reading out of the tools' reach into its own package, so only keep and the send actor import it (ADR 0436 clause 12; issue 1193) jochen 2026-10-19 09:32:54 +02:00
  • 75a9a45c6f mesh-mail: pin mesh-sdk go to release 2, declare the sender account, bus process and work-queue stream (ADR 0436 clauses 7, 8; issue 1172) jochen 2026-10-19 09:23:45 +02:00
  • b4527d9091 Merge pull request 'Ask a refused merge again when its checks turn green on the forge (issue 1144)' (#368) from fix/1144-merge-asked-again-on-green-status into main mesh-tools 2026-10-18 22:05:45 +00:00
  • a32b7af3fd Ask a refused merge again when its checks turn green on the forge (issue 1144) jochen 2026-10-18 23:50:25 +02:00
  • a6295d6b98 Merge pull request 'Write a provisioner client's files only on a change over the bus, never on a timer (issue 1129, ADR 0430)' (#366) from fix/1129-no-drift-pass into main mesh-tools 2026-10-18 16:56:32 +00:00
  • afb94d925e Merge pull request 'Register the repository mesh-delivery as an owner, so its issues can be located in it (issue 1133)' (#367) from fix/1133-mesh-delivery-owner into main mesh-tools 2026-10-18 16:52:06 +00:00
  • 26d81b09b5 Register the repository mesh-delivery as an owner, so its issues can be located in it (issue 1133) jschoubben 2026-10-18 18:39:11 +02:00
  • 72ad5ad138 Merge pull request 'A repository the gitea module makes refuses an administrator's merge past its checks (issue 1141)' (#365) from fix/1141-admin-override into main mesh-tools 2026-10-18 16:24:56 +00:00
  • 54db38be08 gitea: a repository the module makes refuses an administrator's merge past its checks (issue 1141) jschoubben 2026-10-18 18:10:29 +02:00
  • e7ff7c3045 Write a provisioner client's files only on a change over the bus, never on a timer (issue 1129, ADR 0349 clause 4) fix/1129-no-drift-pass jochen 2026-10-18 18:08:50 +02:00
  • 4301da630d Merge pull request 'gitea fills repositories.json through the provisioner client, so an approved repositories value lands at once (issue 1128)' (#364) from fix/1128-repositories-template into main mesh-tools 2026-10-18 16:03:58 +00:00
  • e75e793a4b gitea: fill repositories.json through the provisioner client, so an approved value lands at once (issue 1128) jschoubben 2026-10-18 17:40:47 +02:00
  • cfb90d7b2f Merge pull request '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)' (#363) from fix/1124-repositories-config into main mesh-tools 2026-10-18 15:05:04 +00:00
  • 11761637cf Put main's rule right again once a new repository is in the organisation: the forge drops a merger without access, and under the setup account the tools' account has none (issue 1124, ADR 0428 §3, review round 1) jschoubben 2026-10-18 16:58:17 +02:00
  • 8c587d0f00 Let the repositories pass's failed exit be its gate: a run-once step the node-engine runs again until it passes, its stderr naming each refused repository, step and forge answer, instead of a health check of its own (issue 1124, ADR 0428 §6) jschoubben 2026-10-18 16:52:29 +02:00
  • df275b3c6e Make the organisation's repositories from the gitea module's config value, protected under the setup account before they join the organisation, and take the owner argument from gitea_create_repo, since a repository's maker becomes its administrator (issue 1124, ADR 0428) jschoubben 2026-10-18 16:49:12 +02:00
  • 94b49a296f Test that the gitea module makes the organisation's repositories from its config, protected before any team reaches them, and that no tool creates in the organisation (issue 1124, ADR 0428) jschoubben 2026-10-18 16:45:49 +02:00
  • e47d0694c7 Merge pull request 'gitea_create_repo creates a repository in an organisation, saying the forge's refusal (issue 1124)' (#362) from fix/1124-create-repo-in-org into main mesh-tools 2026-10-18 13:50:31 +00:00
  • 0d3f0fd3fc Let gitea_create_repo create in an organisation, saying the forge's refusal, so novox repositories can be made through the tools (issue 1124) jschoubben 2026-10-18 15:45:01 +02:00
  • 50fee22d0a Test that gitea_create_repo creates in an organisation and says the forge's refusal (issue 1124) jschoubben 2026-10-18 15:44:38 +02:00
  • 7f77ce663a Merge pull request 'mesh-delivery waits for nothing: a check is asked at once and a standing verdict adopted (issue 1115)' (#361) from fix/zero-delay into main mesh-tools 2026-10-18 10:38:05 +00:00
  • 6954467292 mesh-delivery bus test waits for the group's composed check, not a member's own check asked at once (issue 1115) jschoubben 2026-10-18 12:33:02 +02:00
  • 5f002441b7 mesh-delivery takes an empty answer to a check ask as a refusal (issue 1115) jschoubben 2026-10-18 12:28:03 +02:00
  • fc9ddd9185 mesh-delivery adopts a standing verdict only when every required check stands, at every look, and counts an ask with no id as none (issue 1115) jschoubben 2026-10-18 12:25:53 +02:00
  • 1760b94824 mesh-delivery waits for nothing: a check is asked at once and a standing verdict adopted (issue 1115) jschoubben 2026-10-18 12:22:31 +02:00
  • 580fadb63e Merge pull request 'A pull request at the same head as one closed unmerged takes its delivery over (issue 1114)' (#360) from fix/takeover-on-close into main mesh-tools 2026-10-18 09:59:02 +00:00
  • 30d3bb9466 A pull request announced at a live head takes its delivery over when the other one closes or is edited (issue 1114) jschoubben 2026-10-18 11:53:28 +02:00
  • e40ec47058 Merge pull request 'mesh-delivery hears a pull request closed unmerged from the forge's own event (issue 1107)' (#359) from fix/close-heard-from-forge-event into main mesh-tools 2026-10-18 09:00:18 +00:00
  • bc1acddaa4 mesh-delivery hears the forge's own pull-request closed event as a close unmerged (issue 1107) jschoubben 2026-10-18 04:55:48 +02:00
  • 798d6fd685 Merge pull request 'A group member refused for its own pending repo-check is asked its own check, not the composed one (issue 1049)' (#358) from fix/1049-own-check-on-refusal into main mesh-tools 2026-10-18 02:41:25 +00:00
  • b0ec4f6f14 A group member refused for a pending status of its own asks its own check once, not the composed check (issue 1049) jschoubben 2026-10-18 04:27:42 +02:00
  • d3dd46a9fd Merge pull request 'Readers of the assignments skip an ended or pending one (design 47 milestone 5, issue 1098)' (#357) from feat/chain-on-the-bus into main mesh-tools 2026-10-18 02:04:16 +00:00
  • 3bc4215d87 Take the bus's backup guard out of modules/nats: it would move the bus (issue 1098, guard follows in issue 1104) jschoubben 2026-10-18 03:55:47 +02:00
  • 68e3326d4c Providers and the provisioner client take the SDK that reads an ended assignment as a removed key (issue 1098) jschoubben 2026-10-18 02:40:18 +02:00
  • 84af0ed180 Guard that the bus storage stays declared as data with a backup (issue 1098) jschoubben 2026-10-18 02:37:28 +02:00
  • 9edd16eaeb mesh-provisioner-client takes a module off the node when its assignment is ended (issue 1098) jschoubben 2026-10-18 02:37:28 +02:00
  • 60a3823f0e mesh-vault reads an ended assignment as a removed key (issue 1098) jschoubben 2026-10-18 02:37:28 +02:00
  • bdbca4b921 mesh-config drops an ended assignment as a removed one (issue 1098) jschoubben 2026-10-18 02:37:28 +02:00
  • 44e7002d3c Merge pull request '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)' (#356) from feat/group-one-pass into main mesh-tools 2026-10-17 23:44:21 +00:00
  • 7383bc3170 A stale composed pass counts members judged since it was asked, whichever verdict lands first (issue 1047, review round 2) jschoubben 2026-10-18 01:20:18 +02:00
  • ebd29223f3 Prove over a real bus that an edit of the description asks the Approve again (issue 1079, review round 1) jschoubben 2026-10-18 01:18:43 +02:00
  • e8a74765f8 A composed check that lands judged against a trunk that has moved is out of date and asked again (issue 1047, review round 1) jschoubben 2026-10-18 01:18:13 +02:00
  • 6556e61485 Read a pull request's review record again when its description is edited, and ask the Approve again if it was unanswered (issue 1079) jschoubben 2026-10-18 01:12:40 +02:00
  • 93365be98f A new pull request at a commit whose delivery was stopped and unmerged takes that delivery over (issue 1083) jschoubben 2026-10-18 01:10:51 +02:00
  • 814c1a991c A trunk move asks at once the check of a group member whose Approve is not asked yet (issue 1047) jschoubben 2026-10-18 01:10:12 +02:00
  • 983e4a6444 A closed group's member whose merge was refused asks the composed check again at once, and a refusal loop past ten minutes is said (issue 1082) jschoubben 2026-10-18 01:09:37 +02:00
  • da094008ea A group's composed verdict names each member's siblings at the heads it composed, so a sibling's own merge is no move (issue 1049) jschoubben 2026-10-18 01:08:26 +02:00
  • 0c56f60305 Merge pull request 'Let a proposed record be withdrawn (issue 1081)' (#355) from fix/1081-withdraw into main mesh-tools 2026-10-17 22:15:25 +00:00
  • 684e8801c4 Take the ask back on the router when withdrawing a record (issue 1081, review round 1) jochen 2026-10-18 00:09:16 +02:00
  • 6394a62a02 Merge remote-tracking branch 'origin/main' into fix/1081-withdraw jochen 2026-10-18 00:03:16 +02:00
  • ddf7a5ab09 Let a proposed record be withdrawn (issue 1081) jochen 2026-10-18 00:02:48 +02:00
  • 3395af96bc Merge pull request 'mesh-delivery holds a delivery whose backup failed and release asks again; restic records a backup that cannot start (issues 1067, 1068)' (#353) from feat/backup-before-send into main mesh-tools 2026-10-17 21:48:51 +00:00
  • 4d03755c65 Bring the branch up to main after #354 (issue 1047: the trunk move asked no check) jschoubben 2026-10-17 23:43:21 +02:00
  • ad80048c22 Merge pull request 'Tools to read the knowledge base and the issue tracker in fewer, smaller calls (issues 1064, 1069, 1070, 1071)' (#354) from feat/kb-tracker-tools into main mesh-tools 2026-10-17 21:34:20 +00:00
  • bf3b3a5e36 Review round 1: list's pending ignores an ask that has ended, and its before cursor never cuts a page between a decision and research effort of the same number (issue 1064) jochen 2026-10-17 23:09:46 +02:00
  • 7bdb8f4782 Review round 1: list numbers combines search and before as AND, its limit defaults to the count asked and said names a cut; README names brief, numbers and worker (issues 1070, 1071) jochen 2026-10-17 23:07:29 +02:00
  • b387cddc7c Let the knowledge base answer its whole-set findings, whole or by record (issue 1069) jochen 2026-10-17 23:01:22 +02:00
  • 1cfbcf8e30 Let the knowledge base list its records by kind, status, topic or a flag (issue 1064) jochen 2026-10-17 22:59:09 +02:00
  • c898a937a1 Order the events of the failed-backup bus test: each after the module took the one before (issue 1068) jschoubben 2026-10-17 22:57:44 +02:00
  • 82693a441c A release the controller refuses to take leaves the delivery held for its failed backup (issue 1068) jschoubben 2026-10-17 22:53:43 +02:00
  • 1124f17912 Let issue-tracker.list take numbers and worker (issue 1070) jochen 2026-10-17 22:50:09 +02:00
  • 4799f79242 Read the plan's backups as the controller says them: machine, module, state, words (issue 1068) jschoubben 2026-10-17 22:45:46 +02:00
  • 01c9ab0cf5 Let issue-tracker.get answer briefly, with only its last note (issue 1071) jochen 2026-10-17 22:45:42 +02:00
  • 8f7aeeeb81 Hold a delivering delivery for a failed backup before the send; release asks the backups again (issue 1068) jschoubben 2026-10-17 22:45:03 +02:00
  • 914099774e Record a backup that cannot start as the module's last night (issue 1067) jschoubben 2026-10-17 22:42:21 +02:00
  • f076cadece Merge pull request '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)' (#352) from feat/one-group-one-plan into main mesh-tools 2026-10-17 20:11:06 +00:00
  • 0771797431 Merge remote-tracking branch 'origin/main' into feat/one-group-one-plan jschoubben 2026-10-17 21:40:08 +02:00
  • f69f84b9e5 Merge pull request 'Run the integration-tagged tests in the merge check, before any test carries the tag (issue 895)' (#351) from fix/895-catalog-script-first into main mesh-tools 2026-10-17 19:38:15 +00:00
  • 47e42806ff Leave a composed member's gate to the group's verdict, reword the mark leftovers, restore main's merge-check.sh (issues 1022, 978) jschoubben 2026-10-17 21:33:03 +02:00
  • 86d5706182 Run the integration-tagged tests in the merge check, before any test carries the tag (issue 895) jschoubben 2026-10-17 21:32:23 +02:00
  • 2d3b61ec45 Merge a group in one pass on its one Approve, with no order and no turns (issue 978) jschoubben 2026-10-17 20:54:16 +02:00
  • 668444785d Ask the Approve as soon as the checks pass, with no ready mark (issue 1022) jschoubben 2026-10-17 20:44:54 +02:00
  • 5e7567e5a0 Merge pull request 'Every directory says how it treats files it does not know, and the catalogue checks it (issue 1024)' (#349) from feat/owned-paths into main mesh-tools 2026-10-17 18:14:12 +00:00
  • 7104df6fa2 Take in main's move of build-agent and route-proxy to mesh-controller (issue 1024) mesh-tools 2026-10-17 17:55:07 +00:00
  • 5e6f5b8f6d Merge pull request 'build-agent and route-proxy leave for mesh-controller (issue 1019, ADR 0420)' (#350) from feat/whole-modules into main mesh-tools 2026-10-17 17:44:16 +00:00
  • 629aafdea2 Check again after the group's delivery stopped (issue 1019) jschoubben 2026-10-17 19:36:31 +02:00
  • 795806efa7 Declare the group's order: after novox/mesh-controller (issue 1019) jschoubben 2026-10-17 18:43:08 +02:00
  • 652b00b25b Say on every directory how it treats files it does not know, and check it (issue 1024, ADR 0422) mesh-tools 2026-10-17 16:23:03 +00:00
  • c47d949258 Repoint the build-agent and route-proxy owners to mesh-controller (issue 1019) jschoubben 2026-10-17 18:16:28 +02:00
  • 4c6e0b625e Build-agent and route-proxy leave for mesh-controller (issue 1019) jschoubben 2026-10-17 18:16:10 +02:00
  • 54b3ce503e Merge pull request 'mesh-delivery announces each merge with the Approve it merged on (issue 1025, ADR 0420)' (#348) from feat/move-a-module into main mesh-tools 2026-10-17 16:00:29 +00:00
  • 40eed3a036 Merge remote-tracking branch 'origin/main' into feat/move-a-module jschoubben 2026-10-17 17:19:44 +02:00
  • 0d2fc5e4d7 Merge pull request 'ssh-client's sweep keeps what ssh reads itself and linked key folders, and fails loudly (issue 1020, ADR 0417)' (#347) from fix/1020-sweep-edges into main mesh-tools 2026-10-17 15:13:46 +00:00
  • 3ec2881a27 issue 1025: the merged announcement is an owed effect, and a group's merge is tested jschoubben 2026-10-17 15:41:43 +02:00