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.
coilysiren 2026-05-30 05:43:55 +00:00
  • closed this issue
  • added the
    P4
    label
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
1 participant
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.