Files
jobtrackingapp/docs/verification/application-action-matrix.md
T
cesnimda 1ec9dd037e
CI and Deploy / test (pull_request) Successful in 5m13s
CI and Deploy / deploy (pull_request) Has been skipped
feat(export): add readable account archive
2026-08-15 18:36:40 +02:00

12 KiB

Application action verification matrix

Updated: 2026-08-15

This is the rolling action-level evidence index. PASS (automated/runtime) is not a browser or production claim.

Area Action Automated/API result Browser Production Evidence
Origin reject unknown/malformed production host PASS BLOCKED NOT RUN sec-001-canonical-origin.md
Ingress production host-port and forwarded-proxy contract PASS (config) N/A NOT RUN sec-002-ingress-compose.md
Microsoft tenant/issuer validation PASS BLOCKED NOT RUN sec-003-microsoft-tenant.md
Microsoft canonical link/relink/unlink isolation PASS BLOCKED NOT RUN sec-004-microsoft-identity.md
Sessions logout/reset/recovery revocation PASS BLOCKED NOT RUN sec-005a-session-revocation.md
Email register/verify/pending-change ownership PASS BLOCKED NOT RUN sec-005b-email-ownership.md
Career/API SQLite variants/runs/usage/history/workspace PASS BLOCKED NOT RUN core-001-sqlite-provider-parity.md
Application workspace timeline/interview board/generated brief routes and owner isolation PASS BLOCKED NOT RUN core-002-route-uniqueness.md
Attachments upload/list/download PASS BLOCKED NOT RUN sec-008-attachment-consistency.md
Attachments metadata rename/purpose/AI flag PASS BLOCKED NOT RUN sec-008-attachment-consistency.md
Attachments delete/restart recovery/two-user denial PASS BLOCKED NOT RUN sec-008-attachment-consistency.md
Workers two-owner rules, export, reminders and enrichment PASS (real SQLite; fake email/AI) PARTIAL — notification popover/navigation verified; worker execution is not a browser action NOT RUN; switches off bg-001-tenant-workers.md, V-172
Durable operations idempotent create/claim/lease/retry/cancel/complete PASS (real SQLite) NOT APPLICABLE until API/UI slice NOT RUN ops-001a-durable-operations.md
Notifications atomic terminal record, owner list/read/dismiss PASS (real SQLite; forced rollback) NOT APPLICABLE until API/UI slice NOT RUN ops-001b-notifications.md
Operations UI owner list/detail/cancel/retry and persistent notification surface PASS (two-user HTTP + components) PARTIAL — notification bell/panel route verified NOT RUN ops-001c-operation-ui.md, V-172
Entitlements Free direct request to every explicit AI action PASS (policy/route inventory) BLOCKED NOT RUN pol-001-free-pro-entitlements.md
Entitlements stale Pro claim after downgrade PASS (live-role policy test) BLOCKED NOT RUN pol-001-free-pro-entitlements.md
Entitlements queued CV and enrichment worker recheck PASS (fake AI; real SQLite worker scopes) N/A NOT RUN; workers off pol-001-free-pro-entitlements.md
Entitlements Free core job create/detail and deterministic match data PASS (automated) BLOCKED NOT RUN pol-001-free-pro-entitlements.md
Entitlements Free locked AI Workspace/Career/CV Builder/job-assistance states PASS (components) PASS/PARTIAL — Free Career/Settings locked state, dismissal and manual editing in Chromium NOT RUN pol-001-free-pro-entitlements.md, V-172
Entitlements Pro/Admin AI admission PASS (automated policy) BLOCKED NOT RUN pol-001-free-pro-entitlements.md
AI evaluation synthetic task/category/privacy/constraint fixture coverage PASS (19 cases; validator) N/A N/A prod-002-ai-evaluation.md
AI privacy disable AI for a current Pro user PASS (live database policy + worker tests) BLOCKED NOT RUN pol-002-ai-privacy.md
AI privacy external /cv/* without administrator gate or user consent PASS — forced local in backend/sidecar tests BLOCKED NOT RUN pol-002-ai-privacy.md
AI privacy approved external route with synthetic payload PASS (mocked transport only) BLOCKED NOT RUN pol-002-ai-privacy.md
Durable AI Pro admission, idempotent status URL and bounded capacity PASS (real SQLite + synthetic subject IDs) BLOCKED until real producer NOT RUN; worker off ai-001-durable-ai-queue.md
Durable AI priority/task-filtered atomic claim and owner-scoped success PASS (fake handler, real operation/notification state) N/A NOT RUN ai-001-durable-ai-queue.md
Durable AI retryable failure, downgrade recheck, lease/cancel/restart recovery PASS (automated) BLOCKED until real producer NOT RUN ai-001-durable-ai-queue.md
AI routing local primary success and no parallel external call PASS (fake transports) N/A NOT RUN ai-002-provider-routing.md
AI routing consent/admin/task/config/prompt-cap fallback denial PASS (backend + sidecar policy tests) BLOCKED NOT RUN ai-002-provider-routing.md
AI routing schema/local-outage/circuit fallback and external failure PASS (fake transports) BLOCKED NOT RUN ai-002-provider-routing.md
AI routing actual provider/model/route persistence on success/failure PASS (real SQLite operation/history state; fake provider) BLOCKED until real producer NOT RUN ai-002-provider-routing.md
Strategy Snapshot Pro enqueue returns 202; active/double-click request is idempotent PASS (real SQLite; fake model) BLOCKED NOT RUN; worker off ai-003-strategy-snapshot-queue.md
Strategy Snapshot queued/running/retry/failure/cancel/completion UI and cached result refresh PASS (component tests) BLOCKED NOT RUN ai-003-strategy-snapshot-queue.md
Strategy Snapshot owner-scoped rehydration/result/operation and no partial malformed output PASS (real SQLite; fake model) BLOCKED NOT RUN ai-003-strategy-snapshot-queue.md
CV processing upload 202, active duplicate reuse, owner-scoped execution and review gate PASS (real SQLite; synthetic CV/fake provider) BLOCKED NOT RUN; worker off ai-004-cv-processing-queue.md
CV processing retry provenance, durable refresh state and cancel/retry controls PASS (backend + component tests) BLOCKED NOT RUN ai-004-cv-processing-queue.md
Authentication UI unified username/password and provider alternatives; invalid/cancel/return behavior PASS (components; mocked providers) PASS/PARTIAL — Light/Dark 375/768/1440 local form; real providers not run NOT RUN ux-001-unified-authentication.md, V-172
Theme state Light/Dark/System precedence, login/logout scope, refresh/navigation and two-tab synchronization PASS (state/provider/bootstrap tests) PASS/PARTIAL — anonymous local browser at 375/768/1440 NOT RUN ux-002-deterministic-theme-state.md
Accessibility icon control names and keyboard-operable CV cards PASS (components + static audit) PASS/PARTIAL — Chromium keyboard activation NOT RUN accessibility-evidence.md, V-170
Accessibility dark semantic Alert text contrast PASS (theme ownership) PASS — computed Chromium contrast >= 4.5:1 NOT RUN ux-002-deterministic-theme-state.md, V-170
Public CV responsive A4/multi-page framing without inner or outer overflow PASS (component) PASS — 375px Chromium NOT RUN accessibility-evidence.md, V-170
Public plans exactly Free/Pro; no invented tier, price, interval, trial or unlimited claim PASS (catalogue + landing components) PASS — Light/Dark at 375/768/1440 NOT RUN product-001-honest-plans.md, V-171
Public plans Free registration and Pro sign-in-to-Settings actions PASS (component) PASS — keyboard activation NOT RUN product-001-honest-plans.md, V-171
Account export recent-sign-in/rate-limit gate; complete redacted owner ZIP, files, warnings and checksums PASS (real SQLite + components) PASS — fresh synthetic Free download response and success state NOT RUN with production data sec-009-account-lifecycle.md, V-174
Pro promotion benefit-specific locked notice, preserved-data copy and session dismissal PASS (components) NOT RUN on every contextual surface NOT RUN product-001-honest-plans.md, V-171
Billing presentation checkout/portal only when server status permits; unconfigured deployment disclosed PASS (components + policy slice) NOT RUN with configured Stripe NOT RUN product-001-honest-plans.md, V-171
Admin safety self/other Admin demotion confirmation and final-admin API protection PASS (controller + components) NOT RUN NOT RUN V-161
Deployment identity admin-only version/commit badge; absent for normal users PASS (API + shell components) PASS — configured synthetic Admin/Free accounts NOT RUN V-166, V-172
Notifications bell opens recent-notification panel without routing to Reminders PASS (components) PASS — anchored panel, URL unchanged, keyboard-accessible close NOT RUN ops-001c-operation-ui.md, V-163, V-172
Job discovery source provenance, search/sort/import and duplicate handling PASS (backend + components) PASS/PARTIAL — mocked responsive Light/Dark reviewed import NOT RUN against live NAV jobs-001-job-discovery.md
Applications list URL-owned filters/sort/page; whole-row open; row-control isolation; focus return PASS (components) PASS — keyboard open and focus return NOT RUN jobs-002-application-workspace.md, V-169
Application workspace direct/deep link, refresh, history, dirty navigation, long data and missing job PASS (API + components) PASS — Light/Dark 375/768/1440 NOT RUN jobs-002-application-workspace.md, V-169
Kanban themed board, pointer/keyboard movement, invalid/error/empty states PASS (components) PASS — Light/Dark 375/768/1440 and drag NOT RUN ux-003-kanban-theme.md
Job match terms bilingual/noisy/short/technology-heavy/filler extraction and honest labels PASS (seven fixtures + component tests) NOT RUN NOT RUN qa-001-job-term-quality.md
Career Workspace first/returning/incomplete/loading/import processing/review/failure, reviewed-field persistence and recent CV actions PASS (components + API; approval gate regression) PASS/PARTIAL — Admin/Free, Light/Dark and 375/768/1440 route/manual-edit checks NOT RUN with private CV career-001-career-workspace.md, V-167, V-172
CV Builder edit/collapse/add/delete/reorder/hide, save states/latest-data retry, navigation warning and preview failure/retry PASS (components) PASS/PARTIAL — authenticated editor Light/Dark at 375/768/1440 NOT RUN career-002-cv-builder.md, V-172
CV rendering long names/URLs, many entries/skills, multi-page preview/PDF and readable palettes PASS (renderer + UI) PASS — pathological local Chromium/PDF, responsive public frame NOT RUN with production browser career-002-cv-builder.md, V-165/V-168/V-170
Job email hub linked/review view switching, Gmail decision component reuse and legacy route redirect PASS (components; mocked provider data) PASS/PARTIAL — local empty/disconnected 1280px and legacy redirect NOT RUN mail-001-job-email-hub.md
Job email hub provider status, owner-scoped search/detail and saved-copy fallback PASS (fake providers + components) PARTIAL — disconnected status/empty filter only NOT RUN mail-001-job-email-hub.md
Job email send explicit confirmation, owner isolation, idempotency, failure/uncertainty and restart recovery PASS (real SQLite + fake providers) NOT RUN NOT RUN mail-001-job-email-hub.md
Job email send content-free encrypted/daily export and hard-job-delete cascade PASS (real SQLite) N/A NOT RUN mail-001-job-email-hub.md
Follow-up draft generate/edit/copy and open canonical Job email; legacy direct SMTP returns 410 PASS (backend + components) NOT RUN NOT RUN mail-001-job-email-hub.md

The matrix distinguishes component/API, local Chromium, mocked-provider and production evidence. Remaining NOT RUN/PARTIAL cells require configured external providers, native assistive technology, private/synthetic production data or a deployed release; they are not silently promoted by the local regression pass.