docs(redesign): record production no-go and P5-14 scope
This commit is contained in:
@@ -53,7 +53,7 @@ Reconciled against [P4-06](../phase-4/p4-06/README.md#opendeferred-issue-reconci
|
||||
|
||||
**P5-13 — AI Model Semantic Qualification / AI Review UI: DEFERRED — BLOCKED / NOT QUALIFIED.** This records Connor's explicit deferral at source checkpoint `9c9157507937b3e084a7ca1e79a2ebd77d0b0928`; it does not complete P5-13 or remove its [approved requirements](PHASE5_PLAN.md#p5-13--cv-ai-review-presentation).
|
||||
|
||||
**Latest qualification checkpoint / sequencing — 2026-10-08:** [The bounded qualification record](p5-13-qualification/README.md) retains **NO-GO for P5-13 UI**, 0/366 real calls, 0 human reviews and unmeasured factuality. Fresh 108 focused AI / 5 revision / 2 native HTTP cases pass separately, including stale/tampered/foreign-owner safeguards and isolated Production withholding; they do not qualify a model. The Linux-engine pipe remains unavailable and optional loopback health/inventory probes timed out; no new Docker recovery was attempted or deployed target established. The candidate's Production block remains active. Connor's latest instruction schedules deployment for the **release-candidate decision after P5-15**, superseding the historical release-first ordering below. No later slice, production merge or deployment begins in this checkpoint; F04/current backup-restore/configuration/rollback/protected-CI proof remains separately required.
|
||||
**Current release/P5-14 sequencing — 2026-10-08:** Connor now authorizes fresh release assessment from `1095ef1`, followed by P5-14 for implemented CV capabilities **even if release is NO-GO**. The [production decision](production-release-decision/README.md) identifies automatic deployment from `main` and records missing actual ingress/current backup-restore/configuration/rollback/protected-CI evidence. No production merge, push or deployment occurs while any critical gate is unresolved. This supersedes the qualification-only/deploy-after-P5-15 instruction and the historical release-first prerequisite below. [Qualification](p5-13-qualification/README.md) remains NO-GO for P5-13 UI: 0/366 real calls, 0 human reviews and unmeasured factuality. Deterministic API/revision/HTTP evidence is independent of semantic qualification; the Production block stays active. P5-14 excludes unimplemented AI review, retains all missing AI responsive/acceptance obligations and stops before P5-15/B07. No qualification or Docker recovery is initiated here. Every individual P5-15 change/checkpoint must later be committed and pushed.
|
||||
|
||||
Local configuration selects Ollama `qwen2.5:7b`; actual deployed provider/model/digest/settings remain unverified. Docker Desktop is blocked while starting its inference manager by an AF_UNIX socket reparse-point (`IO_REPARSE_TAG_AF_UNIX`) that cannot be removed/opened normally (Windows error 1920). The deeper filesystem cause remains unknown. No destructive recovery was attempted; the failed bounded rename and supported Model Runner disable/start attempts remain documented. Do not spend another checkpoint retrying Docker recovery or repeat recovery attempts during unrelated phases.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
Sources: [Phase 3 sequencing](../phase-3/PHASE4_IMPLEMENTATION_PLAN.md), [P4-06 conditional acceptance](../phase-4/p4-06/README.md), [readiness gates](READINESS_GATES.md), [navigation contract](NAVIGATION_MIGRATION.md), [57-contract impact](PRESERVATION_IMPACT.md), [visual acceptance](VISUAL_ACCEPTANCE.md). This plan makes Phase 3 proposals concrete; it does not supersede preserved functionality or turn missing APIs into existing capabilities.
|
||||
|
||||
**Latest scope clarification — 2026-10-08:** [P5-13 grounding qualification](p5-13-qualification/README.md) remains **NO-GO for AI review UI**; its full requirements and [return conditions](OPEN_BLOCKERS.md#p5-13-deferred-debt-and-return-conditions--2026-10-08) remain mandatory. Connor's latest instruction places production deployment at the Phase 5 release-candidate decision **after P5-15**, superseding the previous release-before-P5-14 order. This bounded qualification checkpoint authorizes no UI, P5-14, P5-15, B07, production merge or deployment. Later acceptance must distinguish implemented/deferred and release-blocking/nonblocking work; missing AI-review responsiveness or human evidence cannot be reported as passed. F04, backup/restore, configuration, rollback and protected CI gates remain; no repeated Docker recovery during unrelated work.
|
||||
**Latest scope clarification — 2026-10-08:** Connor authorizes fresh production assessment from `1095ef1`, then P5-14 for implemented P5-09–12 CV capabilities **regardless of the release decision**. The [release decision](production-release-decision/README.md) remains **PRODUCTION NO-GO** until actual ingress/current backup-restore/configuration/rollback/protected-CI evidence exists; `main` automatically deploys on push. This supersedes qualification-only and deploy-after-P5-15 sequencing. P5-13 remains **DEFERRED / NOT QUALIFIED**, its [full return conditions](OPEN_BLOCKERS.md#p5-13-deferred-debt-and-return-conditions--2026-10-08) mandatory and Production withholding active. P5-14 may complete a scoped responsive checkpoint without unimplemented AI review; missing AI-specific responsiveness, human screen-reader and production font/photo evidence must remain explicit. No new qualification/Docker recovery, P5-13 UI, P5-15 or B07 starts here. Every individual P5-15 change/checkpoint must later be committed and pushed.
|
||||
|
||||
## Order and conditional branches
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Phase 5 — Representative screens / major UI redesign plan
|
||||
|
||||
**Current status — 2026-10-08, latest qualification instruction:** P5-12 is the latest completed UI slice. [P5-13 grounding qualification](p5-13-qualification/README.md) remains **NO-GO for AI review UI**: 0/366 genuine calls, 0 human reviews, factuality unmeasured; fresh deterministic API/revision/HTTP checks pass separately. The candidate's Production CV review block stays active. No P5-13 UI, P5-14, P5-15, B07, production merge or deployment is authorized by this checkpoint. The latest instruction schedules deployment for the release-candidate decision **after P5-15**, superseding the earlier release-first ordering. F04, backup/restore, configuration/rollback and protected CI remain independent production gates. [The debt register](OPEN_BLOCKERS.md#p5-13-deferred-debt-and-return-conditions--2026-10-08) retains all qualification requirements; no deferred capability is declared complete.
|
||||
**Current direction — 2026-10-08, owner's release/P5-14 instruction:** Assess the completed candidate at `1095ef1d29856a2984cd800abd2bbd65dd472d38` against fresh tests and actual production evidence, then implement P5-14 for currently implemented CV capabilities even when production is blocked. The [production release decision](production-release-decision/README.md) identifies `main` as the automatic deployment branch; missing ingress/current recovery/configuration/rollback evidence means **PRODUCTION NO-GO**, with no production merge, push or deployment. This supersedes the previous qualification-only/deploy-after-P5-15 sequencing, without waiving any release gate. P5-13 remains deferred: 0/366 genuine calls, 0 human reviews, factuality unmeasured, AI review UI unimplemented and Production withholding active. [The debt register](OPEN_BLOCKERS.md#p5-13-deferred-debt-and-return-conditions--2026-10-08) retains every qualification/acceptance obligation. P5-14 excludes unimplemented AI review and cannot claim complete AI-assisted CV acceptance. Stop before P5-15 and B07; every individual P5-15 change/checkpoint must later be committed and pushed.
|
||||
|
||||
The successor entries below retain their historical checkpoint decisions; they do not override this current status.
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
# Part A — production release decision — 2026-10-08
|
||||
|
||||
**Production decision: NO-GO.** The completed redesign remains a release candidate. Critical production safety evidence is unavailable, so no production-branch merge/push or deployment was performed. No production configuration, service, database, volume, backup or credential was changed; no production endpoint or model was contacted in this assessment.
|
||||
|
||||
Assessed source: **`1095ef1d29856a2984cd800abd2bbd65dd472d38`**, `codex/ui-redesign-phase4`. A fresh `git fetch origin` and `git ls-remote --symref` confirm production target **`main`**, **`27657f31131cd95d42f0e1290853ec9c9b3959a4`**, at `https://git.cesnimda.uk/cesnimda/jobtrackingapp.git`. Remote HEAD points to `main`; no remote `master` exists. The candidate has 45 additional commits and zero target-only commits. **Release/merge commit and deployed candidate SHA: none.**
|
||||
|
||||
## Deployment boundary
|
||||
|
||||
Both the fetched `main` and candidate [Gitea workflow](../../../../.gitea/workflows/ci-deploy.yml) run tests on `main` pushes and pull requests. A successful complete `test` job automatically enables deployment only for a push to `refs/heads/main`. Deployment uses the established `PROD_HOST`, `PROD_USER` and `PROD_SSH_KEY` secret mechanism, resets `/opt/job-tracker/app` to the workflow SHA and invokes [deploy.sh](../../../../deploy/deploy.sh). A `main` push is therefore a production action. Actual remote branch-protection settings and candidate runner acceptance were not verified.
|
||||
|
||||
No usable production connection was established. The permitted repository material supplies secret names rather than a verified SSH alias/user, and the current `C:/Users/Connor/.ssh/config` existence check returned false. Historical operator access does not provide a current connection. No connection was guessed and no secret values, private keys, live `.env`, cookies or authentication state were retrieved.
|
||||
|
||||
## Critical evidence and remediation
|
||||
|
||||
| Gate | Current result and evidence required |
|
||||
|---|---|
|
||||
| **F04/B06 actual ingress** | **Open.** Obtain the deployed revision/image IDs, real Traefik placement/router/TLS/upstream/forwarding settings, generated nginx trust entries and observed original socket peer. Show that an untrusted route has a different source, that edge spoofing cannot select client IP/scheme/host, and that the API receives the intended client identity. A shared NAT source for trusted and untrusted paths is a stop condition; use an explicitly reviewed binding/firewall or dedicated proxy route before trusting that peer. |
|
||||
| **Listeners, network and external boundary** | **Unverified.** Inspect actual published/container/host listeners, network membership, Docker NAT/FORWARD and provider/host IPv4/IPv6 controls. From an independent external network, verify direct/spoofed application denial, every intended A/AAAA address, valid TLS and a reachable canonical HTTP redirect. The historical redirect to unreachable HTTPS port `444` has not been reverified or closed. |
|
||||
| **Real-chain runtime and identity** | **Unverified.** On an isolated equivalent topology, prove real nginx startup/configuration rejection/restart stability, trusted/untrusted forwarding, actual backend client-IP observations, A/B rate-budget isolation and B02 account/session context behavior. Local API/Compose tests do not establish the deployed chain. |
|
||||
| **Current backup and restore** | **Unverified.** Inventory a fresh complete database/files/CV/exports/Data Protection keys/tombstones recovery set, integrity, custody, retention and off-host protection. Restore a current production backup into an isolated target; compare counts/content/non-ASCII data, boot the application and prove decryption and deletion-tombstone replay. Historical seeded MariaDB restoration and old gzip-valid database-only dumps are insufficient. |
|
||||
| **Configuration, schema and rollback** | **Unverified.** Confirm the actual database provider/connection, schema/migration history, canonical origin/auth/ingress configuration, current version/counts and recoverable prior images. Rehearse failure injection and code/image rollback on a disposable Linux host with the intended topology, preserving data and failed deployment status. The existing script is a mechanism, not rehearsal evidence. F19's startup fallback to SQLite remains open; confirm the intended provider rather than accepting empty fallback data. |
|
||||
| **Protected CI, deployment and authenticated acceptance** | **Unverified.** Obtain complete candidate remote test/browser results through the protected workflow. After every critical pre-release gate permits deployment, record actual deployment completion, matching SHA/version, `/health`, `/ready` and public auth configuration. Verify existing-account login, owner/account separation, application/company counts, Career Profile/languages, workspace, CV variants/themes/public PDF and an existing attachment; verify configured OAuth/email/provider paths with authorized test accounts. Local tests and public health alone cannot establish these outcomes. |
|
||||
|
||||
Use the current [deployment checklist](../../../infrastructure/deployment.md), [backup requirements](../../../infrastructure/backups.md), [disaster recovery guidance](../../../infrastructure/disaster-recovery.md) and [migration compatibility rules](../../../database/migrations.md). The [historical B06 operator handoff](../../../_archive/pre-docs-cleanup-2026-09-11/docs/audits/2026-09-07/validation/b06-completion.md#required-deployment-verification--exact-safe-procedure) retains the exact read-only inventory, sanitized output and SYN-only peer procedure. It is a procedure and historical evidence, not current production acceptance. Restart, invalid-configuration, failure-injection and restore rehearsals belong on isolated targets; no live destructive operation is authorized by this record.
|
||||
|
||||
The Git migration comparison adds **no DDL migration**: three historical migration files change documentation comments only, and the snapshot adds concurrency metadata to the existing CV `Version` property. Compose is unchanged. Existing startup migration/reconciliation still runs, so the actual deployed schema/provider and recovery evidence remain required.
|
||||
|
||||
## Authorized continuation and preserved deferral
|
||||
|
||||
**Connor's current instruction authorizes local P5-14 independently of production release.** This supersedes the historical release-first continuation condition for that work. Production NO-GO does not stop the authorized P5-14 checkpoint for currently implemented CV workflows. Its acceptance must retain the absent P5-13 AI-review journey and all production/accessibility limitations explicitly; no unconditional Phase 5 completion follows from this scope revision.
|
||||
|
||||
P5-13 remains **DEFERRED — BLOCKED / NOT QUALIFIED**: no new qualification calls or human reviews, and no AI-review UI implementation. Preserve the existing Production guard in [Program.cs](../../../../JobTrackerApi/Program.cs): `CvAiSuggestionService` is registered only outside Production, so proposal generation and Apply use the established `503 cv_ai_unavailable` boundary before model requests or CV/profile/history mutation. Other AI registrations and ordinary CV editing/save/history/preview/PDF remain under their existing boundaries. This repository guard is not proof of the current deployed service. The frozen [qualification packet](../p5-13-qualification/README.md) and [return conditions](../OPEN_BLOCKERS.md#p5-13-deferred-debt-and-return-conditions--2026-10-08) remain intact; no Docker recovery or semantic qualification was attempted.
|
||||
|
||||
Preservation is reconciled through the existing [57-group preservation review](../release-readiness/PRESERVATION_REVIEW.md), original requirements and per-slice successor evidence. That mapping retains its provider/manual/production gaps; it is not an exhaustive coverage percentage or acceptance of every sub-workflow. P5-14 must add its own bounded evidence without removing inherited requirements.
|
||||
|
||||
## Final validation
|
||||
|
||||
Fresh validation against unchanged application/test/configuration source at `1095ef1`, before P5-14 changes:
|
||||
|
||||
| Check | Actual result |
|
||||
|---|---|
|
||||
| Backend Release / focused AI / revision safety | **1,023 / 108 / 5 passing**; focused cases are subsets of the backend total |
|
||||
| Frontend Jest | **455 passing**, 81 suites |
|
||||
| Chromium application browser | **112 actual passing**, zero skips/failures/retries; P2-D01 is an ordinary passing case |
|
||||
| Native real-HTTP contracts | **2 passing**, including isolated Production withholding and unrelated-AI availability |
|
||||
| Sidecar | **49 passing**, offline synthetic tests, no model qualification |
|
||||
| Rate-limit / ingress / PDF admission / Compose configuration | **9 / 6 / 1 / 3 passing** |
|
||||
| Standard preview/PDF fidelity | **16/16**, **36 = 36 pages**, existing dimensional/position/font/colour tolerances unchanged |
|
||||
| Settings export fidelity | **8/8**, **24 = 24 pages**, existing tolerances unchanged |
|
||||
| TypeScript / separate browser TypeScript / lint | Passing |
|
||||
| Frontend production / API Release / test-project Release builds | Passing; API/test builds have zero warnings/errors |
|
||||
| Supply-chain helpers / offline evaluation harness / extension tests | **3 / 5 / 3 passing**; harness tests do not make model calls |
|
||||
| Secrets / working and staged whitespace / documentation links | Passing; 158 current/root Markdown targets checked, historical archive excluded |
|
||||
|
||||
No test-count changes. Raw TRX/XML, browser/Jest reports, exported PDFs, measurements and comparisons are retained under ignored `.artifacts/p5-release-decision/`; [VALIDATION.json](VALIDATION.json) records counts, commands and incomplete accessibility checks. The browser run retained **229 axe scans**, zero reported violations and **1,712 incomplete node occurrences** (1,466 contrast, 191 prohibited-attribute, 33 hidden-focus, 18 valid-value and 4 table-header). Incomplete checks and human screen-reader acceptance are **open**, not passes. Existing themed/localised responsive workflows ran, but native hardware touch and production font/photo qualification are not established by Chromium.
|
||||
|
||||
An initial specialized-suite command used an incorrectly constructed CLI argument and found zero tests; it was corrected and all three explicit configurations ran. That accidental development-server launch generated two Next.js instruction files; their generator/provenance was verified and only those generated artifacts were removed. No application source changed or check was weakened.
|
||||
|
||||
The release decision remains **NO-GO** despite these local passes. This documentation checkpoint authorizes no production merge, push or deployment; P5-14 continues separately on the existing development history.
|
||||
@@ -0,0 +1,344 @@
|
||||
{
|
||||
"frontend": {
|
||||
"passed": 455,
|
||||
"suites": 81,
|
||||
"failed": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"browser": {
|
||||
"passed": 112,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"retries": 0,
|
||||
"startTime": "2026-10-08T20:24:10.667Z",
|
||||
"durationSeconds": 1128.29,
|
||||
"axe": {
|
||||
"scans": 229,
|
||||
"reportedViolations": 0,
|
||||
"incompleteNodeOccurrencesByRule": {
|
||||
"aria-hidden-focus": 33,
|
||||
"aria-prohibited-attr": 191,
|
||||
"aria-valid-attr-value": 18,
|
||||
"color-contrast": 1466,
|
||||
"th-has-data-cells": 4
|
||||
},
|
||||
"humanScreenReaderAcceptance": "open"
|
||||
}
|
||||
},
|
||||
"realHttp": {
|
||||
"passed": 2,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"retries": 0,
|
||||
"startTime": "2026-10-08T20:27:50.257Z",
|
||||
"durationSeconds": 14.92,
|
||||
"axe": {
|
||||
"scans": 0,
|
||||
"reportedViolations": 0,
|
||||
"incompleteNodeOccurrencesByRule": {},
|
||||
"humanScreenReaderAcceptance": "open"
|
||||
}
|
||||
},
|
||||
"rateLimit": {
|
||||
"passed": 9,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"retries": 0,
|
||||
"startTime": "2026-10-08T20:44:35.291Z",
|
||||
"durationSeconds": 10.305,
|
||||
"axe": {
|
||||
"scans": 0,
|
||||
"reportedViolations": 0,
|
||||
"incompleteNodeOccurrencesByRule": {},
|
||||
"humanScreenReaderAcceptance": "open"
|
||||
}
|
||||
},
|
||||
"ingress": {
|
||||
"passed": 6,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"retries": 0,
|
||||
"startTime": "2026-10-08T20:44:47.014Z",
|
||||
"durationSeconds": 6.354,
|
||||
"axe": {
|
||||
"scans": 0,
|
||||
"reportedViolations": 0,
|
||||
"incompleteNodeOccurrencesByRule": {},
|
||||
"humanScreenReaderAcceptance": "open"
|
||||
}
|
||||
},
|
||||
"pdfAdmission": {
|
||||
"passed": 1,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"retries": 0,
|
||||
"startTime": "2026-10-08T20:44:54.818Z",
|
||||
"durationSeconds": 7.672,
|
||||
"axe": {
|
||||
"scans": 0,
|
||||
"reportedViolations": 0,
|
||||
"incompleteNodeOccurrencesByRule": {},
|
||||
"humanScreenReaderAcceptance": "open"
|
||||
}
|
||||
},
|
||||
"fidelity": {
|
||||
"passed": 16,
|
||||
"total": 16,
|
||||
"previewPages": 36,
|
||||
"pdfPages": 36,
|
||||
"tolerances": {
|
||||
"pageDimensionMm": 0.5,
|
||||
"positionMm": 2,
|
||||
"fontPt": 0.5,
|
||||
"rgbComponent": 0.00392156862745098,
|
||||
"pageCountAndMembership": "exact"
|
||||
}
|
||||
},
|
||||
"settingsFidelity": {
|
||||
"passed": 8,
|
||||
"total": 8,
|
||||
"previewPages": 24,
|
||||
"pdfPages": 24,
|
||||
"tolerances": {
|
||||
"pageDimensionMm": 0.5,
|
||||
"positionMm": 2,
|
||||
"fontPt": 0.5,
|
||||
"rgbComponent": 0.00392156862745098,
|
||||
"pageCountAndMembership": "exact"
|
||||
}
|
||||
},
|
||||
"backendStatic": {
|
||||
"date": "2026-10-08",
|
||||
"scope": "Part A backend/sidecar/static security/config baseline",
|
||||
"sourceCheckpoint": "1095ef1d29856a2984cd800abd2bbd65dd472d38",
|
||||
"headAtEnd": "1095ef1d29856a2984cd800abd2bbd65dd472d38",
|
||||
"trackedWorkingTreeAtEnd": "clean",
|
||||
"artifactRoot": "E:/Storage/Projects/Active/Job tracker/.artifacts/p5-release-decision/backend-static",
|
||||
"result": "PASS",
|
||||
"commandsExecutedVia": "rtk proxy powershell -NoProfile -Command; executable exit code preserved; output saved with Tee-Object",
|
||||
"checks": [
|
||||
{
|
||||
"check": "API Release build warnings as errors",
|
||||
"command": "C:/Users/Connor/.dotnet/dotnet.exe build JobTrackerApi/JobTrackerApi.csproj --configuration Release --no-restore -warnaserror",
|
||||
"exitCode": 0,
|
||||
"warnings": 0,
|
||||
"errors": 0,
|
||||
"durationSeconds": 7.75,
|
||||
"log": "api-release-build.log"
|
||||
},
|
||||
{
|
||||
"check": "Backend test project Release build",
|
||||
"command": "C:/Users/Connor/.dotnet/dotnet.exe build JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-restore",
|
||||
"exitCode": 0,
|
||||
"warnings": 0,
|
||||
"errors": 0,
|
||||
"durationSeconds": 4.72,
|
||||
"log": "backend-test-project-release-build.log"
|
||||
},
|
||||
{
|
||||
"check": "Complete backend",
|
||||
"command": "C:/Users/Connor/.dotnet/dotnet.exe test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-build --logger trx;LogFileName=backend-full.trx --results-directory .artifacts/p5-release-decision/backend-static",
|
||||
"passed": 1023,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"exitCode": 0,
|
||||
"durationSeconds": 17,
|
||||
"log": "backend-full.log",
|
||||
"resultFile": "backend-full.trx",
|
||||
"trxCounters": {
|
||||
"total": "1023",
|
||||
"executed": "1023",
|
||||
"passed": "1023",
|
||||
"failed": "0",
|
||||
"error": "0",
|
||||
"timeout": "0",
|
||||
"aborted": "0",
|
||||
"inconclusive": "0",
|
||||
"passedButRunAborted": "0",
|
||||
"notRunnable": "0",
|
||||
"notExecuted": "0",
|
||||
"disconnected": "0",
|
||||
"warning": "0",
|
||||
"completed": "0",
|
||||
"inProgress": "0",
|
||||
"pending": "0"
|
||||
},
|
||||
"trxTimes": {
|
||||
"creation": "2026-10-08T22:24:53.0362751+02:00",
|
||||
"queuing": "2026-10-08T22:24:53.0362755+02:00",
|
||||
"start": "2026-10-08T22:24:52.2600154+02:00",
|
||||
"finish": "2026-10-08T22:25:10.5620379+02:00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"check": "Focused AI/privacy/proposal subset",
|
||||
"command": "C:/Users/Connor/.dotnet/dotnet.exe test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-build --filter FullyQualifiedName~CvAi|FullyQualifiedName~AiWorkspace|FullyQualifiedName~AiPrivacyPolicy|FullyQualifiedName~MeteredSummarizerService --logger trx;LogFileName=focused-ai.trx --results-directory .artifacts/p5-release-decision/backend-static",
|
||||
"passed": 108,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"exitCode": 0,
|
||||
"durationSeconds": 3,
|
||||
"includedInBackendTotal": true,
|
||||
"log": "focused-ai.log",
|
||||
"resultFile": "focused-ai.trx",
|
||||
"trxCounters": {
|
||||
"total": "108",
|
||||
"executed": "108",
|
||||
"passed": "108",
|
||||
"failed": "0",
|
||||
"error": "0",
|
||||
"timeout": "0",
|
||||
"aborted": "0",
|
||||
"inconclusive": "0",
|
||||
"passedButRunAborted": "0",
|
||||
"notRunnable": "0",
|
||||
"notExecuted": "0",
|
||||
"disconnected": "0",
|
||||
"warning": "0",
|
||||
"completed": "0",
|
||||
"inProgress": "0",
|
||||
"pending": "0"
|
||||
},
|
||||
"trxTimes": {
|
||||
"creation": "2026-10-08T22:24:16.7530199+02:00",
|
||||
"queuing": "2026-10-08T22:24:16.7530202+02:00",
|
||||
"start": "2026-10-08T22:24:16.0641745+02:00",
|
||||
"finish": "2026-10-08T22:24:20.2456876+02:00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"check": "CV revision safety subset",
|
||||
"command": "C:/Users/Connor/.dotnet/dotnet.exe test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-build --filter FullyQualifiedName~CvRevisionReadinessTests --logger trx;LogFileName=cv-revision.trx --results-directory .artifacts/p5-release-decision/backend-static",
|
||||
"passed": 5,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"exitCode": 0,
|
||||
"durationSeconds": 2,
|
||||
"includedInBackendTotal": true,
|
||||
"log": "cv-revision.log",
|
||||
"resultFile": "cv-revision.trx",
|
||||
"trxCounters": {
|
||||
"total": "5",
|
||||
"executed": "5",
|
||||
"passed": "5",
|
||||
"failed": "0",
|
||||
"error": "0",
|
||||
"timeout": "0",
|
||||
"aborted": "0",
|
||||
"inconclusive": "0",
|
||||
"passedButRunAborted": "0",
|
||||
"notRunnable": "0",
|
||||
"notExecuted": "0",
|
||||
"disconnected": "0",
|
||||
"warning": "0",
|
||||
"completed": "0",
|
||||
"inProgress": "0",
|
||||
"pending": "0"
|
||||
},
|
||||
"trxTimes": {
|
||||
"creation": "2026-10-08T22:24:40.8546414+02:00",
|
||||
"queuing": "2026-10-08T22:24:40.8546419+02:00",
|
||||
"start": "2026-10-08T22:24:37.6883036+02:00",
|
||||
"finish": "2026-10-08T22:24:40.8638145+02:00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"check": "Sidecar final",
|
||||
"command": "tools/summarizer/.venv/Scripts/python.exe -m pytest tools/summarizer/tests -q -o cache_dir=E:/Storage/Projects/Active/Job tracker/.artifacts/p5-release-decision/backend-static/pytest-cache --basetemp=.artifacts/p5-release-decision/backend-static/pytest-tmp-final --junitxml=.artifacts/p5-release-decision/backend-static/sidecar-final.xml",
|
||||
"environment": {
|
||||
"AI_SERVICE_SKIP_MODEL_LOAD": "1",
|
||||
"HF_HUB_OFFLINE": "1",
|
||||
"TRANSFORMERS_OFFLINE": "1"
|
||||
},
|
||||
"passed": 49,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"warnings": 0,
|
||||
"exitCode": 0,
|
||||
"durationSeconds": 7.91,
|
||||
"log": "sidecar-final.log",
|
||||
"resultFile": "sidecar-final.xml"
|
||||
},
|
||||
{
|
||||
"check": "Static Compose/configuration",
|
||||
"command": "C:/Users/Connor/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe scripts/test-ingress.py",
|
||||
"passed": 3,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"exitCode": 0,
|
||||
"durationSeconds": 0.807,
|
||||
"log": "configuration-tests.log",
|
||||
"boundary": "Script invokes static docker compose config only; no daemon/start/recovery operation."
|
||||
},
|
||||
{
|
||||
"check": "Supply-chain helper tests",
|
||||
"command": "C:/Users/Connor/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe scripts/test-supply-chain.py",
|
||||
"passed": 3,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"exitCode": 0,
|
||||
"durationSeconds": 0.067,
|
||||
"log": "supply-chain-tests.log"
|
||||
},
|
||||
{
|
||||
"check": "Offline evaluation harness",
|
||||
"command": "C:/Users/Connor/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe scripts/test-ollama-evaluation.py",
|
||||
"passed": 5,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"exitCode": 0,
|
||||
"durationSeconds": 0.022,
|
||||
"log": "offline-evaluation-tests.log",
|
||||
"boundary": "No model run; mocked/stdlib harness tests only."
|
||||
},
|
||||
{
|
||||
"check": "Extension capture URL tests",
|
||||
"command": "node --test browser-extension/tests/capture-url.test.mjs",
|
||||
"passed": 3,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"exitCode": 0,
|
||||
"durationSeconds": 0.0926257,
|
||||
"log": "extension-tests.log"
|
||||
},
|
||||
{
|
||||
"check": "Tracked-secret scan",
|
||||
"command": "C:/Users/Connor/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe scripts/supply-chain.py scan-secrets",
|
||||
"exitCode": 0,
|
||||
"result": "PASS; no high-confidence credential patterns found",
|
||||
"log": "tracked-secret-scan.log"
|
||||
},
|
||||
{
|
||||
"check": "Whitespace working tree",
|
||||
"command": "git diff --check",
|
||||
"exitCode": 0,
|
||||
"log": "whitespace-working-tree.log"
|
||||
},
|
||||
{
|
||||
"check": "Whitespace staged",
|
||||
"command": "git diff --cached --check",
|
||||
"exitCode": 0,
|
||||
"log": "whitespace-staged.log"
|
||||
}
|
||||
],
|
||||
"notes": [
|
||||
"Initial sidecar run also passed 49/49 but -p no:cacheprovider produced one config warning for the existing cache_dir setting. Repeated with cache_dir redirected under the owned artifact directory; final run passed 49/49 with zero warnings.",
|
||||
"PowerShell 5 labels unittest progress written to stderr as NativeCommandError in raw logs; all three scripts returned native exit code 0 with OK and the recorded test counts.",
|
||||
"All persisted logs, TRX/XML, pytest cache/temp and this summary are under ignored .artifacts/p5-release-decision/backend-static."
|
||||
],
|
||||
"boundaries": {
|
||||
"applicationOrTestEdits": false,
|
||||
"commits": false,
|
||||
"internetOrExternalServices": false,
|
||||
"modelCalls": false,
|
||||
"playwrightOrApiBrowser": false,
|
||||
"listeningPortsStarted": false,
|
||||
"dockerDaemonOrRuntimeOperations": false,
|
||||
"recovery": false,
|
||||
"productionAcceptanceClaim": false,
|
||||
"next": "Root owns remaining Part A UI/browser evidence and will request the final P5-14 rerun after the final change."
|
||||
},
|
||||
"resultFilesVerified": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user