6.8 KiB
P7-05 — Discovery, Companies, Offers and Reminders
Discovery implemented scope CONDITIONAL GO; hygiene PASS/normal push pending. Companies, Offers and Reminders remain pending. Follow the exact approved handoff: Discovery, Companies, Offers, then Reminders as four separate normal development commits.
Entry evidence records the actual bfa0ab6 public push, clean direct development equality/main unchanged and13 exact committed source baselines. P7-04 implemented scope is CONDITIONAL GO: affected38/3/public native8/fidelity16/36+8/24/types/lint/build/static checks pass;18 public PNGs actually inspected. Sandbox frame-tested12 and separate settings incompletes223 remain. Whole frontend573/89/backend1,033/sidecar49 are inherited; frontend673/93/browser249/backend1,034 are derived expectations, not integrated reruns.
| Boundary | Confirmed entry findings / bounded scope | Required exit proof |
|---|---|---|
| Discovery | Manual search retains saved context; held saved search keeps old rows; global Retry always runs manual search, including mutation failures. Pending controls permit duplicate operations/draft changes. Reuse shared headers, feedback, tokens and original validated saved-list states | Exact saved/manual request ownership, snapshot Retry, explicit mutation recovery/draft preservation, alert/create/delete/dismiss readbacks, backend provider-double/SQLite safeguards, existing owner-denial and saved-list repair, keyboard/focus and finite responsive/theme/locale evidence |
| Companies | Pending save and relation-read sequencing/focus need qualification; keep P6 durable draft/error contract and existing company edit/deep-link ownership | Contact/date/source payloads, failed/held saves, relation request changes, owner/tenant guards, locale and mobile presentation |
| Offers | Current first25 sample and unsupported deadline sort need truthful labels/effective-contract preservation; avoid silently changing salary display semantics | More-than25 sample/source/currency/period/missing values, supported sort contract, retry/context/navigation and long-label reflow |
| Reminders | Long no-wrap rows/chips, hard-coded offsets and pending patches need review; keep all groups/reasons/counts/workflow destinations | Held/failed +3/+7/clear with explicit recovery and owned reload, localised dates/offsets, keyboard/responsive behavior; calendar UTC/date-only DST debt remains |
PRES-J01/J02/J08/J09/W11 and all57 groups remain binding;32 routes stay. No standalone company-create capability, backend scaling, NAV/model qualification, hidden calendar semantics, followMode composer, schema change, production deployment or Phase8 customisation. M01–M12 human/device/output/provider requirements and all release blockers remain. Production NO-GO/main unchanged.
Discovery implemented result
Discovery implemented scope CONDITIONAL GO; hygiene PASS/normal push pending. Companies, Offers and Reminders remain pending. Finite results retain exact final source/build/raw outcomes and failed attempts. Fresh affected 21/1, new ordinary browser 8, existing ordinary browser 4, backend 14, app/browser TypeScript, lint and production build pass. The original12 unit cases remain; +9/0 gives 682/93 frontend derived only. Browser+8 gives 257 derived only; no fresh integrated totals until P7-12.
Shell retains its H1 and intro. Saved searches use the established section title/tokens; results use a shared H2, feedback and named focusable region. Job cards are named articles with H3 headings and wrapping actions. Manual search clears saved context; switching saved sources clears old rows before the pending response. One synchronous operation guard prevents duplicate requests and locks the three draft fields and dependent mutations. Read Retry uses the exact submitted GET or bodyless saved-ID POST while preserving both later unsaved filter drafts. Mutation failures preserve their drafts/current rows and require the original action, without an unrelated manual-search Retry. Semantic fallback keys retranslate without refetching.
The unnamed decorative search-button spinner is hidden from assistive technology; the shared results progress/live status remains named. Delete keeps its invoking control enabled until confirmation is accepted, preserving Cancel focus. After successful Delete/Dismiss removes that control, a local committed-removal effect restores the results region only when focus fell to body. Native proof covers Cancel trap/return, fallback, next Tab and deliberately moved header focus surviving a held response. No shared dialog framework or save semantics change.
All 18 new final PNGs were displayed and reviewed;13 existing-regression captures are retained without a claimed visual review. Finite320/360/390/768/1024/1280 landscape/1440/1920 samples cover EN/Bokmål, light/dark, long names, two job cards, empty/held/error states and visible focus with root overflow0. New18 all-enabled scans have 0 violations/81 incompletes:18 badge short-text,57 overlapped contrast and6 focusable-modal-open. Existing9 WCAG-tagged scans retain 0/52 (9 badge/43 overlap). The six focus checks concern hidden retained Sort menus after keyboard selection, not Delete dialogs. Exact combobox focus returns after Enter; hidden-option Tab reachability and human announcements remain qualified. The 57 new overlap nodes comprise42 inputs/12 Sort controls/3 buttons; all related-node arrays are empty, so the header is context rather than a proven cause. An unresolved ratio0 is not a measured contrast ratio. Fixed-shell paint at the current scroll position appears in full-page captures; complete vectors remain for contextual/manual qualification, with no disabled rule. Human screen-reader, physical touch/software keyboard and real browser zoom acceptance remain open.
Real owner SQLite list/create/toggle/delete and reload, crafted foreign/anonymous denial, saved-list failure recovery and provider-double runner/history/dismiss tests pass. Browser vacancy search/run are explicit fixtures and never call NAV; real missing-result Dismiss404 and two intercepted204 UI recovery paths are distinguished. Stored native counts remain unchanged for those UI-only204 responses; successful provider/history/dismiss persistence or alert delivery is not claimed from browser fixtures.
Meaningful initial unit RED11/10, peer Retry RED20/1, first native3/5 and focus RED6/2 are frozen. Exact fixture corrections account for legitimate UpdatedAt order and MUI label-plus-value accessible naming; timeout remains unchanged. Final21/1 and8+4 pass with no skipped/expected-failure/retry/relaxed assertions. All57 whole-group statuses remain56 PARTIAL/C11 DEFERRED and32 routes retained. Main stays27657f3/production NO-GO; model review remains withheld and Phase8 separate.