VAC is the product in this repository.
- Product command:
vac - Product TUI:
vac-rs/tui - Product core:
vac-rs/core - Product CLI:
vac-rs/cli - Package launcher:
vac-cli/bin/vac.js - Donor source:
donor/vac/
Do not implement a second TUI. Do not revive the old donor TUI stacks as product code.
The declarative product control plane lives under docs/workflow-control-plane/ and .vac/.
Rules of thumb:
- add a capability manifest before adding a backend-only product feature,
- surface every capability in the root TUI or CLI,
- keep the plan docs aligned with the manifests and dashboard output,
- treat donor code as source material, not product code.
All new work must target the root VAC architecture and the root vac command. Donor code may be ported only when it is wired into the root product flow.
root product: /home/emp/Documents/VAC/vastar-agentic-cli
source donor: donor/vac
forbidden: donor/vac TUI as product frontend
Prioritize backend/domain code that makes VAC unique:
- workflow and manifest/profile domain logic
- VIL/VWFD parser, validator, and workflow tooling
- approval/policy enhancements that improve the VAC approval flow
- memory/RAG/context modules if they integrate into the VAC TUI
- signal/trajectory/evidence modules if they become visible in the VAC TUI
Do not port old frontend stacks as product code:
donor/vac/crates/vac_shell_*donor/vac/crates/vac_tui_runtime- old VAC command aliases and duplicate TUI registries
- duplicate approval bars, task panels, render loops, or slash registries
A donor feature is not migrated until it is visible and usable from the root vac command.
Required for every feature:
- It is wired into the root VAC CLI/TUI path.
- It has a clear operator flow.
- It has visible empty/loading/success/failure states.
- It does not create duplicate TUI infrastructure.
- The old donor copy is deleted, quarantined, or explicitly marked as donor-only after porting.
Backend-only ports are not accepted.