Render an active orchestrator run on the dashboard, sourced from harness state #62

Closed
opened 2026-05-23 20:55:29 +00:00 by coilysiren · 1 comment
Owner

Originally filed by @coilysiren on 2026-05-05T07:27:18Z - https://github.com/coilysiren/repo-recall/issues/49

Context

repo-recall is already a 127.0.0.1 dashboard with action-required surfacing, WebSocket OOB swaps, and the deterministic data-aggregation identity. A separate orchestrator harness (LUCA, see coilysiren/luca architecture section 5.4) would otherwise have to build its own UI for "what's happening in the current run, who's holding the wheel, what's blocked." Promoting repo-recall to the human-facing run-view surface avoids that duplication.

Constraint: repo-recall stays read-only over harness state. The harness keeps its own state directory (LUCA's state/<run_id>/run.log JSONL today, an OTel trace tomorrow per coilysiren/coilyco-ai#24). repo-recall reads from that source and reduces it. SQLite stays a cache.

Proposal

A new top-level entity, Run, surfaced at /runs and /runs/{run_id}. Data source for v1 is a directory path passed in via env (e.g. REPO_RECALL_RUN_STATE_DIR=/path/to/state). The scanner walks that directory for <run_id>/run.log JSONL files and reduces each one into a Run row.

Per-run view shows:

  • Current phase (build / hardening / verify / done) and current candidate
  • The action-required queue (the existing dashboard concept) filtered to repos this run touches
  • Sub-sessions of the run (depends on #48, the lineage match-type issue)
  • Stuck / handoff signal: the take-the-wheel marker the harness writes when it can't clear a queue item
  • Span-shaped event stream rendered as a timeline (last N events)

Dashboard banner gains an "active run" pill linking to the most recent open run.

Out of scope

  • Mutating run state from the dashboard. Read-only. The "take the wheel" UI is a separate piece of work in the harness itself.
  • Multi-host or remote runs. Local-only matches the LUCA 1.0 scope. Remote viewing tracked separately (see #1).
  • The OTel trace data source. v1 reads JSONL; the trace-backed source is a follow-up so the dashboard exists before the substrate flips.

Why now

LUCA's "eyeballs stay on the UI" promise (positioning section on cooperatively autonomous) has no concrete UI yet. repo-recall is already the closest existing surface, and pinning the v1 to JSONL means it can land independently of the OTel-trace-as-protocol work.

Follow-ups

_Originally filed by @coilysiren on 2026-05-05T07:27:18Z - [https://github.com/coilysiren/repo-recall/issues/49](https://github.com/coilysiren/repo-recall/issues/49)_ ## Context repo-recall is already a 127.0.0.1 dashboard with action-required surfacing, WebSocket OOB swaps, and the deterministic data-aggregation identity. A separate orchestrator harness (LUCA, see coilysiren/luca architecture section 5.4) would otherwise have to build its own UI for "what's happening in the current run, who's holding the wheel, what's blocked." Promoting repo-recall to the human-facing run-view surface avoids that duplication. Constraint: repo-recall stays read-only over harness state. The harness keeps its own state directory (LUCA's `state/<run_id>/run.log` JSONL today, an OTel trace tomorrow per coilysiren/coilyco-ai#24). repo-recall reads from that source and reduces it. SQLite stays a cache. ## Proposal A new top-level entity, **Run**, surfaced at `/runs` and `/runs/{run_id}`. Data source for v1 is a directory path passed in via env (e.g. `REPO_RECALL_RUN_STATE_DIR=/path/to/state`). The scanner walks that directory for `<run_id>/run.log` JSONL files and reduces each one into a Run row. Per-run view shows: - Current phase (build / hardening / verify / done) and current candidate - The action-required queue (the existing dashboard concept) filtered to repos this run touches - Sub-sessions of the run (depends on #48, the lineage match-type issue) - Stuck / handoff signal: the take-the-wheel marker the harness writes when it can't clear a queue item - Span-shaped event stream rendered as a timeline (last N events) Dashboard banner gains an "active run" pill linking to the most recent open run. ## Out of scope - Mutating run state from the dashboard. Read-only. The "take the wheel" UI is a separate piece of work in the harness itself. - Multi-host or remote runs. Local-only matches the LUCA 1.0 scope. Remote viewing tracked separately (see #1). - The OTel trace data source. v1 reads JSONL; the trace-backed source is a follow-up so the dashboard exists before the substrate flips. ## Why now LUCA's "eyeballs stay on the UI" promise (positioning section on cooperatively autonomous) has no concrete UI yet. repo-recall is already the closest existing surface, and pinning the v1 to JSONL means it can land independently of the OTel-trace-as-protocol work. ## Follow-ups - Issue (separate): swap JSONL source for OTel trace store, per coilysiren/coilyco-ai#24.
Author
Owner

Iceboxed in the 2026-05-29 backlog burn-down: Render orchestrator run, depends on separate LUCA harness. Reopen anytime if it becomes real.

Iceboxed in the 2026-05-29 backlog burn-down: Render orchestrator run, depends on separate LUCA harness. Reopen anytime if it becomes real.
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/repo-recall#62
No description provided.