docs(cv): record durable processing trace
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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-101–V-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-101–V-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-101–V-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.
|
||||
|
||||
Reference in New Issue
Block a user