2.8 KiB
2.8 KiB
CORE-001 — SQLite/provider parity verification
Date: 2026-08-02
Result
VERIFIED LOCALLY. The audited SQLite DateTimeOffset failures are fixed without changing stored types or MariaDB query behavior. Production MariaDB execution and browser verification remain outstanding.
Implementation
- SQLite materializes only owner/job-scoped CV variants, extraction runs/artifacts and AI rows before
DateTimeOffsetordering or range comparison. - MariaDB retains server-side ordering, range filtering, aggregation and pagination.
- The correction also covers CV retention cleanup and reprocess-artifact selection.
- No schema, dependency or deployment configuration changed.
Automated evidence
- Focused affected-service suite: 81/81 passed.
- Real-provider compatibility suite: 3/3 passed in
SqliteDateTimeOffsetCompatibilityTests.- SQLite relational database: newest-first CV/history/workspace/assets, current-month/all-time AI usage, generation entitlement query, extraction runs, latest artifact and owner isolation.
- MariaDB/Pomelo: production ordering and range expressions generate SQL without opening a network connection.
- Full backend regression: 509/509 passed.
git diff --check: passed (line-ending notices only).docker compose config --quiet: passed with expected unset optional-variable warnings.
Runtime evidence
An isolated API used a disposable fresh SQLite root and synthetic example.test accounts only:
| Check | Result |
|---|---|
/health |
200 |
| registration | 200; local cookies only |
/api/cv/variants |
200 [] |
/api/profile-cv/runs |
200 [] |
/api/ai/usage |
200, zero usage |
/api/jobapplications/1/ai/history |
200 [] |
| missing workspace | 404 |
| synthetic owner workspace | 200 with correct company/job/checklist aggregate |
| same workspace as User B | 404 |
| User B variants | 200 [] |
The exact isolated API process was stopped and port 5303 was confirmed closed. Logs and disposable evidence are under docs/audits/evidence/core-001-runtime/; no secret or personal data is present.
Limitations
- Browser localhost access remains denied by the in-app browser administrator policy; no browser claim is made.
- Disposable MariaDB 11.8 execution now passes for a fresh application start and restart with all 29 migrations and 49 tables. Production MariaDB execution remains unverified.
- Direct
dotnet ef database updateagainst a blank SQLite file now reaches the latest migration and is idempotent. A populated older checkpoint preserves its job data through the same chain, and real application startup over the EF-only database serves/health(V-186). The broader migration/reconciler dual-ownership architecture remains JT-019 debt. - Execution policy denied deletion of the exact disposable nested data directory; it is stopped and recorded in the session handoff.