6.7 KiB
A3-IM08 AI and automation validation
3 November 2026. Owner approved "Approve calendar/documents/mail and A3-IM08". Isolated codex/a3-ui-08 starts at accepted IM07 fba80ef346bc021e675024638dacf9ccef7243db, with published acceptance receipt e5a979386d6377138e7ea7fd44958adb22838886. First bounded context fix a88310481fbfa7701478043e8bf192ee45c7c28e is published and independently remotely verified. Its immutable source/evidence record remains AI_CONTEXT_VALIDATION.md at that commit.
Result and preservation
Settings now has an Automation entry on desktop and mobile, using existing notification preference state and its explicit Save action. Its email-reminder switch is the same persisted preference shown in Notifications; changing sections preserves drafts. Links lead to AI privacy/usage, follow-up thresholds and individual saved-search alerts. Keyboard activation of the AI link focuses the existing settings group. Existing numeric section values and routes remain stable.
The copy follows actual service contracts: optional email delivery checks roughly every six hours, confirmed account address, at most one email per application per day. Six day thresholds influence reminders and optional Ghosted status processing; they are not pause switches. Per-search alerts and AI privacy have their existing owners. No workers, providers or backlog orchestration were activated or configured.
Section AI proposals now invalidate when context or section name changes, for pending responses and displayed reviews. Whole-document proposals now invalidate when output language changes, without generating again or applying the old result. A Pro account without AI entitlement sees manual-editing guidance and a Settings link instead of an upgrade prompt. Free-plan upgrade behavior and session dismissal remain intact.
The existing Career Profile owner, CV null-as-inherit settings, save queue, undo/history, revision preconditions, opaque proposal token and explicit review/apply remain authoritative. UI language stays separate from document output language. No renderer, API, schema, dependency, model configuration or provider permissions changed. Reverting IM08 source commits restores prior presentation; no database rollback is required.
Evidence
- 131 distinct frontend cases across eight suites PASSED. This is the union of Automation45, whole-document studio60, section assistant23, and notice/catalogue6 with three catalogue cases overlapping Automation45. Reports are under
evidence/ai-settings/frontendand the publishedevidence/ai-context/a3-ai-context-green.json. Older baseline58, parent59, pilot and independent-review reruns are not extra cases. Studio tests emit existing direct-focus React act warnings; this is not a warning-free test claim. - 68 local backend cases PASSED, no failures/skips: notification settings, tenant-bound worker fixtures, AI privacy policy, usage metering and CV AI readiness. Native TRX under
evidence/ai-settings/backend. InMemory/temp SQLite and mocked/captured providers; no MariaDB, model inference, real email or hosted CI qualification. - 16 controlled browser journeys and96 scoped axe scans/captures PASSED. EN/NB, light/dark,320/390/768/1440. Final report is
evidence/ai-settings/browser/BROWSER.json; capture refreshes overlap the same cases. Final captures wait for instant scroll-to-top; phones use viewport captures, tablets/desktop full-page captures. Representative phone EN/light and desktop NB/dark images were visually inspected. Six states exercise saved reminder preference, AI preference disabled, manual CV save without inference, proposal review, language-change discard and explicit token apply. Each journey intercepts five mutations and two proposal responses. No canonical-profile write is accepted by the fixture. Actual API/model responses are synthetic; this is not backend end-to-end or semantic AI/translation acceptance. - Typecheck, full ESLint, static-export build and scoped browser-script lint PASSED. One initial import-casing error failed build/typecheck and was corrected to tracked
accountPlan; subsequent checks passed. Initial browser pilot failed because a Select accessible name includes its value; selector corrected, pilot passed. An earlier unavailable export server and an accidental wrong test-runner invocation are not test evidence; package files are unchanged. - Independent source review found the same import-casing issue, corrected before final build. No remaining findings in shared drafts/save guards, AI focus, entitlement presentation or language invalidation. Its27 selected tests overlap the131 total. Final harness review found no actionable issues in interception or count assertions. AST-only graph refresh completed; optional SQL parser and symbol-less-file limits remain explicit. Generated graph stays local.
Red regressions remain available: context/name changes four failures before the fix; document-language one failure; missing Automation contract three failures; paid-plan notice two failures. Filtered cases were not executed in those red runs. Initial capture/pilot reports do not inflate final coverage.
Open qualifications and next gate
Granular user pause for automatic Ghosted status processing is not represented by the existing six-number rules contract. It remains a capability gap; no fake switch or silent schema expansion was introduced. Existing AI preference changes are reflected by server-backed entitlement hydration on a full page reload, as exercised here. The card does not currently refresh the mounted App entitlement context after saving, so internal navigation alone can retain stale presentation until reload; backend enforcement remains authoritative. This existing UX gap is OPEN. Reusing the auth-changed event blindly would set authResolved false and risks unmounting drafts; investigate a safe refresh separately. This increment adds no new session or entitlement authority.
NOT RUN: live models, semantic output quality, paid/real providers, physical PDF, native device/screen reader, full integrated security, recovery/restore, hosted CI or production checks. Complete European localisation, Phase10 acceptance, Global Jobs dependencies, public launch and release readiness remain open. Root security policy remains on its isolated security branch.
The approved implementation proposal requires Gate F: owner milestone review before the next increment. After final publication/readback, request acceptance of IM08 and progression to IM09 account/session/connections/data/admin/processing presentation, preserving RBAC, owner isolation, last-admin/session safeguards and explicit destructive-action confirmation. No main merge, deployment, live-model activation or additional provider authority is included.