15e5464da7
Reject final-admin demotion and deletion at the API boundary. Require explicit confirmation before any administrator role removal.
5.5 KiB
5.5 KiB
JobTracker master programme progress
Updated: 2026-08-15
- Overall programme status: Active. Seven packages are locally verified; twenty-two packages through UX-003 are implemented with automated/runtime evidence but blocked from applicable live/provider/production gates; JOBS-002 is now in progress. Gitea run 609 passes the prior complete pull-request CI; DEP-001 awaits approved merge-to-main and production verification.
- Current work package:
JOBS-002— dedicated application workspace and scan-friendly applications table (IN PROGRESS). URL-owned list state is pushed. The requested theme/admin safety increment is locally verified; dedicated/jobs/:idnavigation is next. - Completed work packages: None are
DONE; all repository security/AI packages still have applicable browser, provider and/or production gates. - Locally verified work: SEC-001, SEC-002, SEC-003, SEC-005A, CORE-001, PROD-002 and DEP-001 (
VERIFIED LOCALLY). - Implemented, verification incomplete: SEC-004, SEC-005B, SEC-008, CORE-002, BG-001, OPS-001A/B/C, POL-001/002, AI-001/002/003/004, UX-001/002/003, QA-001, CAREER-001/002, MAIL-001 and JOBS-001 (
IMPLEMENTED — NOT VERIFIED). UX-003 safe local/browser scope is implemented; production/native-device gates remain. - Production-verified work: None.
- Blocked work: SEC-006 parser upgrades remain outside the scoped frontend advisory permission; PROD-001/003/004 and REL-001 require documented production access and unfinished dependencies. Real provider, SMTP/MariaDB and production environments are unavailable; DEP-001 awaits approved merge/live verification. The in-app browser is available for local UI checks.
- Deferred work: None. Conditional multi-replica coordination, model deletion, realtime operation delivery and unrelated production changes remain outside current packages.
- Next five work packages: JOBS-002 applications/workspace; PRODUCT-001 homepage/Pro claims; VER-001 action matrix; production-blocked SEC-006/007 when package-index permission is available; REL-001 after prerequisites.
- Status counts: 7
VERIFIED LOCALLY; 22IMPLEMENTED — NOT VERIFIED; 1IN PROGRESS; 5NOT STARTED; 5BLOCKED; 0DONE; 0DEFERRED. - Test status: backend baseline 631/631 plus admin safety 4/4; frontend baseline 51/51 suites and 207/207 plus theme/confirm/admin focused 11/11; Playwright 6/6; npm audit 0 vulnerabilities; production build passes. Historical JT-019 and Jest force-exit/open-handle behavior remain recorded.
- Deployment status: Gitea pull-request run 609 passed the complete CI job in 4m20s. Deploy was intentionally skipped because the workflow deploys only a
pushtomain; live remains unchanged. No merge/deployment was performed directly, no production migrations were run and the AI operation worker remains disabled by default. - Production status: Unchanged and unverified. No provider/model call, model pull, external request or paid API occurred.
- Known regressions: None found by automated/local browser checks. Jest still needs
--forceExitand reports its existing open-handle notice. Email-provider/send tests are fake/local only; real delivery is not claimed. Current MAIL browser evidence is 1280×720 only because the browser surface could not resize or perform native Tab traversal. Interrupted attempts are aged after 15 minutes and notified without retry; the five-minute scan is unmeasured on a large ledger. Direct clean EF-only SQLite migration still hits the pre-existing historical blank-chain defect before later migrations; normal startup owns reconciliation. Cross-feature monthly AI usage accounting remains a rollout gap. - Outstanding security findings: JT-001 repository ownership remains High deployment risk until migration/inventory/provider checks; production portion of JT-002; JT-006/JT-009 and associated JT-011/JT-012/JT-022 prerequisites. JT-005 foundations are implemented; AI worker activation awaits controlled rollout. JT-007/JT-008/JT-010 lack browser/provider/production verification.
Current evidence
docs/audits/audit-remediation-backlog.mddocs/audits/verification-log.mddocs/verification/sec-001-canonical-origin.mddocs/verification/sec-002-ingress-compose.mddocs/verification/sec-003-microsoft-tenant.mddocs/verification/sec-004-microsoft-identity.mddocs/verification/sec-005a-session-revocation.mddocs/verification/sec-005b-email-ownership.mddocs/verification/core-001-sqlite-provider-parity.mddocs/verification/core-002-route-uniqueness.mddocs/verification/sec-008-attachment-consistency.mddocs/verification/bg-001-tenant-workers.mddocs/verification/ops-001a-durable-operations.mddocs/verification/ops-001b-notifications.mddocs/verification/ops-001c-operation-ui.mddocs/verification/pol-001-free-pro-entitlements.mddocs/verification/pol-002-ai-privacy.mddocs/verification/ai-001-durable-ai-queue.mddocs/verification/ai-002-provider-routing.mddocs/verification/ai-003-strategy-snapshot-queue.mddocs/verification/ai-004-cv-processing-queue.mddocs/verification/ux-001-unified-authentication.mddocs/verification/ux-002-deterministic-theme-state.mddocs/verification/qa-001-job-term-quality.mddocs/verification/career-001-career-workspace.mddocs/verification/career-002-cv-builder.mddocs/verification/mail-001-job-email-hub.mddocs/verification/jobs-001-job-discovery.mddocs/verification/ux-003-kanban-theme.mddocs/verification/prod-002-ai-evaluation.mddocs/work-programmes/master-work-plan.md