test(api): restore deterministic backend baseline

This commit is contained in:
cesnimda
2026-09-21 21:46:24 +02:00
parent 926f2e5164
commit 38cf37ef96
6 changed files with 8 additions and 9 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ Reconciled against [P4-06](../phase-4/p4-06/README.md#opendeferred-issue-reconci
| 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 | **Open** unrelated fixture: 915/916 backend pass on 2026-09-20, expected Applied becomes Ghosted after 60 days | **Conditions P5-01 baseline acceptance**. Separately authorize existing fixed-clock test injection, rerun all 916; no production worker change or skipped/expected test |
| 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 | **Open** existing route behavior exposed by waiting for the actual workspace before Back; all four locale/theme cases. Explicit workspace Back passes `focusJobId` and remains protected | **Blocks affected P5-03/08 navigation accessibility acceptance**, not unchanged shell. Browser query and local-density reset plus explicit-button focus have separate oracles; no route/table application fix in P5-00 |
| P3-O02 command error→empty / late query results | Source-confirmed search catches; explicit failure/pending isolation needs owner tests | **Blocks later slice P5-02 acceptance**; retain existing simple commands in 01, no expanded command redesign in 00 |
| P3-O02 workspace search replacement loses `followMode` | Source-confirmed `setParams({section})` | **Blocks later slice P5-08b** adapter migration until retained-query proof |
+1 -1
View File
@@ -4,7 +4,7 @@ Planning at `2a2f9e48052c562ef599825458d0d3a6f9f9fc61`. **None of these gates is
## G-SHELL — P5-00, before P5-01 starts
Successor evidence: [P5-00 implementation and validation](p5-00/README.md). The five shell defects below are addressed, including the shared 1024px threshold and open-drawer resize lifecycle. P5-01 remains **CONDITIONAL GO** on the separate P5-00-D01 backend clock-fixture baseline; do not infer 916 passing tests. The following table preserves the original required evidence.
Successor evidence: [P5-00 implementation and validation](p5-00/README.md). The five shell defects below are addressed, including the shared 1024px threshold and open-drawer resize lifecycle. The separate P5-00-D01 clock fixture is deterministic and the backend baseline is restored to **916/916**. P5-01 has an explicit **GO**. The following table preserves the original required evidence.
P5-00 is required. Resolve these narrowly against the **existing** shell first, with regression evidence before regrouping or restyling it. This separates baseline remediation from redesign regressions.
+1 -1
View File
@@ -1,6 +1,6 @@
# Phase 5 — Representative screens / major UI redesign plan
**Current successor: [P5-00 readiness implementation](p5-00/README.md).** The five bounded shell conditions are implemented; P5-01 has a **CONDITIONAL GO**, pending restoration of the backend baseline affected by the separately recorded clock-dependent test P5-00-D01. No P5-01 visible redesign, B07 or production work has started. F04 remains open.
**Current successor: [P5-00 readiness implementation](p5-00/README.md).** The five bounded shell conditions are implemented and P5-00-D01 is closed with a deterministic test clock and **916/916** backend rerun. P5-01 has an explicit **GO**. No P5-01 visible redesign, B07 or production work has started. F04 remains open.
Historical planning checkpoint: source `2a2f9e48052c562ef599825458d0d3a6f9f9fc61`, inspected on 2026-09-13 on `codex/ui-redesign-phase4`. That checkpoint was documentation-only; the successor record above owns implementation/validation status.
+3 -3
View File
@@ -6,9 +6,9 @@ This is the five-condition [G-SHELL readiness slice](../READINESS_GATES.md#g-she
## Readiness decision
**CONDITIONAL GO for P5-01.** The five shell conditions have independent regression/visual oracles and are ready: mobile labels/focus and breakpoint lifecycle; admin-header reflow; command semantics; shared Tooltip accessibility; bottom-action toast clearance. Mapping a PRES group does not certify every workflow in that group.
**GO for P5-01.** The five shell conditions have independent regression/visual oracles and are ready: mobile labels/focus and breakpoint lifecycle; admin-header reflow; command semantics; shared Tooltip accessibility; bottom-action toast clearance. Mapping a PRES group does not certify every workflow in that group.
The remaining acceptance condition is **P5-00-D01**, an unrelated pre-existing backend test that now fails because its fixed fixture dates are evaluated against the real clock. The complete backend result is 915/916, not the inherited 916 passing. Restore that test's deterministic clock in a separately authorized test-only correction and rerun all 916 before starting P5-01. This checkpoint does not grant an exception to the baseline gate. F04 remains an independent production gate; package, CV and later-slice gates are unchanged. **P5-01 and B07 were not begun.**
P5-00-D01 was closed on 2026-09-21 by injecting the test's existing `MutableTimeProvider(FixedNow)` into the rules worker. The complete backend suite then passed **916/916** with no production worker change. F04 remains an independent production gate; package, CV and later-slice gates are unchanged. **B07 was not begun.**
## Reproduction and implementation
@@ -165,7 +165,7 @@ Each Playwright run sets `PLAYWRIGHT_JSON_OUTPUT_FILE` to its `.artifacts/p5-00-
On 2026-09-20 and again in the final 2026-09-21 run, the unchanged `BackgroundWorkerTenantTests.Rules_worker_uses_each_owners_settings_and_is_idempotent` fails at line 79: expected `Applied`, actual `Ghosted`. Its fixture seeds `DateApplied = FixedNow.AddDays(-30)` (2026-07-16), but the rules worker receives `TimeProvider.System`. The real clock has crossed the second owner's 60-day threshold. The production worker is applying that configured rule; this test mixes fixed data and a moving clock.
All 916 backend tests were executed: **915 passed, one failed, none skipped**. Neither backend application code nor this test was changed. This is distinct from P2-D01, SQLite write contention and a P5-00 UI regression. A requested, separate one-line test-only correction would pass the already existing `MutableTimeProvider(FixedNow)` to this worker and then rerun all 916; no production clock/rule change is proposed. Until that correction is authorized and validated, the inherited all-green backend baseline is not restored. Do not waive, filter out or relabel this test as expected failure.
The original P5-00 checkpoint executed all 916 tests: 915 passed, one failed, none skipped. The follow-up prerequisite checkpoint changed only this test to pass the already existing `MutableTimeProvider(FixedNow)` to the worker. The rerun passed **916/916** in 19 seconds. Production code, rules and schedules are unchanged; no skip or expected-failure annotation was added. This is distinct from P2-D01, SQLite write contention and the remaining P5-00-D02 Jobs browser-Back focus debt.
An earlier overlapping API/build attempt encountered Windows apphost file locking. Runs were subsequently serialized. That tooling conflict is not the cause of the assertion above. The interrupted browser run was replaced by a complete final run, not combined into a fabricated aggregate.