test(api): restore deterministic backend baseline
This commit is contained in:
@@ -67,7 +67,7 @@ public sealed class BackgroundWorkerTenantTests
|
||||
fixture.Configuration,
|
||||
NullLogger<RulesHostedService>.Instance,
|
||||
Mock.Of<IStartupReadiness>(),
|
||||
TimeProvider.System);
|
||||
new MutableTimeProvider(FixedNow));
|
||||
|
||||
Assert.Equal(new BackgroundWorkerRunResult(true, 2, 2, 0), await worker.RunOnceAsync(default));
|
||||
Assert.Equal(new BackgroundWorkerRunResult(true, 2, 2, 0), await worker.RunOnceAsync(default));
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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,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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -4,8 +4,7 @@ Status reconciled: 2026-09-21.
|
||||
|
||||
## Current repository work
|
||||
|
||||
- **P5-00 — readiness implementation complete, P5-01 CONDITIONAL GO:** [record](../redesign/phase-5/p5-00/README.md) covers the five bounded shell gates, shared 1024px navigation boundary and open-drawer resize lifecycle. No visible/grouped-navigation redesign, P5-01 or B07 work. The unrelated backend baseline condition below must be resolved before P5-01 starts.
|
||||
- **P5-00-D01 — open test-baseline defect:** the unchanged rules-worker tenant test seeds July 16 data but uses the system clock; its 60-day assertion now fails (915/916 backend pass). Separately authorize the existing fixed-clock fixture injection and rerun all 916. No production rules change, skipped test or expected-failure annotation is proposed. [Evidence](../redesign/phase-5/p5-00/README.md#p5-00-d01--unrelated-date-dependent-backend-fixture).
|
||||
- **P5-00 — complete, P5-01 GO:** [record](../redesign/phase-5/p5-00/README.md) covers the five bounded shell gates, shared 1024px navigation boundary and open-drawer resize lifecycle. P5-00-D01 is closed with the existing fixed clock injected into the test; backend rerun is 916/916. No grouped-navigation redesign or B07 work in that checkpoint. F04 remains open.
|
||||
- **P5-00-D02 — open Jobs browser-Back focus debt:** after the workspace actually renders, browser Back preserves the query but does not restore row focus. The explicit workspace Back button carries the existing focus contract. Corrected browser evidence distinguishes them; no application behavior changed. Resolve before affected P5-03/08 navigation migration. [Evidence](../redesign/phase-5/p5-00/README.md#inherited-density-navigation-oracle-corrected).
|
||||
- **Phase 5 plan:** [bounded plan](../redesign/phase-5/README.md) maps all 57 contracts/31 routes. Board integration, native package and CV revision/rendering gates apply only to dependent slices. F04 remains open.
|
||||
- **P2-D01 — open:** repair the SQLite `DateTimeOffset` ordering baseline before package/tailoring restructuring; retain the expected-failure browser oracle until native capture and historical-binary preservation are proven. P2-O01's initial rules-500 behavior also remains unconfirmed.
|
||||
|
||||
Reference in New Issue
Block a user