49 lines
5.8 KiB
Markdown
49 lines
5.8 KiB
Markdown
# AUTOMATION-HANDOFF-01 implementation plan
|
||
|
||
> **For agentic workers:** Use superpowers:executing-plans inline. Steps use checkbox syntax. This plan is execution of the owner's attached specification, not authority to start Phase 10.
|
||
|
||
**Goal:** Export an independently verifiable, fail-closed pre-Phase-10 evidence package.
|
||
|
||
**Architecture:** Reuse existing application tests, parser/native runtime, original PDF oracles and preservation owners. Export a proposed versioned evidence contract alongside the separately committed orchestrator contract; never change or run that worktree/controller. Owner approvals remain external and protected.
|
||
|
||
**Tech Stack:** Existing .NET/React/Python/Playwright/MariaDB fixtures, Node's installed JSON Schema validator, Git and JSON/Markdown.
|
||
|
||
**Spec:** REQUEST.md, byte-preserved owner request.
|
||
|
||
## Global constraints
|
||
|
||
No Phase 10, later feature work, main merge, production operations, destructive database changes, acceptance waivers or approval signatures. Keep jobbjakt.local available. Work only on test/pre-phase10-ux-acceptance; preserve the primary and automation worktrees. Never turn a schema-valid GO into entry authority.
|
||
|
||
## Review focus
|
||
|
||
- Old or missing native reports must not become fresh PASS evidence.
|
||
- Source hashes and commit ancestry must bind reports despite documentation-only commits.
|
||
- Failure/skip/retry counts and all 57 preservation criteria remain visible.
|
||
- Missing protected approvals and remote publication must block automatic execution.
|
||
- Historical CV rendering, old import runs, redirects, SQLite and migrations are retain-by-default.
|
||
|
||
## Checkpoints
|
||
|
||
- [x] AUTO-H01: capture clean starting source/ancestry/remote/session observations; reconcile original CV-UX/import/QA/RD21/Phase9/Phase10 gates and committed orchestrator policy. Produce capability traceability and authority register.
|
||
- [x] AUTO-H02/H03: investigate unchanged S01 PDF failures using actual synthetic rendered bytes, preserve the original oracle, nominate only confirmed formatting defects; run safe parser/model/security checks with existing immutable artifacts. Prepare labelled visual comparison artifacts. No CV-model activation or semantic PASS by inference.
|
||
- [x] AUTO-H04/H05: produce prioritised owner scenarios with blocking scope; diagnose DNS/TCP/HTTPS/TLS/Git separately, normal-push this branch if reachable, inspect GJ-00 ref without changing it.
|
||
- [x] AUTO-H06: run fresh applicable backend/frontend/browser/Docling/MariaDB/RD21/Python/build/type/lint/security/preservation lanes in isolated fixtures. Capture native commands/exits/reports/test identities/source hashes; retain failures and compare historical counts separately.
|
||
- [x] AUTO-H07: create HANDOFF.md, ACCEPTANCE.json, GATES.json, BLOCKERS.json, TEST_EVIDENCE.json, MANUAL_ACCEPTANCE.md, PHASE10_BASELINE.md, READY_TO_RUN.md, HANDOFF_SCHEMA.json. Add minimal schema/evidence verification and negative tests proving missing/tampered/wrong-source reports or fake owner approvals cannot authorise execution.
|
||
- [x] AUTO-H08: record exact candidate/retain inventory, roadmap stages05–11 and separately tracked initiatives, independent decisions and owner actions. Review whole package, validate, commit, normal-push/read-back if available; otherwise preserve precise publication blocker. Stop. Final publication/cleanliness is resolved dynamically after the containing commit, not self-asserted by a hash inside it.
|
||
|
||
## Initial rulings
|
||
|
||
The sole active app-inventory chat using this cwd is this task; the separate active controller chat uses another worktree. A clean starting status and subsequent source freeze detect observed source drift; this is not a filesystem lock or proof against every external writer. No cross-chat message or other-worktree write is authorised.
|
||
|
||
The existing controller's result/backlog schemas are not acceptance-package schemas. Use a separately versioned **proposed evidence contract**, with explicit mapping to its protected signed entry/deferral/review gates, not a competing executable queue. Do not copy/configure its runtime or fabricate signatures.
|
||
|
||
The initial commit normalised the copied request's CRLF bytes. Scoped .gitattributes now preserves the original request and hash-indexed package bytes exactly across checkouts; no instruction or acceptance criterion is changed. Native evidence is compressed individually for portable verification rather than relying on ignored files in another worktree.
|
||
|
||
Existing Phase9 authority allows genuinely unfinished human checks as release debt and individually scoped conditional development; it does not grant broad Phase10 entry or accept unresolved security risks. Exact candidate approval and unused-caller proof remain mandatory. This handoff can be READY as evidence while Phase10 remains BLOCKED.
|
||
|
||
## Final verification and review
|
||
|
||
All safely achievable checkpoints completed; completion of the evidence task does not complete the outstanding gates. The final combined18 parser/schema/source/authority/package-negative tests passed and supersede bootstrap7. Native required-readiness exit3 and RTK-wrapper exit1 were independently distinguished. Fresh-context whole-package review found no actionable defects; its scope included source/report/exit binding, approval boundaries, decompression/path limits, temporary-directory cleanup and84 visual ZIP entries matching manifest hashes. The reviewer did not rerun product/production/human tests or grant protected approval. Final publisher must verify clean current HEAD and exact remote equality.
|
||
|
||
The external controller advanced during this task; CONTROLLER_ADDENDUM.md records the final read-only140e182 snapshot and narrower remaining actual-key/sign-in/context gates. No controller operation occurred here. Updated package text uses LF except existing CRLF files and the exact byte-preserved owner request; compressed native artifacts retain original bytes. No application or pre-existing test source was changed.
|