docs(cv): record durable processing trace
CI and Deploy / test (pull_request) Failing after 1m39s
CI and Deploy / deploy (pull_request) Has been skipped

This commit is contained in:
cesnimda
2026-08-09 13:27:19 +02:00
parent 89b9cdd92d
commit 39e98049ea
3 changed files with 18 additions and 17 deletions
+1
View File
@@ -132,6 +132,7 @@ Output was reduced to filenames and commit counts. The token artifact appears un
| ID | Exact command | Directory | Purpose | Result | Relevant errors or warnings | Failure classification |
|---|---|---|---|---|---|---|
| V-104 | Bounded `rg`/`Get-Content` of `ProfileCvController` partials, `CvProcessingQueue`, extraction models/registration, Profile UI polling/tests and proxy timeout configuration | Repository root | Revalidate AI-004 upload/queue/restart/review path before design | PASS/PARTIAL — upload is synchronous through parser and multiple model-capable stages; reprocess/rebuild/improve persist runs and return 202, but an unbounded process channel supplies wakeups and no AI-001 operation/provenance/cancellation contract exists. Startup scans queued/running runs | No browser/private CV/parser payload/model/MariaDB/production execution; 504 origin not live-reproduced | Confirmed code-path gap plus environmental blockers |
| V-101 | Bounded `rg`/`Get-Content` trace of Strategy button, Focus Plan tab/cache, controller/model calls, owner filters, proxy/queue/routing configuration and tests | Repository root | Revalidate AI-003 complete execution path before design | PASS — one UI action could start candidate fit plus four sequential synchronous focus-plan model calls; Pro and owner filters existed, durable state did not | Live timeout reproduction blocked; this is code-path evidence | Application-related |
| V-102 | `dotnet test ... --filter "...StrategySnapshotOperationTests|...AiWorkspaceNotePersistenceTests|...AiOperationQueueTests|...ProEntitlementAuthorizationTests"`; `npm.cmd test -- job-details-generated-drafts.test.tsx --runInBand --forceExit` | Repository root / `job-tracker-ui` | Focused 202/handler/cache/tenant/provider-shape and queued/cancel/fail/retry UI checks | PASS — backend 34/34; frontend 6/6 | Fake model only; Jest reports the existing force-exit/open-handle notice | N/A |
| V-103 | Full `dotnet test ... --no-restore`; full `npm.cmd test -- --runInBand --forceExit`; `npm.cmd run build`; `git diff --check` | Repository root / `job-tracker-ui` | AI-003 regression, TypeScript production build and patch hygiene | PASS — backend 592/592; frontend 47/47 suites, 160/160; build; no whitespace errors | Initial sandboxed build attempted blocked NuGet restore; previously approved build path restored from existing cache and passed. Line-ending notices only | Environmental command path corrected |
+3 -3
View File
@@ -542,10 +542,10 @@ Ordering differences from the suggested list:
- **Required browser verification:** synthetic CV first; authorized private file via temporary local copy only, never logged/committed/external.
- **Required production verification:** synthetic/local-only canary, no external payload, restart recovery.
- **Status:** `IN PROGRESS`.
- **Blocker:** security/queue dependencies; source file availability is not required for synthetic root-path work.
- **Evidence:** audit parser path; reported private-file 504 not yet reproduced.
- **Blocker:** SEC-006 dependency upgrades need internet permission; browser/private-file/MariaDB/production reproduction remains unavailable. Synthetic repository work can continue.
- **Evidence:** initial V-104 trace: upload still performs extraction/normalization/model work synchronously; reprocess/rebuild/improve return 202 into an unbounded in-memory channel backed by persistent `CvExtractionRun` rows and startup scanning, but do not use AI-001 operation admission/status/notification/provenance/cancellation.
- **Commit:** none.
- **Remaining work:** trace current response duration before migration.
- **Remaining work:** define one `cv.process` operation referencing the extraction-run ID; make upload artifact/run creation return 202; replace channel wakeups with the typed handler; preserve pending-review acceptance; align cancellation/failure/provenance/deduplication; add safe synthetic parser/provider/restart/UI tests. Do not duplicate raw CV data into `UserOperations` or inflate timeouts.
### UX-001 — Unified authentication page
+14 -14
View File
@@ -2,17 +2,17 @@
Updated: 2026-08-09
- **Exact current task:** AI-004 — revalidate the CV upload/reprocess/rebuild/improve browser-to-parser-to-model path and migrate long work to the shared durable operation contract without bypassing human review.
- **Last completed step:** AI-003 replaced synchronous Focus Plan GET generation with typed `strategy.snapshot` admission/handler/result persistence and explicit queue/cancel/retry/failure/completion UI. Implementation commit: `a621226`; evidence: V-101V-103 and `docs/verification/ai-003-strategy-snapshot-queue.md`.
- **Files currently modified:** none after the AI-003 implementation and tracking commits. Preserve any new user edits discovered on resume.
- **Commands already run:** bounded source/document tracing; backend builds; focused backend tests; focused frontend tests; full backend/frontend suites; frontend production build; diff/status checks; staged and committed only AI-003 files. Exact results are V-101V-103.
- **Test results:** backend 592/592; AI-003 focused backend 34/34; frontend 47/47 suites and 160/160 tests; AI-003 UI 6/6; production frontend build pass; diff check pass. Fake model/synthetic data only.
- **Services currently running:** none started by this session. The prior Node/Jest/build processes exited. Pre-existing Docker services were not changed.
- **Temporary files or processes:** no new temporary file or process remains. A sandboxed build initially attempted a blocked NuGet restore; the approved build path reused/restored the existing local cache and passed. No dependency declaration changed.
- **Production changes currently active:** none. No deployment, provider/model call, model pull, paid service, production migration or external payload occurred.
- **Rollback status:** keep `Workers:AiOperationsEnabled=false`, revert `a621226`, and cancel/drain any queued `strategy.snapshot` rows before removing the handler. No AI-003 schema/dependency change; existing additive operation/note tables can remain.
- **Uncommitted changes:** none expected after the tracking commit. Confirm with `git status --short --branch` before AI-004 edits.
- **Known failures:** browser localhost denied; MariaDB/SMTP/production unavailable; SEC-006 upgrades require explicit internet/package-index permission; historical clean EF-only SQLite chain still requires startup reconciliation; Jest reports the existing force-exit/open-handle notice. Cross-feature monthly AI usage accounting is incomplete.
- **Exact next action:** trace `ProfileCvController` upload/reprocess/rebuild/improve, `CvProcessingQueue`/worker, extraction-run/artifact persistence, sidecar parser/model calls, frontend polling and nginx/Traefik timeouts; classify which work is already durable and where 504 exposure remains before changing code.
- **Work that can continue independently:** AI-004 repository tracing, safe synthetic fixtures, typed operation integration and fake-provider/parser tests. UX-001/QA-001 can follow foundations. SEC-006/007 await package-index permission; PROD-001/003/004 await production access.
- **Decisions still required from the user:** none for repository-only AI-004 work using synthetic data/fakes. Internet/package upgrades, private CV access, external/paid providers and production actions still require the existing explicit authority and safety gates; SEC-009 retention/legal policy remains unresolved.
- **Exact current task:** AI-004 — design the smallest `cv.process` bridge from persistent `CvExtractionRun` domain state into AI-001 operations, then migrate synchronous upload without weakening parser limits or the human review gate.
- **Last completed step:** complete initial AI-004 execution trace (V-104). Upload saves an artifact/run and performs extraction, reconstruction, classification/normalization and structured parsing synchronously before returning. Reprocess/rebuild/improve already return 202 with persistent run IDs, but wake an unbounded process-local channel; startup scans queued/running runs. They lack centralized operation admission, cancellation/deadline/retry/provenance and generic persistent notifications.
- **Files currently modified:** none after the AI-004 trace tracking commit. Preserve any new user edits discovered on resume.
- **Commands already run:** AI-003 source tracing/build/focused/full tests/frontend build/diff/commits (V-101V-103); AI-004 bounded controller/partial/queue/model/UI/proxy/registration trace (V-104).
- **Test results:** backend 592/592; AI-003 focused backend 34/34; frontend 47/47 suites and 160/160 tests; AI-003 UI 6/6; production frontend build and diff check pass. Fake model/synthetic data only.
- **Services currently running:** none started by this session. Node/Jest/build processes exited. Pre-existing Docker services were not changed.
- **Temporary files or processes:** none created for AI-004. No dependency declaration, database or artifact was changed.
- **Production changes currently active:** none. No deployment, provider/model call, private CV access, model pull, paid service, production migration or external payload occurred.
- **Rollback status:** AI-003 rollback is documented in `docs/verification/ai-003-strategy-snapshot-queue.md`; AI-004 has no code to roll back yet. Worker switches remain default-off.
- **Uncommitted changes:** none expected after the AI-004 trace tracking commit. Confirm with `git status --short --branch`.
- **Known failures:** browser localhost denied; MariaDB/SMTP/production unavailable; SEC-006 upgrades require explicit internet/package-index permission; historical clean EF-only SQLite chain needs startup reconciliation; Jest reports its existing force-exit/open-handle notice. AI-004 live 504 and restart behavior are not claimed.
- **Exact next action:** specify the typed `cv.process` subject/idempotency contract and change `ProcessQueuedRunAsync` to return/throw a classified result suitable for `IAiOperationHandler`; then make upload persist a queued run and return 202. Keep `CvExtractionRun` as review/result domain state and `UserOperation` as orchestration state—no raw CV payload or second CV queue.
- **Work that can continue independently:** repository-only AI-004 producer/handler work with synthetic files/fake parser/provider; frontend durable-state tests; existing parser-limit tests. SEC-006/007 await package-index permission; PROD-001/003/004 await production access.
- **Decisions still required from the user:** none for synthetic repository work. Internet/package upgrades, private CV access, external/paid providers and production actions retain their explicit approval/safety gates; SEC-009 retention/legal policy remains unresolved.