Files
jobtrackingapp/docs/redesign/phase-2/TRACEABILITY.md
T
cesnimda d6d3dd977d test(redesign): establish preservation baseline
Map 57 capability groups before restructuring. Add behavioral regression coverage and a standalone TypeScript gate; retain the native SQLite package failure as separate baseline debt.
2026-09-10 12:53:06 +02:00

7.4 KiB
Raw Blame History

Redesign traceability

Phase 2 starts at 2d0f131. The preservation matrix is the stable baseline: PRES-E01…PRES-A03, in the original ledger's groups (not one contiguous numeric range). Old references such as C07 remain valid aliases. Subdivide a later workflow with a suffix, for example PRES-C07.override-reset; do not reuse an ID or silently change its meaning.

Required chain for each later change

PRES-ID → requirement/source contract → implementation commit + changed owner → regression test + executed result → visual/UX evidence

The requirement for every current PRES-ID is its complete original row in FUNCTIONALITY_INVENTORY.md, including the source contract. A proposed new requirement uses a separate NEW-xxx ID referencing the product brief; it cannot overwrite a PRES requirement. Defects use their original audit IDs or the separate P2-D IDs below, not “preserve the broken behavior.”

For every implementation PR/session, add a row to this file (or link its scoped trace sheet here) with:

Field Required evidence
PRES-ID / requirement Original ledger group plus the precise sub-workflow being changed; target-brief requirement if applicable
Baseline → destination Existing route, capture/query/alias/keyboard entry and intended location; preserved/relocated/merged/explicitly deprecated
Implementation Commit SHA, affected components/API owners, reason for the change; “unchanged” is valid but not “done”
Automated regression Named behavioral test, file, command/result and provider/test layer; include negative/dirty/error cases
Visual/UX validation Screenshot/video or review artifact with route, populated/empty/error/locked state, viewport, theme, locale, keyboard/focus result and date
Gaps / decision / reviewer Known baseline defects and intentional missing proof; approval reference only when semantics/deprecation need it

No screenshot alone proves data preservation. No mocked API test alone proves ownership. No successful localhost run proves F04. A shifted feature remains protected after moving to another page.

Phase 2 changes (test/CI checkpoint only)

All application implementations and routes remain at their Phase 1 behavior. The commit containing this document identifies the Phase 2 implementation of regression protection, not a product migration. Use git log -- docs/redesign/phase-2 to resolve its SHA without a self-referential commit placeholder.

PRES IDs → existing requirement Phase 2 change → automated oracle Visual/UX evidence
E07, J04 → command job/company/add entry and reviewed capture quick-command-preservation: three cases; destinations, callback and no-create boundary No visual redesign. Native browser keyboard search/add evidence below
C11 → per-section review never implicitly applies ai-section-assistant: reject/close, edit then accept, failed suggestion retry jsdom interaction only; no model or visual certification
C07, C11 → whole-document review changes only accepted CV settings cv-builder-deep-link: apply/reject and invalid/missing/duplicate block responses jsdom current/proposed comparison; real canonical isolation below
W06 → rejected letter does not replace saved content application-assets: reject clears proposal, original remains, no dirty/save No provider contacted; real delivery remains outside this workflow
S03, W11 → scenario-specific rules and retryable preferences settings-view: unchanged scenarios in payload; failed notification save retains draft and retries Responsive browser preference evidence below
C01, C06, C07, C10 → canonical/sibling isolation and responsive editor persistence redesign-preservation browser: mobile override, preview/edit, reload, desktop preview; API compares master and sibling before/after Current Chromium UI at 390×844 and 1440×900, EN/default theme. Behavioral viewport check, not visual approval
W01, W05–W08 → source relationships and frozen submission Same browser spec: fixture creates actual job/CV/letter/file; captures via legacy CV workspace entry Expected failure P2-D01: capture fails on SQLite. Later source-mutation/archive checks not reached; do not mark this migration ready
E07, J04, W01 → real command launcher and old links Same browser spec: Ctrl+K job selection, actual App legacy match link, reviewed add leaves job count unchanged Current desktop route/keyboard behavior only
S03, W11 → responsive rules/notification controls Same browser spec: edit rule mobile→desktop, save, native API check; notification false survives reload; independent direct rule save 390×844/1440×900 EN/default theme; no screenshot-based redesign
A01, S04, E07 → hidden admin navigation is not authorization; Free AI locks Same browser spec: hidden admin menu, direct users read/create 403; ordinary CV creation succeeds, all three AI actions disabled, API AI 403 Current non-admin browser + real API. Admin route shell may render, but cannot retrieve privileged data
All 57 → reliable test type baseline package script, CI gate: npm run typecheck before Jest Static TypeScript for existing src/app scope; no visual or app change

Phase 3 handoff and later migration gates

Phase 3 is UX architecture documentation, not a new implementation batch: grouped sidebar/page hierarchy; Jobs table/board view entry; canonical Career Profile versus derived CV/document relationships; full-page versus optional preview; contextual AI review pattern; mobile task flows. Map all 31 existing routes, both aliases, capture/notification/provider entries and all 57 PRES rows to intended destinations.

Keep current MUI/Emotion/React Router/API and ownership contracts while designing. Brand/name/accent and cross-device dashboard customization remain genuine product decisions for the dependent work; do not ask about facts already in the audit.

Before Phase 4/5 code, require an approved route/preservation plan, targeted regression fixtures for that surface's gaps, a shared accessibility/state contract, and coordinated integrity/recovery dependencies. In particular:

  • Do not restructure package/tailoring workflows while P2-D01 blocks native success proof.
  • Do not conflate B02 identity, stale-CV revision and create-intent idempotency. Those queue items remain distinct; B07 was not started.
  • Do not drop mail draft revisions, explicit send/new-attempt controls or owner-bound references.
  • Before migrating shared controls, validate EN/NB × light/dark × desktop/mobile, keyboard focus, error/empty/dirty states and representative loaded data. Real screen reader/touch/reflow tests remain manual.
  • Do not label a release healthy until the previously failed CI browser runner is diagnosed and the required pipeline passes. F04 requires actual production ingress evidence.

Future trace sheets must link here. There are no Phase 3+ implementation commits or visual sign-offs in this checkpoint.