4.2 KiB
4.2 KiB
Task 13 report: publication flow and atomic install
Status
DONE_WITH_CONCERNS
Base SHA: 9c6906fc6f76115346360d050dd8c211fee1b5a9
Delivery commit: the commit containing this report, with subject feat: complete TechLog Studio publication flow.
Publication mapping
- Added the source-faithful publish screen, warning acknowledgements, publication history/filter, unpublish dialog, immutable event snapshot preview, and their three route pages.
- Publish blocks invalid or stale validation, requires every warning acknowledgement, creates a fresh idempotency key per command/retry, preserves gateway command ordering, and exposes pending/error/retry states.
- Unpublish preserves the reason/confirmation contract. Historical preview reads the event-owned immutable snapshot and renders it through the shared
PublicRecordRenderer; a missing/unknown event stays inside Studio. - Added
tests/features/tech-log/studio-publication-flow.test.tsxfirst. The initial red was the exact missingpublication-list.tsxmodule/screen; the implemented suite is green at 7 tests.
Atomic install and removals
- Installed exactly the 27 governed TechLog route definitions, codecs, runtime imports, module identities, message catalogs, schemas, and release-manifest chunk IDs.
PublicShellandStudioShellare the grouped layout elements. - Added governed Vite chunk naming for the 27 route module identities and changed the performance probe to
TECH_LOG_HOME. - Kept the reference contract/adapters and API/schema/invalidation/platform fixture tests, while removing its presentation runtime/pages and page-level tests.
- Removed the four sample presentation pages, starter home/not-found pages, their page-level component/E2E screens, and all four
/examples/*E2E specs authorized by the brief. - Added
tests/e2e/tech-log-studio-workflow.spec.ts; it was deliberately not run and is deferred to Task 14. - Updated the removal fixture to retain TechLog after reference removal and to exclude tests whose only contract is the removed reference runtime or the canonical (non-reduced) CI authority.
- Split
DocumentEditorControllerinto a type-only module to remove the editor/status-rail cycle exposed by the installed route graph.
Verification evidence
- Publication + validation-preview + mock gateway: PASS, 3 files / 23 tests.
- Router + runtime application + retained reference contract: PASS, 3 files / 16 tests.
- Final route contract + navigation policy: PASS, 2 files / 10 tests.
- Registry structure: PASS, 11 registries.
- Release manifest inventory: PASS, exactly 27 derived chunk IDs.
git diff --check: PASS.test:sample-removalwas run once. Its isolated home smoke passed 9/9 and registry/CI reduced-contract checks passed, but its internally broad type/architecture/unit/coverage/build loop failed. Task-owned findings were fixed afterward: ES-target-incompatibletoSorted, staleAPP_HOME, direct adapter import, editor/status-rail cycle, reference-dependent fixture residue, canonical-CI-only tests in a reduced fixture, and missing governed build chunk names. Per fast-mode direction, that several-minute broad loop was not rerun; Task 14 must confirm the fixes through its integrated gates.
Files
- Publication/UI/runtime:
src/features/tech-log/presentation/**, including the five publication components, three pages, route runtime, and controller boundary. - Contracts/install:
src/contracts/{routes,route-runtime-contract}.ts,src/features/installed-feature-*.{ts,tsx}, TechLog route contract, platform codecs/runtime, router, layout reference, registry governance, Vite config, release manifest, performance/removal scripts. - Tests: new publication flow and Studio workflow specs; updated route/router/runtime/reference/navigation expectations; authorized sample/reference presentation test deletions.
Task 14 deferred concerns
- Run the complete integrated review/gates, including the sample-removal loop with the post-fix code, production build/manifest verification, types, lint, architecture, security, and Playwright workflow.
- Confirm the governed Vite chunk names in the generated production manifest and assess any unrelated environment/timing failures from the broad isolated fixture.