{ "schema_version": 1, "phases": [ { "id": "preflight", "title": "Dependency and shared contract preflight", "cwd": "core", "order_after": [], "depends_on": [], "resources": [ "backend:test-state" ], "outputs": [], "notes": [ "Checks dependency hygiene, cross-module contracts, manifests and static WebUI conventions." ] }, { "id": "tooling", "title": "Workspace inventories and development/release tooling tests", "cwd": "meta", "order_after": [ "preflight" ], "depends_on": [], "resources": [ "backend:test-state", "artifact:platform-inventory" ], "outputs": [ "{meta}/audit-reports/platform-inventory/platform-interface-inventory.json", "{meta}/audit-reports/platform-inventory/platform-interface-inventory.md" ], "notes": [ "Inventory reports are regenerated here; no later phase consumes them. Reused check evidence does not promise these reports still exist." ] }, { "id": "backend", "title": "Workspace syntax, backend modules and integration checks", "cwd": "core", "order_after": [ "tooling" ], "depends_on": [], "resources": [ "backend:test-state" ], "outputs": [], "notes": [ "Tests may create their own temporary fixtures or test caches; no generated artifact is required by a later phase." ] }, { "id": "core-ui", "title": "Core source tests and selected component contracts", "cwd": "core-webui", "order_after": [ "backend" ], "depends_on": [], "resources": [ "webui:govoplan-core" ], "outputs": [ "{core}/webui/.module-test-build" ], "notes": [ "The selected component batch creates and removes a private compilation directory. Module-capability tests rebuild .module-test-build themselves; later phases do not consume it." ] }, { "id": "module-builds", "title": "Optional-module build permutations and bundle checks", "cwd": "core-webui", "order_after": [ "core-ui" ], "depends_on": [], "resources": [ "webui:govoplan-core" ], "outputs": [ "{core}/webui/dist", "{core}/webui/dist/module-permutation-bundle-metrics.json" ], "notes": [ "Each permutation builds and reads its own fresh bundle metrics. Final dist and aggregate metrics persist, but browser/module-ui phases do not consume them. Reused check evidence is not artifact or deployment attestation." ] }, { "id": "browser", "title": "Core browser conformance", "cwd": "core-webui", "order_after": [ "module-builds" ], "depends_on": [], "resources": [ "webui:govoplan-core", "browser:chromium", "port:4174" ], "outputs": [ "{core}/webui/test-results", "{core}/webui/node_modules/.vite/govoplan-conformance" ], "notes": [ "Playwright starts its own Vite server from conformance sources with an isolated cache. It does not serve or require module-builds dist. The server is owned by the phase and stopped on completion." ] }, { "id": "module-ui", "title": "Owning-module UI and type checks", "cwd": "access-webui", "order_after": [ "browser" ], "depends_on": [], "resources": [ "webui:govoplan-core", "webui:govoplan-access", "webui:govoplan-payments", "webui:govoplan-dataflow", "webui:govoplan-datasources", "webui:govoplan-workflow", "webui:govoplan-dashboard", "webui:govoplan-approvals", "webui:govoplan-postbox", "webui:govoplan-mail", "webui:govoplan-files", "webui:govoplan-campaign", "webui:govoplan-policy", "webui:govoplan-wiki" ], "outputs": [], "notes": [ "The original 19-command tail retains each owning package's cwd. Its scripts prepare any private test output they need; no earlier phase artifact is a prerequisite." ] } ] }