mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-05 02:41:45 +00:00
## Summary This branch improves several run-management surfaces that agents and users rely on: archived runs now stay visible and ordered correctly in the board view, pair-session messages appear in the stage Thread tab, and the `fabro_run_create` MCP tool accepts the workflow-string shorthand it advertises. ## Changes - Updates the web board cache invalidation and archived-column handling so archive/unarchive actions refresh both active and archived board queries and keep archived runs in a predictable column position. - Adds pair user/system message events to stage activity parsing, Thread rendering, search, details, and DNA timeline items. - Aligns `fabro_run_create` MCP runtime deserialization and `tools/list` schema so each run entry may be either a workflow string or a full create spec object. ## Test Plan - `cargo nextest run -p fabro-tool -p fabro-mcp-server` - `cargo nextest run -p fabro-cli stdio_server_initializes_and_lists_run_tools mcp_create_string_shorthand_deserializes_before_auth mcp_create_validation_errors_happen_before_auth_or_network mcp_create_and_search_manage_real_runs_with_cli_auth` - `cargo +nightly-2026-04-14 fmt --check --all` --- [](https://github.com/EveryInc/compound-engineering-plugin) 🤖 Generated with GPT-5 via [Codex](https://openai.com/codex) --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
15 lines
376 B
TypeScript
15 lines
376 B
TypeScript
import type { Key } from "swr";
|
|
|
|
import { queryKeys } from "./query-keys";
|
|
|
|
type MutateBoardRuns = (key: Key) => unknown;
|
|
|
|
export function boardRunCacheKeys(): Key[] {
|
|
return [queryKeys.boards.runs(false), queryKeys.boards.runs(true)];
|
|
}
|
|
|
|
export function mutateBoardRunCaches(mutate: MutateBoardRuns) {
|
|
for (const key of boardRunCacheKeys()) {
|
|
void mutate(key);
|
|
}
|
|
}
|