Files
jobtrackingapp/docs/redesign/phase-7/p7-12/README.md
T

60 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Final outcome — 21 October 2026
**Completed for implemented scope: CONDITIONAL GO.** [Final acceptance](FINAL_ACCEPTANCE.md) supersedes historical pending-run statements below. Fresh full1060backend/899frontend/351ordinary-browser/56offline-sidecar plus23separate browser contracts pass, with no skips or retries. [Final source reconciliation](evidence/final-regression.json) confirms792runtime inputs, unchanged tested assemblies/export, ordinary P2-D01, all57groups and33routes. Production remains NO-GO; Phase8 readiness conditional on the explicit handoff dependencies. Manual/provider/output qualifications remain.
# P7-12 — Integrated migration acceptance
## Continuation — 21 October
Latest published source `508d68e16d49625fb083824a5bee0211c85f3432` is clean/directly synchronized10:48:52UTC. [Consumer successor identity](evidence/consumer-entry.json) freezes792runtime inputs and unchanged WAL Release assemblies/export before the new whole run10:48:54UTC. The previous whole run completed343PASS/8FAIL/0skipped/flaky; [all8consumer corrections](TERMINAL_CONSUMERS.md) pass in the composed native vector, with product guards and all351ordinary cases retained. Whole frontend899/101, backend1060, offline sidecar56, SMTP fixture, types and lint pass freshly; [release/model](RELEASE_STATUS.md) remains independently unqualified. Full ordinary/separate lanes and final source/fidelity/zoom reconciliation remain required. The older paragraphs below are chronological observations, not current acceptance.
Latest source is clean/directly synchronized development `2f772e132274e75a05deb0a0dd363dadebc9175a`, verified06:05:08UTC. [WAL successor identity](evidence/wal-entry.json) freezes792runtime inputs and rebuilt API/test assemblies before the new complete run06:05:40UTC. This supersedes the earlier791-input snapshots. The [SQLite concurrency repair](SQLITE_CONCURRENCY.md) reproduces the same write stack deterministically, enables WAL before SQLite reconciliation and passes1060backend cases,6focused cases and17affected native cases. The [pagination fixture](USERS_PAGINATION.md) navigates the actual populated desktop grid. Both are separately committed/pushed; no product assertion or timeout is weakened. Full351-case browser and separate lanes remain in progress, with no final acceptance claim.
The prior patched-source attempt was explicitly stopped05:55:08UTC after144passing and3failing logged cases. [Failure observations](CURRENT_FAILURES.md) and [raw hashes](evidence/lock-observation.json) retain both SQLite client failures and the first-page fixture assumption. Release838 independently failed with matching Node/Jest SIGSEGV cores and deployment skipped; main5f835e5/live/model qualification remains separate and production NO-GO. Older observations below remain chronological.
Latest source continuation is normally pushed development `9b17b04d61513b8e3c909e4da74998d4cadb1e83`, verified05:30:49UTC. The fixture repair `b39a5af4dec0c0e7d471fea5122b41095ff21453` was pushed/verified05:21:31UTC; [protected-action help](ADMIN_HELP.md) `44458f4f3a1ba218a309aa74351b02a04f042d00` was pushed/verified clean05:23:06UTC. Its10component/3native cases and fresh build/types/lint pass; no case is added. A fresh899/101frontend,1057backend and56sidecar run also passes21October; whole browser/separate lanes remain required.
The pre-security source snapshot [final-entry.json](evidence/final-entry.json) is **superseded**, not final acceptance. That candidate browser run was interrupted after22passing cases when the fresh registry audit introduced two production-classified high findings in follow-redirects1.16.0. [The bounded1.16.1patch](../../../infrastructure/2026-10-21-follow-redirects-patch.md) changes one lock entry, passes two loopback credential-stripping contracts and returns production audit to0vulnerabilities; full audit policy retains only the approved dev-only high exception plus recorded moderate development findings. Patched build/types/lint pass. Security repair9bb8b1a is pushed; equivalent main5f835e5 is normally pushed/directly verified05:30:46UTC. A fresh patched-source snapshot and complete run follow, with the partial pre-patch log retained.
Production observations05:22:25UTC show health/ready/root HTTP200and healthy core containers, but source checkout remains7d641ed and backend version metadata contains literal unevaluated shell expressions. This does not verify the requested release identity. AI still runsqwen2.5:7b; model activation remains pending the live-release priority. CI837's matching Python/.NET native-crash evidence and the earlier production F04/restore/configuration/rollback gates remain open; no production GO is inferred.
The first complete successor run failed103/351, with248unexpected failures and zero skips/flaky/retries; it is not accepted. [Fixture investigation](FIXTURE_ISOLATION.md) and [portable evidence](evidence/fixture-repair.json) separate administrative role/language contamination from an unresolved isolated Audit500. The corrected shared-fixture composition passes16/16. Existing409/403/503, ownership, source/save and route assertions remain; no test is removed or relaxed. The final whole run and separate lanes still follow. The earlier18:52:58UTC clean publication of entry evidence `ddb9c3da4ff31447fa6bd579002f32199052937d` remains historical, not final acceptance.
Separately, parser native-exit diagnostics `dda16873455259bce23a744bd838c3e3e0fc6ee8` are pushed on development and equivalent main8699ae4 is normally pushed/directly verified21October05:13:39UTC. Release837 remains unqualified: it subsequently failed in native MSBuild/.NET test compilation after the parser process succeeded. No deployment/model activation is claimed. The [parser report](../../../infrastructure/2026-10-21-parser-native-exit.md) preserves the earlier distinct SIGSEGV and diagnostic-only scope.
## Entry and bounded scope
All P7-00–P7-11 presentation boundaries are implemented and published, with their original qualifications retained. P7-11 final error-owner commit `584530b694a2238928d10fddfc013499cf9b3fab` was pushed and directly verified clean at 2026-10-20T18:29:28 UTC. The normal main-repair reconciliation merge `8bbaf1f875f6d32dd7d379779a35188dca844fbb` was pushed and verified clean at18:29:38 UTC. These receipts supersede earlier pending-publication observations.
[Entry evidence](evidence/entry.json) freezes committed development source `8bbaf1f875f6d32dd7d379779a35188dca844fbb`, 791 tracked runtime input hashes, Release API/test assembly hashes and production export `mz21qlhGdOIyi9HgMoZUc`. Main is separately `f7dc22e5e7efe1fd1d64f6ace2c04cf2f95bf558`; its release is owner-authorized despite the retained production NO-GO. Development acceptance does not establish deployment identity.
This checkpoint performs the fresh integrated lanes, reconciles all57 contracts and33 current route patterns, records remaining requirements and prepares the [Phase8 handoff](PHASE8_HANDOFF.md). It introduces no Phase8 functionality and does not qualify or activate P5-13.
## Baseline and current validation
The authoritative inherited Phase6/P7-00 baseline is backend1033, frontend521/85suites, ordinary browser159 and offline sidecar49, as recorded in [P7-00](../p7-00/evidence/baseline.json). Later affected vectors and intermediate full runs are chronological evidence, not substitutes for this checkpoint.
Final integrated execution is **IN PROGRESS**. Fresh rebuilt Release backend1057/1057 and offline sidecar56/56 pass. App and browser TypeScript, lint, SMTP fixture, secret scan, SBOM generation, supply-chain/ingress configuration helpers, offline evaluation harness and browser-retry guard pass. [Initial completed unit evidence](evidence/completed-unit-gates.json) records frontend898/101 before the repair below; archived artifact paths retain their original byte hashes. Separate native lanes and final source reconciliation follow. No final migration acceptance is claimed here.
## Reproduced failures and committed successor
The initial whole-browser run was interrupted after52attempted cases when two ordinary Bokmål cases exposed English-only `Technical` selectors. A focused continuation also exposed the corresponding `Code` selector. Both now use existing locale keys; all4theme/language document-control cases pass, retaining template entitlement, no-write/canonical/sibling checks, settings persistence, restore and native PDF output. No assertion or timeout is weakened.
Release833 independently exposed a confirmation tab-cycle race. A deterministic component regression reproduces the opening transition resetting deliberate focus to Cancel (2PASS/1FAIL). Removing that redundant callback retains initial Cancel autofocus, MUI trapping/restoration and the named scroll body. The regression passes3/3; all5affected native modal/Discovery cases pass with no skips/flaky/retries. See the [repair report](../../../infrastructure/2026-10-20-confirm-transition-focus.md).
Focus repair `c5cfc8756c8b47c7932bf373d8008b7b7b6541a0` was normally pushed/directly verified18:46:51UTC. Locale-consumer correction `e698ed6c57deaec35b23180df9c43d185f5d9fa4` was pushed/verified18:50:37UTC. Normal main reconciliation `b333ef55d5665223d2f570ec9681336fc3971c8a` was pushed/verified18:50:44UTC. These observations retain the new acceptance documents as untracked; they do not assert a clean entire worktree. No runtime source remained dirty.
[Successor identity](evidence/successor-entry.json) records all791inputs, unchanged backend assemblies and export `4Xe6CaQf-Y4jJkD3Tevs5`. Its observation occurred immediately after browser process launch because the first capture command failed shell quoting; this qualification is explicit. Fresh frontend **899/101suites** passes with no pending/failures; the one new case is the deterministic focus regression. Build/app and browser TypeScript/lint pass. The successor whole351-case browser and subsequent separate lanes are running with zero configured retries. Initial interrupted evidence is retained under `.artifacts/phase7/current/ui/attempts/main-185055/`; final collection must verify actual byte hashes rather than infer success from partial output.
Under the owner's separate existing release authorization, the same focus repair was cherry-picked as main `0b6f4b39eb412dbc5daa0546a6bff4553d983950`, normally pushed and directly verified18:49:17UTC. Pipeline834 is queued behind833. Neither deployment nor requested Ollama activation is verified. Chromium page crashes from833 remain a separate reliability investigation; a runner observation is not a demonstrated crash cause.
The local synthetic Docker ingress-topology lane failed before resource creation because Docker Desktop's Linux daemon is unavailable. This is unavailable infrastructure, not a passing topology or production F04 check. The failed command/log is retained under `.artifacts/phase7/current/p712-security/3.log`; existing operator requirements remain.
## Preservation and decision boundaries
The [57-group matrix](../PRESERVATION.md) remains56 PARTIAL/C11 DEFERRED. PARTIAL records finite proof and missing complete human/provider/output evidence; it is not a count of established defects. All original32 routes plus the approved Documents route remain in scope. P2-D01 must pass as an ordinary case. No skips, expected-failure markers or relaxed assertions may conceal failures.
Human reader/device/software-keyboard and production font/photo/native-print qualification, actual provider operations, historical reliability debt, Board scaling, deferred followMode/P5-05/P5-13 and production ingress/restore/configuration/schema/rollback gates remain. Axe incomplete observations remain in their checkpoint reports; automation does not supply human acceptance.
Final decisions and publication receipt follow only after the applicable lanes and reconciliation finish. Production readiness remains **NO-GO**. Phase8 implementation has not started.