[P0][symbolics-worker] Define canonical Agent Zero tools + clean synthwave themes + Prolog-RLM sync #198
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/a0-symbolics#198
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Operator directive
This is the first issue for the dedicated
a0-symbolicsworker in the Machine Spirit fleet.Related/current contracts: #174, #186, #182, #139, #91. Generic symbolic/runtime behavior remains owned upstream by
lost-rob0t/prolog-rlm; do not create a second runtime or second tool authority here.Goal
Make
a0-symbolics/ Agent Zero feel like a clean symbolic workstation while tightening the tool surface and keeping the Prolog-RLM integration continuously current.This issue has three coupled deliverables:
A — Canonical tool surface
First inspect the current code and inventory every source of tools/capabilities:
Then converge on one normalized tool metadata/definition contract. Prefer extending the existing authoritative registry/projection paths from #186 and Prolog-RLM rather than adding another registry.
The contract must make these concepts explicit and separate:
Requirements:
Coordinate directly with #186 rather than re-solving its context-debloat problem in parallel.
B — UI direction: clean synthwave, not neon soup
Build on the existing WebUI contract in #174. Do not create a parallel redesign framework.
Target visual language:
Add a first-class theme selector backed by design tokens / CSS variables. At minimum ship equivalent presets for:
Synthwave— the polished default/operator theme;Dark— neutral dark;Light— clean light.Theme requirements:
The UI must make the important Agent Zero state legible: conversation, current mode/runtime, active tools/capabilities, execution/tool activity, settings, and plugin surfaces. Keep diagnostics available without making the normal chat surface look like an ops console.
Visual acceptance
Code-only acceptance is not enough. Capture/review screenshots for at least:
C — Keep a0-symbolics current with Prolog-RLM
Treat
lost-rob0t/prolog-rlmas the canonical upstream for generic symbolic/runtime/tool-context semantics.Before each implementation slice:
Pin/sync requirements:
main;Acceptance
Worker law
The dedicated
a0-symbolicsworker consumes this issue first. After this issue is accepted, it consumes only unclaimed a0-symbolics issues, while continuously keeping the Prolog-RLM integration/pin healthy.Before claiming any issue, inspect current issue/PR/worktree ownership and skip work already active elsewhere. One worker should not duplicate another worker's issue.
When this P0 is accepted and the remaining a0-symbolics backlog is predominantly maintenance/non-blocking rather than foundational work, the Machine Spirit fleet will replace this worker slot with a task steward + TODO-sync role. That later steward coordinates work; it does not become another feature implementation worker.
Operator testing amendment
This issue is not accepted on unit/component tests alone.
Add these gates to the existing acceptance criteria:
Playwright
Run Playwright against the real built Agent Zero/a0-symbolics WebUI, not a mock standalone page.
Cover at minimum:
Capture trace/screenshots/video on failure and attach/refer to screenshot evidence on the candidate head.
Real E2E
Exercise the actual path:
A DOM-only success while Prolog-RLM/tool execution failed is a failed test.
Live LLM through llm.starintel.actor
For model/tool/context/runtime behavior, run a live validation lane through
llm.starintel.actorusing the normal configured provider/auth path.The candidate head must prove at least:
Live testing may remain opt-in for ordinary offline contributor runs, but when requested it must hard-fail on missing configuration and must not silently downgrade to mocks.
This is now part of the completion gate for #189.