From 495e36b9cc95458305d4aecdf6ba88935176c178 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 19 Jul 2026 04:37:16 -0500 Subject: chore(spec): flip sentry to DOING and decompose the build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Craig approved the sentry spec after his deep read. Flipped DRAFT → READY → DOING with dated history lines, mirrored the Metadata status, and decomposed the build task into the four implementation phases under a SPEC_ID-bound parent. --- docs/specs/2026-07-14-sentry-workflow-spec.org | 6 ++-- todo.org | 42 +++++++++++++++++++++----- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/docs/specs/2026-07-14-sentry-workflow-spec.org b/docs/specs/2026-07-14-sentry-workflow-spec.org index fe1c155..6de0137 100644 --- a/docs/specs/2026-07-14-sentry-workflow-spec.org +++ b/docs/specs/2026-07-14-sentry-workflow-spec.org @@ -4,15 +4,17 @@ #+TODO: TODO | DONE #+TODO: DRAFT READY DOING | IMPLEMENTED SUPERSEDED CANCELLED -* DRAFT sentry workflow +* DOING sentry workflow :PROPERTIES: :ID: f6c51f27-d7a2-4b63-9ff9-5ba005a66dfb :END: +- 2026-07-19 Sun @ 04:35:57 -0500 — DOING: build started. Decomposed into the four implementation phases as todo.org build tasks under the sentry parent (SPEC_ID-bound); running in no-approvals + auto-flush mode. +- 2026-07-19 Sun @ 04:35:57 -0500 — READY: Craig completed his deep read and approved the spec for build. Gate passed. - 2026-07-14 Tue @ 02:03:28 -0500 — all 12 review findings dispositioned live with Craig and folded into the design; decisions now 10/10; still DRAFT pending Craig's deep read. - 2026-07-14 Tue @ 00:52:03 -0500 — drafted, all nine design decisions resolved live with Craig during the authoring session. * Metadata -| Status | draft | +| Status | doing | |----------+------------------------------------------| | Owner | Craig Jennings | |----------+------------------------------------------| diff --git a/todo.org b/todo.org index aa45b1d..abc964a 100644 --- a/todo.org +++ b/todo.org @@ -39,14 +39,42 @@ Tags are assigned and refreshed by =task-audit=; =task-review= keeps them honest * Rulesets Open Work -** TODO [#B] Sentry workflow — build from spec :feature: +** DOING [#B] Sentry workflow — build from spec :feature: +:PROPERTIES: +:SPEC_ID: f6c51f27-d7a2-4b63-9ff9-5ba005a66dfb +:END: Build the sentry supervisor workflow from the READY-gated spec: -[[file:docs/specs/2026-07-14-sentry-workflow-spec.org][sentry workflow spec]] (DRAFT as of 2026-07-14; needs spec-review first). -Four phases: agent-lock helper + bats, sentry.org engine, companion -reconciliations (knowledge-base.md, roam-sync.sh header, inbox.org, -triage-intake.org), live trial night on rulesets. Origin: work project's -proposal, [[file:docs/design/2026-07-14-sentry-workflow-proposal.org][docs/design/2026-07-14-sentry-workflow-proposal.org]]. All nine -design decisions resolved with Craig 2026-07-14 (recorded in the spec). +[[file:docs/specs/2026-07-14-sentry-workflow-spec.org][sentry workflow spec]] (READY 2026-07-19, Craig approved after his deep read). +Origin: work project's proposal, +[[file:docs/design/2026-07-14-sentry-workflow-proposal.org][docs/design/2026-07-14-sentry-workflow-proposal.org]]. Decomposed into the four +implementation phases below; building in no-approvals + auto-flush mode. +*** TODO Phase 1 — agent-lock helper + bats +=.ai/scripts/agent-lock= (canonical =claude-templates/.ai/scripts/=): mkdir-atomic +acquire, PID/host/ISO-timestamp metadata, age-based staleness reclaim, bounded-wait +contention, heartbeat refresh, acquire/release/status subcommands. Locks under +=/run/user//agent-locks//= with =~/.cache/agent-locks/= fallback. bats: +two concurrent acquires → one winner, release frees, stale reclaim surfaces a note, +busy → bounded wait then defer, heartbeat keeps a live lock young, runtime-dir home. +*** TODO Phase 2 — sentry.org engine +=.ai/workflows/sentry.org= (mirror synced): entry ticket (:COMMIT_AUTONOMY:), +interactive entry gates (dirty tracked tree / red suite), ff-only branch reconcile, +=sentry/YYYY-MM-DD-= branch mechanics, the ten-pass runner with the +probe→work→session-context→commit contract, digest + morning-approval queue, +skip-and-note semantics, spine-set dirty exclusion + fire-end digest commit, +stall-notify after two unmerged-branch skips, the stop-sentry operation. INDEX.org +entry. +*** TODO Phase 3 — companion reconciliations +knowledge-base.md write recipe (roam-write lock around the write block; edit+trigger +replaces inline pull/commit/push); inbox.org core §5 (acquire/release around the +Phase D edit, capture-guard underneath, graceful degradation when the helper is +absent); roam-sync.sh header comment; triage-intake.org note (runs as a sentry pass, +own triggers kept); wrap-it-up.org active-sentry guard (refuse, point at "stop +sentry"). +*** TODO Phase 4 — verification + flip spec to IMPLEMENTED +=make test= green; file follow-up tasks for the live-trial-night items (Craig runs +the trial on ratio — entry gates, one fire end to end, morning branch review). On +completion, flip the spec keyword DRAFT/DOING → IMPLEMENTED with a dated history +line, and close this parent. ** TODO [#C] Polyglot projects — supported, or refused? :spec: SCHEDULED: <2026-07-20 Mon> -- cgit v1.2.3