From c9649b258ffc2a0f8baf4b0e61c34a73ee218bf8 Mon Sep 17 00:00:00 2001 From: iris Date: Sun, 25 Oct 2026 11:46:41 +0100 Subject: [PATCH] swarm-wire: say the repos list holds only repositories with an open issue --- docs/swarm/notify-router.md | 5 +++-- docs/swarm/ui.md | 3 ++- swarm-wire/src/notify_flows.rs | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/swarm/notify-router.md b/docs/swarm/notify-router.md index a854872b..3931aba3 100644 --- a/docs/swarm/notify-router.md +++ b/docs/swarm/notify-router.md @@ -112,8 +112,9 @@ accepts: lists the accepted `{name, description}` pairs (the `upsert` and `clear` of a todo's `op`), empty for other fields. - `values_from` on a field says where an editor asks for values that are only - known live: `agents` is the names `GET /api/agents` lists, `repos` the ones - `GET /api/repos` lists. `closed` says `values` and that source are every value + known live: `agents` is the names `GET /api/agents` lists, `repos` the + repositories with an open issue, which `GET /api/repos` lists, so a repository + with none is missing. `closed` says `values` and that source are every value the field takes, which an editor can show as a dropdown. When false, they are suggestions: the field still takes any other text, such as an `action` the forge adds later or the login of a reviewer who is no agent. diff --git a/docs/swarm/ui.md b/docs/swarm/ui.md index 09d13461..1a862632 100644 --- a/docs/swarm/ui.md +++ b/docs/swarm/ui.md @@ -299,7 +299,8 @@ controller's own message. The router runs a saved flow from its next event. Where the controller's schema knows the values, the editor offers them instead of asking you to type a name: `kind` and `event` conditions and the todo's `op` are dropdowns, `action` and `repo` conditions and a reviewer are boxes that list the -known values to pick from and still take any other text, and a todo's agent is a +known values to pick from and still take any other text (the repositories listed +are those with an open issue, so one with none is missing), and a todo's agent is a dropdown of the swarm's agents. A value set in a flow that the list no longer holds stays selected, marked "not listed." If a list fails to load, or the controller predates the schema, the box is plain text. The values come from the diff --git a/swarm-wire/src/notify_flows.rs b/swarm-wire/src/notify_flows.rs index 9407ef3d..a5542c88 100644 --- a/swarm-wire/src/notify_flows.rs +++ b/swarm-wire/src/notify_flows.rs @@ -362,7 +362,9 @@ pub struct Described { /// them. pub const VALUES_FROM_AGENTS: &str = "agents"; -/// `values_from` marker: the repositories, as `GET /api/repos` lists them. +/// `values_from` marker: the repositories with an open issue, as +/// `GET /api/repos` lists them. A repository with none is missing, so a field +/// that takes this marker is never closed. pub const VALUES_FROM_REPOS: &str = "repos"; /// The `kind` field's values: what the router puts there, which is not the