todos: reopen an acked keyed row when the caller says so
This commit is contained in:
parent
d5782965db
commit
1b72ed56ff
12 changed files with 158 additions and 45 deletions
|
|
@ -1439,6 +1439,8 @@ impl Coordinator {
|
|||
/// (`let _ = coord.push_todo(...).await;`); callers that track a
|
||||
/// per-target delivery outcome (e.g. the scheduled-prompts worker's
|
||||
/// `last_result` column) use it instead of assuming success.
|
||||
/// `reopen_if_acked` forwards to `UpsertTodo` (see its doc comment) —
|
||||
/// `false` for every caller here except the scheduled-prompts worker.
|
||||
pub async fn push_todo(
|
||||
&self,
|
||||
agent: &str,
|
||||
|
|
@ -1446,6 +1448,7 @@ impl Coordinator {
|
|||
key: Option<String>,
|
||||
summary: String,
|
||||
source: Option<String>,
|
||||
reopen_if_acked: bool,
|
||||
) -> Result<(), String> {
|
||||
let Ok(ident) = hive_types::Ident::parse(agent) else {
|
||||
tracing::warn!(%agent, "push_todo: not a valid agent ident, skipping");
|
||||
|
|
@ -1461,6 +1464,7 @@ impl Coordinator {
|
|||
key,
|
||||
summary,
|
||||
source,
|
||||
reopen_if_acked,
|
||||
};
|
||||
match hive_sock_client::request::<_, hive_agent_sock::Response>(
|
||||
&path,
|
||||
|
|
@ -1482,7 +1486,10 @@ impl Coordinator {
|
|||
}
|
||||
|
||||
/// `push_todo` to whichever agent submitted approval `approval_id` —
|
||||
/// same resolution `notify_submitter` uses.
|
||||
/// same resolution `notify_submitter` uses. Every caller here is a
|
||||
/// one-shot approval-resolution notice, so `reopen_if_acked` is
|
||||
/// unconditionally `false` — there's no reconciler/event distinction
|
||||
/// to make for an event that only ever fires once.
|
||||
pub async fn push_todo_submitter(
|
||||
&self,
|
||||
approval_id: i64,
|
||||
|
|
@ -1492,7 +1499,7 @@ impl Coordinator {
|
|||
source: Option<String>,
|
||||
) -> Result<(), String> {
|
||||
let target = self.submitter_or_manager(approval_id);
|
||||
self.push_todo(&target, subsystem, key, summary, source)
|
||||
self.push_todo(&target, subsystem, key, summary, source, false)
|
||||
.await
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue