Files
jobtrackingapp/docs/redesign/phase-5/p5-15/p5-15-01/JOURNEYS_AND_CONTROLS.md
T

12 KiB

Native journeys, actionable controls and evidence limits

Source 932b962b9038ddb5ad59b982c0199475bfb50454; unchanged application. This record distinguishes current browser/API execution from fixture presentation and source review. The full original behaviors and remaining requirements remain in PRES_RESULTS. A route header, HTTP 200 or component render alone does not establish a completed workflow.

The fresh full browser report runs every inherited case; the new census is rerun after correcting test-only locator/request-owner assumptions. Browser evidence records individual attempts and initial failures; native fixtures do not call external services. Account bootstrap/record creation is API fixture setup unless the table explicitly describes UI creation. Fault injection checks feedback/retry, not actual provider availability.

Functional journeys and controls actually exercised

Workstream / actions Executable evidence / observed contract Boundary and remaining proof
Public/local authentication Smoke, new census: public plans/keyboard, local form submit/session, configured-disabled registration, missing token feedback, protected anonymous redirect, login-return query diagnostic Provider sign-in, reset-mail delivery, real Turnstile, authenticator/recovery-device and every sensitive account control remain unverified. Query retention is a confirmed failure, not a native auth acceptance pass
Account switch/stale requests Isolation: real cookies/session/CSRF; retained A profile request using B context fails; missing/forged context; two-tab private-form disposal and Back; foreign CV read/update/delete/job-association denied Finite local session/browser behavior; real BFCache/offline/browser/device combinations remain open. UI hiding does not establish API security
Navigation and utilities Shell, preservation: drawer/rail/group menus, current routes, command keyboard/Enter/Escape/focus return, search, notification read/dismiss/error states, dirty CV Cancel Some command/notification fixtures inject delayed or failed responses. Spoken names/live announcements and all physical-device interactions remain NOT VERIFIED
Job creation Smoke uses actual reviewed Add flow and observes the created role; company is supplied as UI fixture input. Import review is exposed without silent creation The role observation is not full company readback. Discovery search/import browser responses are synthetic provider fixtures. Real external URL scraping/NAV availability and every acquisition source require approved provider evidence
Jobs/Trash actions Density: search/filter/sort/page/selection/status/actions, Comfortable/Compact, desktop/tablet/cards, job open/Browser Back focus, deleted scope/restore and reload Real owned records and API readback; loading fault is deliberately injected. Saved views/bulk partial failure and every long-tail field remain under backend/component evidence or outstanding native proof
Integrated Board Board: exact Table/Board matching IDs/query, custom statuses, pointer move, keyboard alternative, persisted status, error/focus, compatible /kanban hash/history; new 250-row case compares seeded/paged/Table/API/DOM IDs Failed-move/loading fixtures intentionally inject errors. Finite 250-row result uses 17 normal 15-row Table reads and one full Board population read; no scaling/latency maximum or physical touch acceptance is inferred
Dashboard summary/preferences Dashboard: native seeded metrics/exact values, useful links, five owner-local visibility flags, account switch/empty states; independent errors/retry preserve other sections Owner-local visibility is separate from server language/reminder preferences. Native language/notification overlap is diagnosed separately; earlier HTTP 500 debt is not closed by a translated page
Analytics Analytics: native recorded cohorts/period/drill-down/exact alternatives, current versus historical definitions, second-account data; independent fault/retry Fault injection is not backend failure qualification. No historical response/conversion denominator or new metric is invented; production timezone/provider and human chart interpretation remain open
Job identity/Overview Overview: real custom status/header/metadata/edit/original-listing actions, alias/direct entry/mobile keyboard; missing/foreign/error/retry Some failure states are injected; actual foreign/missing Job entry+refresh is additionally tested with real native 404 and no private identity
Workspace navigation/drafts Sections, preservation: seven canonical/legacy URL sections, Back/Forward/reload, dirty cover-letter/answer Cancel/Discard, named keyboard navigation and retained query/followMode followMode remains metadata only. GET Overview may create/recompute deterministic owned checklist rows: no mutation HTTP request does not prove zero server DB writes
Frozen application/documents Preservation/sections: owned CV and cover letter, answers/attachments, native capture/immutable JSON readback and archived-file download after current source edit/attachment deletion. Separately, fresh backend native package/ZIP extraction proves bytes/manifest relationships Browser capture/download is not ZIP creation/extraction proof. P2-D01 is an ordinary passing native case. This does not create a new global Documents route or imply current source equals historical snapshot; archive-specific immutable bytes/metadata and recorded relationships are authoritative
Tasks/notes/interview/timeline Sections use real manual checklist/preparation/correspondence fixtures and UI completion/edit/navigation/readback, sparse/no-data presentation and retained timeline/history Notes, checklist items, calendar/reminders and correspondence are distinct domains. External calendar writes, notification scheduler delivery, every CRUD combination and AI provider output remain unverified
Career Profile and CV boundaries Scope, preservation/responsive: canonical source, selected/sibling CV, override/reset/omission/custom entry, save/readback and persisted section order; canonical remains unchanged by CV edit Long-tail canonical import/raw-history/provider extraction and all entry types require more evidence. Settings revisions do not imply a newly invented complete canonical-profile snapshot
CV frame/edit controls Frame, responsive: identity, save/unsaved, undo/redo/history access, named editor/preview, section selection/visibility/order, persisted reorder, draft/conflict/recovery, edit→preview→edit retention Underlying conflict/revision safety also has fresh five-case backend proof. Error/conflict injection identifies UI recovery semantics; all real multi-device editing races remain outside these fixtures
Preview and PDF Keyboard, presentation, corpus: named keyboard entry/scroll/exit/return, fit/page count, retained last-good pages while loading/error, standard native exports Fresh measured 16/16 and 36=36 at unchanged tolerances. No renderer geometry change. Production fonts/photos, human zoom/AT and arbitrary-content combinations remain open
Template/document controls Settings: selected IDs, accent/input validation, reset/default distinctions, advanced controls, focus/menu, saved/revision settings and live render/export Eight native before/after exports, 24=24 pages; finite combinations. Intentionally locked paid templates/actions are not broken enabled controls
Public CV Smoke uses API fixture setup to publish a synthetic CV, then anonymous HTML/PDF download; frame exercises UI revocation. Ownership backend cases and new census test unpublished slug and foreign/private numeric editor API setup is not UI creation/publication proof. Production rendering and all publication lifecycle UI steps are not certified by one finite export
Settings Layout, preservation: tabs/mobile selector, rule edit across viewport then Save, API readback/reload, native notification save, connected-account links, named controls Saved-before-tab-switch is not proof of unsaved draft retention. Separate desired-behavior diagnostics exercise tab unmount and concurrent writes; failures remain explicit
Administration New native census: actual normal-account403 versus admin200 on each Admin route, absence of the literal synthetic bootstrap identity on denial and hidden admin metadata for normal identity; fresh backend role/self/last-admin/maintenance tests The absence assertion is not exhaustive response redaction. Navigation/GET success is not proof of audit Undo, every destructive user control, provider probes or production maintenance. No admin reset/delete/probe is executed against real accounts/infrastructure
Existing AI and production withholding Fresh deterministic backend 108, sidecar49 and real-HTTP2: provider/evaluator fixtures, stale/ownership/history protections, Production CV review503 before provider/write while unrelated AI remains operational under its fixture No configured deployed model qualification, 0/366 calls, 0 human reviews. P5-13 review UI remains deferred and withheld; deterministic application safety is not semantic/human acceptance

Control and persistence conclusions

Saved-search run/pause/delete/dismiss controls depend on a failed native list read; the UI suppresses the load error. This is a real P1 workflow finding despite an existing route and green InMemory tests. Login loses query context. Rules loses an unsaved draft on tab return; three concurrent language/notification save rounds succeeded without closing the historical500. See defects for exact reproductions/severity/owners.

The new census/foreign cases use alert.first() for a generic alert check; the Next route announcer may satisfy that assertion. They prove native403/404 and the named private-content absence checks, not specific visible error feedback. Existing named error/retry fixtures remain separate evidence. New role-census tests finish all route observations with soft native-read assertions but still fail on each500; the login-query assertion also remains an ordinary failure. Nothing is skipped or marked an expected failure.

Finite native readback/reload proves tested Jobs status/trash, CV selected/sibling/source settings, task/draft and frozen-package behavior. It does not prove all CRUD features or every conflict/retry edge. Existing unsupported/unavailable/locked billing, provider and unqualified CV-AI controls remain distinct from accidental failures. No original destination is removed by this checkpoint; the current census reconciles original31 plus Analytics, including retained aliases and their actual metadata limits.

Browser keyboard/screenshot/axe evidence is automation plus bounded agent visual inspection. No human screen-reader, actual mobile software keyboard, physical touch or deployed infrastructure acceptance is supplied. Those remain explicit requirements for subsequent authorized checkpoints; this audit does not begin P5-15-02.