Skip to content

Add Visual Companion as a visual decision I/O plugin#131

Open
Mineru98 wants to merge 1 commit into
Q00:mainfrom
Mineru98:feature/visual-companion-plugin
Open

Add Visual Companion as a visual decision I/O plugin#131
Mineru98 wants to merge 1 commit into
Q00:mainfrom
Mineru98:feature/visual-companion-plugin

Conversation

@Mineru98
Copy link
Copy Markdown

Add Visual Companion as a visual decision I/O plugin

Fixes #130

Summary

Adds visual-companion, an Ouroboros-native plugin for browser-backed UI/UX decision prompts.

The plugin lets a workflow start a local browser session, publish an agent-authored HTML screen, wait for a user click/form event, recover that answer as JSON, and attach handoff/audit evidence for downstream agents.

Problem

Text-only UI/UX questions are often ambiguous for people who do not already share frontend vocabulary with the agent. Terms like layout density, interaction state, selection behavior, or visual hierarchy can sound acceptable in prose while behaving differently once implemented.

This is especially common for non-designers, frontend beginners, and vibe coders. The wrong decision often becomes visible only after code has already been written.

Changes

  • Add plugins/visual-companion with a valid ouroboros.plugin.json.
  • Copy the existing visual-companion skill assets into the plugin package.
  • Add a Python adapter exposing:
    • start
    • show
    • wait
    • read
    • stop
  • Persist session state and handoff artifacts for completed, blocked, and failed command paths.
  • Keep the private browser event token out of public stdout and handoff payloads.
  • Register the plugin in catalog/index.json.
  • Add focused tests for manifest shape, CLI parsing, blocked handoff behavior, fresh screen names, and a real Node-backed browser-event lifecycle.

Validation

py -3 -m unittest tests.test_visual_companion_plugin
py -3 scripts\validate_contract.py
git diff --check
py -3 -m py_compile plugins\visual-companion\visual_companion_plugin\__main__.py plugins\visual-companion\visual_companion_plugin\__init__.py

Also smoke-tested isolated plugin installation with a temporary plugin home:

ouroboros plugin add . --plugin visual-companion --plugin-home-root <temp> --trust-root <temp> --lockfile <temp> --catalog-state <temp>

Notes

The local python/pip shim in this environment points at a broken E:\SourceCode\ai-workflow\.venv, so validation used the Windows py -3 launcher.

Add visual-companion as an Ouroboros plugin so UI/UX choices can be shown as local browser screens and recovered as structured event evidence before implementation work continues.

Constraint: Plugin runtime artifacts must stay outside trusted installed plugin homes.

Rejected: Referencing the external Codex skill path | plugin installs need a self-contained copied asset package.

Rejected: Text-only design questions | visual UI/UX terms are often ambiguous without an inspectable interaction surface.

Confidence: high

Scope-risk: moderate

Directive: Keep visual-companion as an I/O bridge; do not turn it into a UI generator or browser automation framework without a new design issue.

Tested: py -3 -m unittest tests.test_visual_companion_plugin; py -3 scripts\\validate_contract.py; git diff --check; py -3 -m py_compile plugins\\visual-companion\\visual_companion_plugin\\__main__.py plugins\\visual-companion\\visual_companion_plugin\\__init__.py

Not-tested: Manual GitHub UI review after PR creation.
@Mineru98 Mineru98 requested a review from Q00 as a code owner May 25, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Epic: Add Visual Companion as an Ouroboros-native design decision bridge

1 participant