# Phase 5 open blockers and deferred issues Reconciled against [P4-06](../phase-4/p4-06/README.md#opendeferred-issue-reconciliation), [Phase 2 defects](../phase-2/BASELINE_DEFECTS.md), [Phase 3 decisions](../phase-3/OPEN_DECISIONS.md) and [current known issues](../../roadmap/known-issues.md). Planning closes no issue. “Non-blocking” refers to local Phase 5 work, never production readiness or acceptance of the defective surface. | Issue | Status / exact limit | Classification / owner and deadline | |---|---|---| | P5-10-O01 nested CV drag/drop ownership | **Closed only for the tested P5-14 scope:** four behavioral ownership/default-cancellation cases and native pointer journeys preserve entry/section order; unsupported foreign text/title drops cannot mutate another section or its editable field | [P5-14 proof](p5-14/README.md#reproduced-failures-and-bounded-corrections). No cross-section move feature; physical touch/text-selection/all-browser coverage remains separate | | P5-14 responsive qualification limits | Local implemented P5-09–12 checkpoint has **CONDITIONAL GO**; measured 320–1440px/landscape, four theme/locale pairs, keyboard/pointer and emulated taps pass. Human screen-reader, physical touch/software keyboard, browser zoom/forced colours/text spacing, production fonts/photos and unimplemented P5-13 review remain unaccepted | [Scoped record](p5-14/README.md). Carry missing AI and human/device evidence into P5-15; no unconditional Phase 5 or production acceptance | | P4-06-O01 collapse→mobile labels/focus occlusion | Addressed in [P5-00](p5-00/README.md); also aligns controls/drawers at 1024px and closes the temporary modal on desktop entry | Shell implementation gate ready; retain boundary/open-resize and focus regressions | | P4-06-O02 long admin badge at 320px | Addressed in P5-00: same admin-only metadata in narrow account menu, header spacers track actual height | Responsive header gate ready; no claim that actual production badge overlap was previously proven | | P4-02-D01 command invalid list children | Addressed in P5-00; populated/empty lists and native keyboard destinations protected | Command semantics gate ready; no catalogue expansion, D02–D04 unchanged | | P4-03-D01 light Redo Tooltip 3.89:1 | Addressed in P5-00 shared opaque semantic pair; narrow old exception removed | Tooltip gate ready for tested loaded targets; not universal accessibility certification | | P4-04-O01 toast covers bottom action | Addressed in P5-00: bottom feedback clearance, native success toast tested while open | Feedback gate ready for the defined Connections action; not a universal overlay manager or company-modal error repair | | P5-00-D01 fixed worker data with system clock | **Closed 2026-09-21**: test now injects its existing fixed clock; complete backend rerun 916/916 | P5-01 baseline gate satisfied; production worker unchanged, no skip/expected annotation | | P5-00-D02 browser Back loses Jobs row focus | **Closed for Jobs in [P5-03](p5-03/README.md)**: originating list history entry retains only the numeric row focus target; all four locale/theme real-browser cases return after workspace load and focus the row. Explicit workspace Back remains protected | P5-03 Jobs navigation gate met. Revalidate the same contract if P5-08 changes workspace navigation or route behavior | | P3-O02 command error→empty / late query results | **Addressed in P5-02**: failed search has Retry, aborted/late results are discarded after a newer query or close; focused and real-browser regressions pass | Search-state gate closed locally; manual screen-reader acceptance is separately open below | | P5-02-D01 utility screen-reader operation | Automated axe and keyboard checks and command/notification semantic regressions pass; spoken names and live/state announcements have not been manually verified | **Open mandatory P5-15 accessibility acceptance item**. It does not block independent P5-03 Jobs work under Connor's explicit scope clarification. Operator steps and evidence request are in [P5-02](p5-02/README.md) | | P3-O02 workspace search replacement loses `followMode` | Addressed by [P5-08b readiness](p5-08b-readiness/README.md): only the section key changes; native history/reload retains query metadata | Query-retention prerequisite met; actual mode activation is the separate contradiction below | | P5-08b-R01 documented follow-up mode has no consumer | Connor explicitly decided on 2026-10-07: preserve `followMode` metadata and defer mode-specific UI; current absent consumer is not presented as implemented | **Deferred to mail phase; does not block P5-08b.** Preserve query compatibility without inventing send/generation; see readiness decision | | P5-08b readiness rendered-capture limits and deeper presentation debt | Historical stitched/transition captures remain limited. [P5-08b](p5-08b/README.md) adds viewport captures and a named keyboard-scrollable attachment table with an independently readable empty state | Scoped narrow document clipping is addressed; backend-generated English event/content text in Bokmål, shared-dialog timing and human assistive-technology acceptance remain open. Historical [review limits](p5-08b-readiness/README.md#rendered-review-and-evidence-limits) are not erased | | P4-02-D03 mobile progress scroll not focusable | **Closed for the targeted strip in [P5-08a](p5-08a/README.md)**: named keyboard region, native arrow scrolling, visible shared focus and current-step semantics | Scoped G-WORKSPACE 08a gate met; does not certify deeper accordions or full screen-reader acceptance | | P4-02-D04 literal AI context `{name}` | Addressed by P5-08b readiness using the existing interpolation argument; focused AI review regression protects the actual source name | Source/context/API unchanged; live-provider grounding certification remains separate | | P4-02-D02 company-save error outside accessible modal | Open; draft retained, transient toast hidden by modal isolation | **Does not block Phase 5 shell/navigation**. Company form/Phase 7 owner; direct company-form restructuring requires durable in-modal error. P5-00 toast position does not close this | | P4-04-O02 concurrent SQLite notification save | Open, earlier 2/10 native attempts HTTP 500 / database locked | **Separate backend reliability**; no shell/visual blocker with unchanged calls, but any increased polling/write concurrency waits for proof. Sequential passing test does not close it | | P2-O01 isolated rules-save 500 | Historical unconfirmed, cause not established | **Separate reliability triage** if recurrent; keep successful native oracle, no generic retry mask | | P4-05-O01 English status actions/browser-locale dates | **Closed for Jobs/Trash in [P5-03](p5-03/README.md)**: standard status display uses existing translations, custom status text and raw API keys remain stable, and applied/deadline display follows UI language | P5-03 localized table gate met in English/Bokmål; stored date/time semantics are unchanged | | P2-D01 native SQLite tailoring/capture | **Closed/passing** in [P5-08b readiness](p5-08b-readiness/README.md): frozen source/file readback plus real SQLite/account ZIP and copy-failure/retry proof | Ordinary regression retained in P5-08b; no expected-failure branch. CV revision/geometry and production restore remain separate | | F01 / audit D01 stale CV revision (related profile/job revisions distinct) | CV save/restore protected in [P5-09 readiness](p5-09-readiness/README.md): expected version, atomic compare, append-only settings and recoverable browser draft; no schema migration | **G-CV-REV satisfied locally**, retained by [pagination repair](p5-09-pagination-readiness/README.md). Profile/job lost updates remain distinct and are not closed. Later CV slices still require their own scope/acceptance; no automatic B07 | | Creation-intent idempotency | Open independent contract; not B02 identity or stale revision | **Separate backend/product work**; no Add/import/POST-on-mount expansion in Phase 5. Existing create review/no-write navigation must remain | | CV margins/templates/preview/pagination | [Pagination repair](p5-09-pagination-readiness/README.md) passes all 16 original fixtures at unchanged tolerances, with native screen fragmentation and measured printable-area rounding; PDF unchanged | Local numerical rendering gate satisfied. Broader wrapped-line/photo/deployment-font qualification and existing controls/print-quality debt remain explicit; P5-11/P5-12 retain their separate scope and acceptance. No broad renderer replacement inside UI slice | | Table/Board filter/population mismatch | **Read prerequisite resolved in [P5-04b readiness](p5-04b-readiness/README.md)**: shared logical query, complete ID membership, owner/trash/derived filters and mutation refresh proven | [P5-04b integration](p5-04b/README.md) preserves that query/route contract; full-array scaling remains an explicit limitation | | P3-O01 analytics names/periods/populations | [P5-06](p5-06/README.md) addresses Dashboard labels; [P5-07](p5-07/README.md) reuses and revalidates the same cohorts/snapshots/samples and exact values in Analytics, independent of Dashboard flags | Dashboard/Analytics G-METRICS has scoped regression evidence; current server population/date limitations remain documented and backend metric/timezone repair remains separate | | P5-06-O01 native language preference 500 during reads | One full-run fixture response was generic 500 while Dashboard/setup reads overlapped; exception/root cause not established. Visual setup now writes the native preference before mounting the next fixture, still requiring 204 | **Separate baseline auth/storage investigation**, not resolved by presentation. Concurrent language mutation during loading is not certified; [observation and test sequencing](p5-06/README.md#regression-protection) | | P5-07-O01 attachment confirmation focus observation | Initial full run: unchanged light/English desktop Shift+Tab from Cancel did not retain Delete focus; existing transition `onEntered` also refocuses Cancel. Race explanation remains uninstrumented | Separate shared-dialog accessibility investigation; no provider/test change in Analytics, no closure from a passing rerun. [Evidence](p5-07/README.md#validation-observations-retained) | | P5-08a-O01 next-task destination adapter | Addressed in P5-08b readiness: canonical-profile task opens existing Career Profile; legacy documents/checklist/timeline/communication entries reveal/focus their existing disclosures | Scoped adapter prerequisite met, with query/history and dirty-navigation regression evidence; no new workflow | | P5-08a-O02 menu entry contrast scan | Two complete runs caught unchanged dark Dashboard menu text during entry; direct inspection found opacity 0.0111545 before settling to 1. The original scan now waits for settled opacity and passes unchanged rules | Validation fixture synchronization only; no Dashboard styling repair or transition-wide/manual certification. Both failed summaries and scan targets remain [recorded](p5-08a/README.md#validation-observations-retained) | | P5-08a-O03 deeper accordion duplicate ARIA IDs | P5-08b readiness removes redundant Details IDs and scopes summary/region names; focused tests prove one linked region and native section navigation | Scoped structural prerequisite addressed; incomplete scans/manual screen-reader acceptance are not universal passes | | F04/B06 production ingress | **Open**; repository/local checks are not deployed proof. Historical DNS/HTTPS observations do not prove actual peer/firewall boundary or current topology | **Production gate; does not block local P5 slices**. Operator evidence for actual Traefik peer, nginx trust, listeners/ports, direct/spoofed access, B04 client IP, firewall/NAT/IPv6, DNS/TLS/redirect and restart needed; no closure or credentials accessed here | | Protected-main CI/browser runner and deployment | Unresolved remote-runner evidence; local tests pass | **Separate release gate**; feature-branch docs/UI push is not production deployment approval | | F19 missing provider/config falls back to SQLite | Open source carryover | **Separate startup/deployment safety**, not a UI redesign dependency; no backend provider change here | | F20 enabled worker fault containment | Open, worker disabled by default; enabled loop lacks outer recovery | **Separate worker/operational gate** before enablement or new producers; P5 utilities preserve current operations only | | F21 calendar unspecified DateTime/DST | Open; existing date actions not certified correct across offsets | **Separate calendar/backend gate** before event/time semantics change; retain current deadline/follow-up links/ICS, no new interview scheduling | | Backup/restore/rollback and legacy schema cutover | Production restore/cutover evidence pending | **Separate release/schema gate**; no schema in P5. Required before any external prerequisite that actually needs one | | Stripe activation, paid deletion/retention/provider cleanup | Configuration/policy/provider proof pending; deletion remains gated | **Separate product/backend/release work**; no new billing/trial/delete UX claims or Settings migration | | Provider mail/AI/calendar/OAuth delivery | Partial local mocks/service tests, no universal live provider certification | **Does not block unchanged navigation/presentation**; actual send/reconnect/provider semantics changes wait for sandbox/operator proof. AI truthfulness is not guaranteed by a review dialog | | P5-13 — AI Model Semantic Qualification / AI Review UI | **DEFERRED — BLOCKED / NOT QUALIFIED**, by Connor's 2026-10-08 instruction. Local Ollama `qwen2.5:7b` is configured; deployed identity is unverified. Frozen corpus: **32 synthetic cases, 366 required calls, 0 completed calls, 0 human reviews; critical factuality failures unmeasured**. Docker Desktop remains blocked by the AF_UNIX socket reparse-point issue; no destructive recovery attempted. Deterministic grounding/proposal protections pass; P5-13 AI review UI remains unimplemented | **Outstanding technical/product debt**; [qualification and recovery evidence](p5-13-semantic-qualification/README.md), [deterministic readiness](p5-13-readiness/README.md) and exact return conditions below. Carry into P5-14/P5-15 and subsequent acceptance reports; no semantic, UI or unconditional Phase 5 acceptance | | Full screen-reader/touch/zoom/forced-colors coverage | P4 manual browser checks partial; incomplete axe nodes remain | **Affected-slice accessibility acceptance gates** per visual protocol; unavailable evidence must stay open, not counted as success. Public certification remains blocked | | P5-04b-R01 command entry/focus timing | One full-run failure on unchanged command/theme/test code; trace shows keyboard focus-visible gained then lost around the dialog's entry callback. Three unchanged focused reruns passed | **Separate shell accessibility debt before P5-15**, not query-population parity. [Observation](p5-04b-readiness/README.md#unrelated-baseline-observation-p5-04b-r01); no assertion weakened or shell repair attempted | | P5-04b-R02 CV section-expansion smoke | One full-run failure on unchanged CV editor/test, before PDF export; three unchanged focused reruns passed; cause unproven | **Existing CV readiness owner**, not Jobs integration. [Observation](p5-04b-readiness/README.md#unrelated-baseline-observation-p5-04b-r02); keep the regression and investigate before broad CV migration | | Historical post-axe NB glyph omissions / scrolled table screenshot edges | Capture limitations, not accepted typography/column alignment | **Evidence quality gate**: pre-axe captures, DOM/text verification, start-of-scroll and focused-scroll comparisons in P5. No product fix inferred without reproducing it | | Original P4 unnamed targeted controls / preview keyboard defect | Closed for P4-02/03 targets only | **Not a blocker**, retain tests; advanced untouched controls still need their own loaded-state proof | | Historical TS2571 | No longer present; standalone gate passed | **Not a blocker**, retain CI type gate; do not describe as current expected failure | ## P5-13 deferred debt and return conditions — 2026-10-08 **P5-13 — AI Model Semantic Qualification / AI Review UI: DEFERRED — BLOCKED / NOT QUALIFIED.** This records Connor's explicit deferral at source checkpoint `9c9157507937b3e084a7ca1e79a2ebd77d0b0928`; it does not complete P5-13 or remove its [approved requirements](PHASE5_PLAN.md#p5-13--cv-ai-review-presentation). **Current release/P5-14 sequencing — 2026-10-08:** Connor now authorizes fresh release assessment from `1095ef1`, followed by P5-14 for implemented CV capabilities **even if release is NO-GO**. The [production decision](production-release-decision/README.md) identifies automatic deployment from `main` and records missing actual ingress/current backup-restore/configuration/rollback/protected-CI evidence. No production merge, push or deployment occurs while any critical gate is unresolved. This supersedes the qualification-only/deploy-after-P5-15 instruction and the historical release-first prerequisite below. [Qualification](p5-13-qualification/README.md) remains NO-GO for P5-13 UI: 0/366 real calls, 0 human reviews and unmeasured factuality. Deterministic API/revision/HTTP evidence is independent of semantic qualification; the Production block stays active. P5-14 excludes unimplemented AI review, retains all missing AI responsive/acceptance obligations and stops before P5-15/B07. No qualification or Docker recovery is initiated here. Every individual P5-15 change/checkpoint must later be committed and pushed. Local configuration selects Ollama `qwen2.5:7b`; actual deployed provider/model/digest/settings remain unverified. Docker Desktop is blocked while starting its inference manager by an AF_UNIX socket reparse-point (`IO_REPARSE_TAG_AF_UNIX`) that cannot be removed/opened normally (Windows error 1920). The deeper filesystem cause remains unknown. No destructive recovery was attempted; the failed bounded rename and supported Model Runner disable/start attempts remain documented. Do not spend another checkpoint retrying Docker recovery or repeat recovery attempts during unrelated phases. The frozen qualification corpus contains **32 synthetic cases**. Required calls remain **366**; completed calls **0**, human reviews **0**, and critical factuality failures **unmeasured**. Zero runs cannot establish factuality. Deterministic grounding/proposal, ownership, source freshness and revision/history protections are implemented and passing independently; [fresh release-candidate regression results](release-readiness/README.md#local-validation-and-preservation) remain separate from configured-model semantic qualification. **The P5-13 AI review UI remains unimplemented.** Retain the frozen [corpus](p5-13-semantic-qualification/corpus.json), [rubric](p5-13-semantic-qualification/RUBRIC.md), [qualification results](p5-13-semantic-qualification/qualification-results.json), [initial environment evidence](p5-13-semantic-qualification/environment-checkpoint.json) and [recovery evidence](p5-13-semantic-qualification/environment-recovery-checkpoint.json), including failed observations. Before marking P5-13 complete: 1. Verify the actual deployed provider/model/digest/settings, generation/evaluation routing, runtime/API/sidecar image revisions and prompt-source identity; local defaults and partial health diagnostics alone do not satisfy the identity gate. 2. Establish a working isolated, production-equivalent qualification environment through a supported non-destructive recovery or a verified equivalent transport. Confirm reachability and one uncached synthetic smoke request through the application routing; preserve existing privacy/consent and authentication boundaries. 3. Run the unchanged frozen corpus and rubric: all **366 required calls**, with actual uncached generation/evaluation calls and all outputs/errors retained. Preserve the three repeats per case/probe and existing assessment lane; synthetic provider regressions do not count as model calls. 4. Complete the required human review for every output/repeat, with dated reviewer evidence. An assistant review cannot replace human acceptance. 5. Resolve critical factuality failures, false approvals and unresolved ambiguity with a bounded, reviewed correction; retain failures and rerun the frozen full corpus after a justified fix. Require usable grounded rewriting and scope/language acceptance without weakening expectations. 6. Implement and validate the P5-13 AI review UI against its retained source/target, compare/edit/accept/reject/regenerate/error/locked, keyboard, theme/locale and mobile requirements. 7. Repeat relevant regression testing, preserving deterministic AI protections, ownership/privacy, revision/history, source isolation, rendering/PDF and affected workflow/accessibility contracts. **Historical continuation scope, superseded by the latest qualification instruction above:** prepare and verify the completed redesign's release to the actual production branch, **`main`**, first, subject to every production/release gate. Repository inspection identifies [the configured `main` CI/deployment workflow](../../../.gitea/workflows/ci-deploy.yml); a `main` push triggers automatic production deployment, so merge/push remains **NO-GO pending production safety proof**, including F04 ingress and backup/restore/rollback evidence. The requested `master` wording does not override the instruction to determine the actual configured branch. Only after successful release verification may a new development branch from updated `main` continue **P5-14 for currently implemented CV capabilities**: desktop/tablet/mobile editor-preview switching, section editing/navigation, Career Profile source/override clarity, save/conflict recovery, keyboard/pointer/touch, document controls, preview scroll/zoom, PDF fidelity, accessibility and localisation. This is a conditional scope clarification; the [historical P5-14 requirement](PHASE5_PLAN.md#p5-14--responsive-cv-workflow-checkpoint) for accepted 09–13 and a complete AI-review journey remains recorded. Do not fabricate an AI-review workflow, claim deferred P5-13-specific responsiveness passed, or remove the existing automated AI protection tests. Carry that missing coverage into P5-14 acceptance explicitly. P5-15 must carry this debt and distinguish completed/verified capabilities, explicitly deferred capabilities, production-release blockers and non-blocking limitations. Full Phase 5 acceptance remains conditional/partial while mandatory retained requirements are unmet; no unconditional GO without an explicit documented authorization revising the full acceptance scope. The release/P5-14 clarification does not waive F04, release safety, human accessibility acceptance or unrelated debt. Preserve Connor's requirement to **push every individual P5-15 change/checkpoint**; outside P5-15, commit and push at each phase end. No release or deployment success is asserted by this register update. ## Product/new-requirement boundaries Final name/logo/primary color remain OD-01–03: use current provisional values, so no shell delay. Email provider (OD-05), external jobs/calendar integrations (OD-06), monetization (OD-07), favorite/priority (OD-08), aggregate admin/privacy definitions (OD-09), intake (OD-10) and weekly goals (OD-11) are separate decisions before their future features. Do not invent LinkedIn integration or scheduled interviews. OD-04 dashboard cross-device persistence and NEW-01 ordering/resizing/reset remain **Phase 8**. P5 preserves all five existing owner-local visibility flags. NEW-02 expanded entities, NEW-07 general AI panel, NEW-08 admin metrics and NEW-11 cross-job documents require data/ownership contracts; P5-02 does not implement them. NEW-10 active preview is explicitly deferred, not silently represented as preserved production functionality. Full Career Profile, library, Documents, mail, Settings/Admin and Notifications page work remains Phase 7. Before each implementation, check this register against its latest actual evidence. Close a row only with its reproduction/acceptance proof and linked change; keep original audit records intact. A failed prerequisite pauses only dependent scope. Planning success is not an implementation or production GO.