4.5 KiB
Reproducing the local qualification
Run from the repository root with existing installed dependencies and the pinned SDK. Create artifact directories first. PowerShell wrappers must preserve native exit codes; $ErrorActionPreference='Stop' plus redirected native stderr incorrectly treated benign process warnings as terminating errors in early attempts. Original failures remain under .artifacts/phase9/; final counts come only from completed zero-retry reports and exit metadata.
$env:DOTNET_ROOT='C:\Users\Connor\.dotnet'
$env:DOTNET_HOST_PATH="$env:DOTNET_ROOT\dotnet.exe"
rtk proxy python docs/redesign/phase-9/p9-00/inventory.py
rtk proxy $env:DOTNET_HOST_PATH test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-restore --logger 'trx;LogFileName=phase9.trx' --results-directory .artifacts/phase9/backend
Inventory regeneration reflects the current checkout: the entry inventory has58 browser source files; Phase9 adds one ordinary spec, so regeneration has59. Do not overwrite the entry snapshot and mislabel it original evidence.
From job-tracker-ui:
rtk proxy node node_modules/jest/bin/jest.js --runInBand --json --outputFile=../.artifacts/phase9/frontend.json
rtk proxy npm run typecheck
rtk proxy npm run lint
$env:NEXT_PUBLIC_API_BASE_URL='http://localhost:5302/api'
rtk proxy npm run build
$env:PLAYWRIGHT_STATIC_EXPORT='true'
$env:PLAYWRIGHT_PREBUILT_EXPORT='true'
$env:CV_FIDELITY_OUTPUT='E:\Storage\Projects\Active\Job tracker\.artifacts\phase9\fidelity'
$env:CV_SETTINGS_FIDELITY_OUTPUT='E:\Storage\Projects\Active\Job tracker\.artifacts\phase9\settings-fidelity'
$env:PLAYWRIGHT_JSON_OUTPUT_NAME='E:\Storage\Projects\Active\Job tracker\.artifacts\phase9\ordinary-shard-1.json'
rtk proxy node node_modules/@playwright/test/cli.js test --shard=1/4 --retries=0 --reporter=list,json --output=../.artifacts/phase9/ordinary-shard-1-results
Repeat the ordinary command serially with --shard=2/4, 3/4 and 4/4, separate ordinary-shard-N.json and output names, and an unchanged source/export. Playwright keeps connected files together because fullyParallel is false. Native test --list --reporter=json records the complete discovery set without starting servers. Final reconciliation requires the exact discovered362 IDs to appear once across the four successful shards. Interrupted attempts are retained but excluded. This preserves completed result checkpoints rather than repeatedly losing a nearly hour-long run; assertions/retries/skips are unchanged.
Run separate browser configurations sequentially, each with its own JSON/output name: playwright.cv-ai.config.ts, playwright.auth-recovery.config.ts, playwright.rate-limits.config.ts, playwright.ingress.config.ts, playwright.pdf.config.ts, and ../docs/redesign/phase-5/p5-15/p5-15-01/diagnostics/playwright.config.ts. Use the same CLI --config=... --retries=0 --reporter=list,json. The Phase9 lane uses ../docs/redesign/phase-9/p9-05/diagnostics/playwright.config.ts (18 cases); the separate API-only volume lane uses ../docs/redesign/phase-9/p9-05/volume/playwright.config.ts (3 cases). Native PDF admission uses inert processes; it is distinct from native rendering fidelity.
The configs start isolated synthetic local API/storage and a static frontend. Do not point these workflows at production. Successful native reads/writes, scoped intercepted failure responses and withheld model operations must remain distinguishable.
From tools/summarizer, SKIP_MODEL_LOAD=1, run rtk proxy .venv/Scripts/python.exe -m pytest -q tests --junitxml=../../.artifacts/phase9/sidecar.xml. No inference semantics are qualified by these56 contracts.
The unchanged scripts/verify-cv-fidelity.py takes a corpus directory containing measurements.json and native PDF/preview fixtures. It requires the existing Python PDF/Pillow dependencies (bundled workspace runtime used in this run). Invoke it separately for the fidelity corpus and the combined Settings measurements. Never increase its tolerances to clear a failure.
After accepted reports exist, rtk proxy python docs/redesign/phase-9/evidence.py builds portable cases, route/axe/RD21/performance records and hashes raw reports. rtk proxy python docs/redesign/phase-9/reconcile.py checks362 ordinary cases,396 route vectors and57 unchanged preservation dispositions before generating final ledgers. Missing or failed data must not be replaced with baseline counts. Source/artifact identities are retained in p9-00/source-manifest.json.