Repository navigation
debugviewer: ELK layout, light-theme node palette, live-inference probe - #2
Merged
Merged
Conversation
…ce probe - Replace the hand-rolled longest-path layout with elkjs' layered engine (vendored + gzip-served; longest-path retained as a load-failure fallback). - Move the graph node palette into CSS custom properties with light-theme variants, so toggling the theme rethemes the graph with no redraw. - Collapsible, default-collapsed "attributes" and "mocked session" panels; inspector title now shows an action's I/O wiring line. - Fix probe input styling clobbered by Cirrus's high-specificity input rule. - Add a mock/live probe toggle: live builds the workflow's production factory (ArchitectFactory) with ctx.dry_run off so kind:inference actions call the real model, while offline services + an isolated temp shelf root keep it side-effect-free. PIPELINE_DRY_RUN is captured and restored around the run.
Inputs need not be in the issue format. The seed layer content-classifies the
front door and the build phase honours a no-GitHub-issue run.
- seed.py: a bare prompt seeds title/goal and is handled interactively; repo+issue
-> github; structured -> job. Additive, backward-compatible with explicit sources.
- oneshot_feed.py: accept {prompt} tasks, build+pass the seed request, drop the
synthetic GitHub issue (the negative id stays a LOCAL work-id for clone/branch
naming only), add --provision to create+seed a target repo before the clone.
- admin.py: honour the negative/empty issue marker — publish still deploys and
consolidate_pr still opens ONE PR, but the issue-keyed label state machine and
the Closes #<n> trailer are skipped (no GitHub issue to mutate).
- action.py: dump the leaf-exception traceback under -v/DISPATCH_DEBUG and fold the
exception message into the Error detail (a bare "raised JSONDecodeError" hid the
origin).
- app/scripts/demo/: provision-from-template.sh (minimal self-contained Next.js dog
blog, stubbed interactive components) + dogblog-oneshot.json demo task.
…live toggle Cross-process live tracking — the viewer could only watch runs in its own process (in-process bus). Now: - foundation/trace.py: a FileObserver that writes a per-run JSONL sidecar (meta/enter/leave/event/status) via the engine's Observer hook, so events carry the same state.id the graph nodes key on. - baseworkflow.run_live attaches it when $DISPATCH_LIVE_TRACE[_DIR] is set (opt-in, passive, never overrides a caller observer). - viewer: bus.py tails a sidecar into a Run; GET /api/sessions/live lists them and POST /api/sessions/attach streams one through the existing SSE path; a "live runs" list in the sessions panel attaches + lights up nodes (auto-switching to the run's workflow so ids map). Also, in the probe (uncommitted since the ELK commit): - Inspector no longer pre-announces declared "writes"; after a probe it shows the actual before/after diff of deliverables + shared, highlighted per shelf and tagged new/changed (server snapshots both shelves around the run). - The mock/live control is a single "• live" toggle that glows red when active.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Debug-viewer (
tools/debugviewer/) improvements, operator-directed.Changes
static/vendor/and served gzipped (Content-Encoding: gzip, ~456KB) with an immutable cache; the longest-path layout is kept as a fallback if the bundle fails to load.[data-theme="light"]variants, so toggling the theme rethemes the graph with no redraw (and run-state highlighting survives a toggle).procedure: [job] → [purpose, work_unit] (shared: none)).:not()input rule (specificity 0,5,1) that was clobbering the probe fields.• livetoggle (glows red when active) makes the probe build the workflow's production factory (ArchitectFactory) withctx.dry_runoff, sokind:inferenceactions call the real model. Offline services + an isolated temp shelf root keep it side-effect-free, andPIPELINE_DRY_RUNis captured/restored around the run. Mock stays the default.Verification
node --checkon the inlined viewer JS;ast.parseonserver.py.source=mock) unchanged; probe live actually calls the model (source=architect-agent); env var restored after both.