Skip to content

Commit 8285b6e

Browse files
authored
docs(status): Decisions MVP frontend complete + Observatory throttle dial (#1416 #1417 #1418) (#1419)
1 parent a1cbd2e commit 8285b6e

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

docs/STATUS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
SINGLE SOURCE OF TRUTH for cross-agent handoff.
2+
Last updated: 2026-06-23 ~19:05Z, @taOS-dev (DECISIONS MVP frontend COMPLETE + OBSERVATORY steer-v1 throttle dial. MERGED since last entry (on dev): #1416 (Decisions app surfaces the L1 supersession lineage -- an expandable history trail on answered cards that have a parent, lazy-fetching GET /api/decisions/{id}/history oldest-first; aliveRef guard vs setState-after-unmount; folded a gitar Bug + kilo order-assert), #1417 (per-project Decisions archive: a read-only Decisions tab in ProjectWorkspace via the generic tab pattern, filtered read of /api/decisions?project_id=, ProjectDecisions panel with shell tokens + cancelled-flag effect; folded a gitar Edge-Case = fetch-fail now shows an error not the empty state, plus kilo clear-on-switch + relativeTime clamp). DECISIONS MVP ALL DONE: 1 data model+API, 2 app surface, 3 notification badge+deep-link (already built -- server-notifications.ts maps source 'decisions' -> action 'decisions'; the non-dismissable blocking treatment is the Jay-gated consent overlay), 4 per-project archive (#1417), 5 answer routing, 6 L1 supersede (#1416). IN FLIGHT (auto-merge armed): #1418 Observatory global concurrency-cap stepper in the steer row (loads/posts /api/observatory/throttle, optimistic, lower floors at 1 + Clear removes, capped at MAX_CAP 50; folded 2 kilo WARNINGs). OBSERVATORY: fleet view + global/per-lane pause + (via #1418) global throttle DONE; remaining = per-lane throttle dial (follow-up, touches ObservatoryApp so HELD until #1418 lands to avoid a conflict), per-agent trace timeline (Observe item 1 second half, reads /api/agents/{name}/trace), notify-on-blocked/silent-fail (MVP item 3). All desktop slices vitest-verified; visual checks deferred to a live session. PENDING-ON-JAY unchanged: grant-on-install consent flow (pending-decisions 28/29). five_hour 14% / seven_day 68%. PRIOR ENTRY BELOW.)
23
Last updated: 2026-06-23 ~18:10Z, @taOS-dev (DECISIONS + OBSERVATORY taosctl groups landed -- both approved-spec backends now have an agent-native CLI surface. MERGED since last entry (both on dev): #1413 taosctl decisions (post/list/get/history/answer over the shipped Decisions inbox API #1331/#1339/#1336; status+project filters, positive-int limit, json_array argtype validating --options-json at parse, arrays-only --value coercion that keeps bracketed free-text literal), #1414 taosctl observatory (fleet/pause-status/pause/resume/throttle-status/throttle over the queue-control API #1341/#1343/#1346/#1347/#1365; global or per-lane scope, --max/--clear concurrency dial). Folded all bot findings before merge: gitar Edge-Case (--options-json traceback), kilo regression (bracketed free-text hard-error), kilo footgun (phantom 'expired' status dropped), gitar Quality (absolute argtypes import aligned across both + the sibling modules), kilo per-lane throttle-clear test gap. Both gated by tests/test_taosctl_route_coverage.py. taosctl now covers the two human-in-the-loop ops surfaces from the shell. REMAINING on Decisions/Observatory = frontend app surfaces (live session). DISCIPLINE NOTE: held at 2 PRs in flight + GitHub-native auto-merge rather than a third group, to avoid out-producing review (the exact failure the Observatory spec was written to fix). Frontier otherwise unchanged: canvas slices 3/5/6 live-gated, grant-on-install consent flow Jay-gated (pending-decisions 28/29). five_hour 79% / seven_day 67%. PRIOR ENTRY BELOW.)
34
Last updated: 2026-06-23 ~15:38Z, @taOS-dev (CANVAS EXCALIDRAW MIGRATION -- headless slices all merged. MERGED since last entry (all on dev): #1410 (removed the superseded Konva render layer KonvaBoard.tsx + element-to-konva.ts + konva/react-konva deps -- dead code, never wired into CanvasView, replaced by the Excalidraw view), #1411 (slice 4: mermaid/flowchart CanvasElements now render REAL diagrams via @excalidraw/mermaid-to-excalidraw -> mermaid-to-elements.ts converter + an async effect in ExcalidrawBoard, placeholder rectangle fallback while converting/on-error; folded all bot findings incl a CodeRabbit Major z-order fix -- scene now walks elements in z_index order so a diagram is not forced above a higher-z regular element). CANVAS STATE on dev: slice 1 mapping (element-to-excalidraw) + slice 2 read-only ExcalidrawBoard + slice 4 mermaid render + Konva removal ALL DONE; the read-only board + mermaid were screenshot-verified via a local vite preview + playwright (not the live app). REMAINING canvas slices ALL need the running app + backend (live session, not a static screenshot): slice 3 write-back interactions (Excalidraw onChange -> diff -> CanvasElement PATCH/POST), slice 5 swap CanvasView's tldraw CanvasBoard for ExcalidrawBoard behind a flag (store/SSE-wired, verify both themes + mobile), slice 6 remove tldraw + @tldraw/* deps. tldraw stays the LIVE renderer until slice 5. PENDING-ON-JAY: grant-on-install consent flow design (pending-decisions items 28 + 29: decision-shape/when/answer-dispatch, AND reconcile the TWO consent surfaces -- existing set_permissions UI vs new Decisions flow, recommend Decisions-inbox canonical, no schema change). The 3 live-MC decisions (25 /v1/chat opencode-host turn, 26 canvas-canonical confirmed, 27 Design Studio shell) remain confirmed-direction + live-session. five_hour 50% / seven_day 64%. PRIOR ENTRY BELOW.)
45
Last updated: 2026-06-23 ~14:38Z, @taOS-dev (APP-PERMS RECONCILIATION COMPLETE + CANVAS EXCALIDRAW MIGRATION STARTED, in a live Jay session. Jay answered 4 gated decisions live (pending-decisions batch 7): 24 app-perms = broker stays the runtime enforcer + app_grants ledger FEEDS it; 25 /v1/chat turn = reuse the opencode host-server path (live-session build); 26 canvas = CanvasElement canonical + Excalidraw as the VIEW (bidirectional map); 27 Design Studio shell = proceed + restyle, DROP Plugins/Automations/Integrations (Automation Studio owns automations, plugins/integrations are OS-managed). MERGED since last entry: #1404 (broker route unions the per-user app_grants ledger into the gated `granted` set for community apps, additive/best-effort, first-party unchanged), #1405 (grant API rejects unknown/typo'd capabilities via is_known_capability now that the vocabulary is settled). IN FLIGHT (auto-merge armed): #1407 feat/canvas-excalidraw-slice2 -- slices 1-2 of #75 tldraw->Excalidraw: element-to-excalidraw.ts pure CanvasElement->Excalidraw-skeleton mapping (mirrors element-to-konva) + read-only ExcalidrawBoard.tsx (@excalidraw/excalidraw MIT, viewMode+zenMode, scrollToContent fit-on-mount), LIVE-VERIFIED via a throwaway vite preview + playwright screenshot (notes/text/link/mermaid render); #1408 folds 3 gitar Edge-Cases (broker ledger lookup now try/except best-effort so an uninitialised/erroring store no longer 500s; grant API rejects malformed network: origins via a centralised NET_ORIGIN_RE + is_valid_network_grant in capabilities.py reused by the package parser; mindmap_edge omits empty arrow bindings). #56 app-perms now has: vocabulary+manifest validation (#1389), grant store+API (#1369/#1374), broker<->ledger (#1404), grant validation (#1405). PENDING-ON-JAY: grant-on-install consent flow design (pending-decisions item 28: decision-shape/when/answer-side-effect). CANVAS remaining slices: 3 write-back interactions, 4 real mermaid/flowchart + mindmap arrows, 5 swap behind a flag (live verify both themes/mobile), 6 remove tldraw + superseded Konva layer + deps. The 3 other live-session decisions (25/26/27) are confirmed-direction, ready when Jay is around. five_hour 24% / seven_day 61%. PRIOR ENTRY BELOW.)

0 commit comments

Comments
 (0)