Files
jobtrackingapp/docs/automation/handoffs/pre-phase10/REPRODUCE.md
T

4.3 KiB

Reproducing and consuming this evidence

Start in a clean checkout of the resolved published test/pre-phase10-ux-acceptance branch, containing5032ccb. Do not reset another worktree or assume main contains the application baseline. Use repository-supported tools and isolated fixtures; no production database, service, model cache or credentials are needed.

rtk proxy git status --short
rtk proxy git rev-parse HEAD
rtk proxy git merge-base --is-ancestor 5032ccb41514807c8ca3008c24ca6326be1170de HEAD
rtk proxy node --test docs/automation/handoffs/pre-phase10/verify.test.mjs docs/automation/handoffs/pre-phase10/package.test.mjs
rtk proxy node docs/automation/handoffs/pre-phase10/verify.mjs --verify-remote
rtk proxy node docs/automation/handoffs/pre-phase10/verify.mjs --require-ready

The final command must fail closed and report BLOCKED/eligible:false. The native Node exit is3; the installed RTK wrapper maps that child failure to shell exit1. Both were observed separately. Normal validation exit0 confirms internal evidence consistency only. Run the installed frontend dependencies' Ajv validator through the existing module; do not fetch dependencies or unapproved runtime artifacts implicitly. Node24.19.0, .NET SDK9.0.317, Python3.12.10 and Docker29.7.2 were observed. Absolute native report paths are producer metadata; compressed artifact paths resolve relative to this directory.

The four primary structured files ACCEPTANCE/GATES/BLOCKERS/TEST_EVIDENCE validate against HANDOFF_SCHEMA draft7. The verifier checks each compressed artifact SHA/size, bounded decompression, native test counters and membership, exit-code process pointer, commit binding, source-before/after equality and current tracked source scope, ordinary discovery coverage, verifier code committed identity and protected decision invariants. Portable Playwright projections externalize only inline attachment body strings; an indexed audit retains original report SHA/path and each omitted body's SHA/length. Case/status/error/retry/stat data is retained. Original raw reports remain unchanged under the producer artifact root. These projections and review JPEGs must not be described as byte-identical originals or used to waive a policy requiring the original attachment payloads.

For fresh application execution, inspect the exact process artifact referenced by each report, including argv, timestamps, exit and executedFromCommit. The one-off bounded producer scripts are also indexed; they are QA records, not a new roadmap executor. Restore the same immutable fixture/image inputs and use a new allowed output directory. Do not blindly replay destructive setup, reuse a previous run's paths or accept stored PASS as a new run. Relevant repository lanes include backend dotnet test, UI npm test -- --watchAll=false --runInBand, npm run typecheck, lint/build, four ordinary Playwright shards with --retries=0, isolated import/MariaDB and native Linux renderer helpers, and Python offline/real-Docling suites. The process records carry exact filters/configuration rather than an approximate command assembled from historical totals.

Source-binding excludes only the new handoff package; any change in the indexed application/test/helper/previous acceptance scope fails validation until affected evidence is rerun and reviewed. Its frozen baseline is5032ccb; executedFromCommit preserves the actual later documentation-only execution commit. The verifier has its own immutable verifierCommit/source map. A later documentation commit does not pretend the earlier tests executed at that future hash. Actual final Git cleanliness/publication must be checked at consumption and bound into any protected approval.

Do not add bootstrap unit7 to final combined validator totals, repeated Python console97 to native JUnit97, or the Linux eight browser cases to each PDF recovery attempt. Native document measurement totals are not test-case totals. See QUALIFICATION_FAILURES.md before interpreting intermediate exit1 records. Source manifests and artifact hashes establish correspondence and detect accidental drift; they are not cryptographic owner attestation and cannot defeat a malicious writer who controls every evidence file. The independent protected controller must retain its own trust roots, report generation/review and approval process.