diff --git a/drafts/2026-05-08T152352Z.md b/drafts/2026-05-08T152352Z.md new file mode 100644 index 0000000..f2f6a12 --- /dev/null +++ b/drafts/2026-05-08T152352Z.md @@ -0,0 +1,28 @@ +**Status:** draft (pending manual post) + +**HN:** https://news.ycombinator.com/item?id=48063563 (Show HN: Coord — atomic task claims for parallel AI coding agents, by V1291l, ~1.5 hours old, 2 points, 0 comments at draft time, "discuss") + +**Story / OP:** Show HN: Coord — atomic task claims for parallel AI coding agents (https://github.com/DmarshalTU/coord). The HN submission has no toptext; the README is the post. Coord is a single Rust binary that runs as a local A2A daemon and an MCP server. It gives parallel Claude Code / Cursor / Codex tabs a shared bulletin board with three opinionated primitives: race-free `tasks/claim` (the tests/race.rs test hammers 200 tasks x 8 claimers and asserts every task ends up with exactly one winner), a `coord wait --kind ack --name-contains 'v1.2'` blocking watch primitive that heartbeats while it blocks, and an optional Obsidian-readable markdown vault that emits a note per state change with [[wikilinks]] between bug → fix → ack tasks. The README's worked example is "the tab on v1.1 finds a regression; the tab on v1.2 keeps building on top of it because nobody told it" and the framing of the post is explicitly "Why another one of these?" — the "Prior art" link compares Coord to existing local-coordination layers and stakes out atomic-claims-not-mailboxes plus blocking-watch as the design hill it picks. Status is POC, "0.x until it gets meaningful production use." + +**My reply** (top-level, replying to the Show HN itself, posted as unauthenticated user — user picks account at post time): + +``` +(disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai) + +The "tab on v1.1 finds a regression, tab on v1.2 keeps building on top" framing is exactly why claim-and-watch beats a mailbox here: the watcher gets unblocked by the thing that landed, not by a message someone had to remember to send. Orthogonal to coordination but bites at parallel-N: each claimed task carries its per-agent tool-call risk independently, so N agents multiply the chance of any one of them rm -rf-ing or force-pushing by roughly N. Per-call PreToolUse policies sit one layer below claims and clamp that without contesting any claim semantics. Did you consider exposing a per-task constraints field that an agent reads at claim time, or keep that strictly out of band? +``` + +**Insight for the FailProof team:** + +Coord is a useful concrete reference for the "what problem does coordination solve vs what problem does a hook layer solve" framing. The two are genuinely orthogonal layers and a parallel-agent harness needs both: claims to keep agents from stepping on each other, per-call policies to keep each agent from violating invariants on the work it owns. Concrete actions: (1) the parallel-N risk-multiplication math (N agents -> roughly N times the chance of any one agent rm -rf-ing) is tight enough to lift into a short README section called something like "Hooks at parallel-N" — same shape as the parallel-N permission-prompt UX angle from the Harness draft (PR #47), but with the focus on invariant-violation probability instead of attention tax. (2) A "per-task constraints attached at claim time" idea is a real product seam if more coordination layers ship: an agent receiving a claim could be handed a stricter PreToolUse policy bundle bound to that task's scope (e.g., "this claim is read-only for files outside `/services/billing`"), rather than relying on the user to set policies at the project root once. Worth tracking which coordination tools start exposing claim-bound metadata fields. (3) AGENTS.md is becoming the de-facto config standard here (Coord init drops one; Cursor / Codex / Gemini CLI read it). Each PreToolUse rule we encourage projects to commit could be cross-pasted as an AGENTS.md / CLAUDE.md hint that says "this rule is enforced at the hook layer, you do not need to remind the model" — that closes the loop between human-readable guidance and machine-enforced policy. + +**Notes / findings:** + +- Thread is fresh (~1.5 hours, 2 points, 0 comments at draft time). Top-level reply will be the first comment and highly visible. Reply form is rendered. Well within the ~2-week reply window. +- OP V1291l submitted on behalf of the author (DmarshalTU); the README is first-person and explicitly invites the "why another one" comparison, so a substantive design comment is on-shape. +- Cross-thread guard: PR #47 (Harness, id=47948379) is the closest prior draft — same parallel-N theme, but framed around permission-prompt UX cost, not invariant-violation probability. PR #29 (ToolMesh, id=47933950) and PR #14 (Cordon, id=47941823) cover MCP-gateway-vs-hook-layer — different seam (network-mediated tool surface vs in-process hook). The angle here is task-claim-vs-per-call-invariant, which is distinct from both. Body text is freshly written for this thread, not paraphrased from another draft. +- ASCII-punctuation audit on the reply body: no em-dash, no en-dash, no curly quote, no unicode arrow, no fancy ellipsis. Hyphens, ASCII straight quotes, three-dot ellipsis only. The README quotes "v1.1", "v1.2", `tasks/claim`, `coord wait` — all ASCII. +- Anti-pitch audit: one disclosure line at top; one paragraph (~115 words) of substantive on-topic content; one policy concept named (PreToolUse), not a comma-list of policy names; no install command; no version numbers; no `~/.failproofai/` path callouts; no Agent Monitor / dashboard plug; no `http://localhost:8020` mention; no two-link pattern (repo URL appears once, in the disclosure line); ends with a real question to OP about claim-bound constraints, not a rhetorical pitch. +- Thread-fit gate notes: Coord is adjacent to but not literally a "hook manager / policy engine / sandbox / gateway." It is a coordinator. The fit rests on the OP explicitly soliciting design discussion ("Why another one of these?", prior-art comparison) and on the claim-vs-invariant seam being a real, on-topic observation about Coord's design space, not a pivot. If the comment lands as keyword-hunting it will get downvoted; the disclosure line and the closing question are both there to make the engagement-with-design intent legible. +- The CTO at OpenSmith (id=48063206) and Crit (id=48062402) are nearby Show HNs from the same window; both were considered and skipped (OpenSmith is LLM-trace observability, not tool-call gating; Crit is a human review surface for plans / diffs, not a runtime gate). Logging here so the next sweep does not re-litigate them. +- Reply targets the Show HN itself (top-level), not any sub-thread; there are no comments to thread under at draft time.