feat(ui): migrate reminders and protect follow-up recovery
This commit is contained in:
@@ -51,4 +51,6 @@ Observed Discovery normal push2026-10-12 22:49:31.085724UTC proves localHEAD=ori
|
||||
|
||||
| P7-05 Companies | a8aba852994859d4c010cb57bb0607ec9c564bbe | [Results](p7-05/evidence/companies-results.json):30/4,new6+existing2+named4native,backend2,app/browser types/lint/build PASS;20/50images reviewed;new20scans0/91+named20WCAG0/163 qualified. Hygiene PASS/normal push directly verified2026-10-13 06:59:14UTC, clean localHEAD=origin=live/main unchanged. +7/0frontend689/93 and browser263 derived only; Offers/Reminders next, main unchanged |
|
||||
|
||||
| P7-05 Offers | Actual hash follows observed normal push | [Results](p7-05/evidence/offers-results.json):9/1,new4native,backend6,app/browser types/lint/build PASS;14images reviewed/14scans0/15qualified. Final hygiene/normal push pending. +7/0frontend696/93/browser267 derived only; Reminders next/main unchanged |
|
||||
| P7-05 Offers | `c723a4e3032185da623d81ace241eec748506fc7` | [Results](p7-05/evidence/offers-results.json):9/1,new4native,backend6,app/browser types/lint/build PASS;14images reviewed/14scans0/15qualified. Hygiene PASS/normal push directly verified2026-10-13 11:19:57UTC, cleanlocalHEAD=origin=live/main unchanged. +7/0frontend696/93/browser267 derived only; Reminders next/main unchanged |
|
||||
|
||||
| P7-05 Reminders | Actual hash follows observed normal push | [Results](p7-05/evidence/reminders-results.json):17/3,new6native,backend6,app/browser types/lint/build PASS;17images reviewed/17scans0/114qualified. Final hygiene/normal push pending. +10/+1frontend706/94/browser273 derived only; all4P7-05domains implemented CONDITIONAL GO; P7-06 next/main unchanged |
|
||||
|
||||
@@ -146,3 +146,11 @@ Public18 top-document all-enabled scans0/12 retain sandbox frame-tested occurren
|
||||
### P7-05 Offers evidence
|
||||
|
||||
[Offers results](p7-05/evidence/offers-results.json) correct unsupported deadline-sort intent with explicit existing effectiveorder, unlabelled first25 sample, misleading decision-deadline wording, host-number locale and locale-triggered refetch/fallback/recovery focus. Original numeric/free-text/currency contract retained; no server data meaning change. Fourteenall-enabled scans0/15 retain contextual contrast incompletes; human/device/zoom/output/production obligations remain. No whole PRES or inherited scaling/calendar/provider debt closes.
|
||||
|
||||
### P7-06 confirmed compose safety entry dependency
|
||||
|
||||
Read-only connected-code inspection confirms existing CorrespondenceInboxPage updateDraft implicitly rotates UUID/clears every delivery result, allowing edits to erase uncertain/pending/sending/sent/failed safeguards. A held draft Save can merge into later work; Save and Send can race while new persistence assigns a server UUID. Recipient-only/subject-only dirty checks are incomplete. Runtime RED remains required; these are confirmed code paths, not passing evidence or a completed repair. Before P7-06 compose presentation acceptance, serialize captured-identity mutations/confirmations and preserve explicit definitive-failure new-attempt/revision/owner/idempotency contracts, with meaningful unit/native failure recovery. No real mail/provider execution or backend/schema change is authorized by this finding. Keep approved embedded-forms then inbox/read then compose/send commit sequence; independently push the coherent safety repair at that boundary.
|
||||
|
||||
### P7-05 Reminders finite evidence
|
||||
|
||||
[Reminders results](p7-05/evidence/reminders-results.json) repair reproduced duplicateheldPATCHs, toast-only local failure, host-locale dates, localeGET and managedfocus/reflow in the existing owner. Old GET-only retry/movedfocus behaviors already passed RED and remain. Explicit captured write Retry does not prove network-uncertain event deduplication; lastwriter/date/DST obligations remain. Clear shows existing Shellpoll lag; generated English reasons inNB go toP7-11, customfallback staysraw. New17all-enabledscans0/114 retain full contrast/heading-context requirements; no human/device/output/wholePRES debt closes.
|
||||
|
||||
@@ -164,3 +164,7 @@ Implemented P7-03 scope is **CONDITIONAL GO**. The normal import/history push `5
|
||||
### P7-05 Offers finite disposition
|
||||
|
||||
[Offers results](p7-05/evidence/offers-results.json): J01/J02/J08/W11 first25/actualtotal/effectiveorder, supported full-list route/Back/owned workspace, owner/foreign/anonymous boundaries and original salary/date/free-text contract. Fresh9/1/new4native/backend6/types/lint/build pass;14actual image reviews and14all-enabledscans0/15 qualified. Unknown-period compatibility is explicit legacyGETprojection, not persistence proof. All57 remain56 PARTIAL/C11 DEFERRED/32routes; derived696/93/browser267 are not integrated totals. Reminders/manual/release obligations remain; final hygiene/normal push pending.
|
||||
|
||||
### P7-05 Reminders and checkpoint disposition
|
||||
|
||||
[Reminders results](p7-05/evidence/reminders-results.json): J01/J02/J09/W11 unchanged groups/reasons/query/date/body/event/route and owner boundaries; capturedwrite versusGET-only retry, held single mutation and focus. Fresh17/3/new6native/backend6/types/lint/build pass;17actual image reviews/17all-enabledscans0/114 qualified. All57 remain56 PARTIAL/C11 DEFERRED/32routes. Generated reason localisation→P7-11; polling/network-uncertain write/DST/manual obligations retained. P7-05 implemented CONDITIONAL GO/hygienePASS+pushpending;706/94/browser273 derived only. P7-06 entry must preserve loaded dirty forms/frozen history and repair confirmed compose identity/save races at its approved boundary.
|
||||
|
||||
@@ -13,7 +13,7 @@ The entry commit is `b5319981ad3d1bd635daff861453d23c0de5320b` on `codex/ui-rede
|
||||
| [P7-02](p7-02/README.md) | Onboarding and Career overview/evidence | Entryad7b419 pushed/verified; bounded onboarding CONDITIONAL GO32/13/4+types/lint/build/13 actual PNG inspections, hygiene PASS and d21501aa push verified23:55:12UTC. Separate SQLite evidence-list repair91 guards/HTTP1/Release passed, pushed01281f52/direct receipt00:06:47UTC with unfinished Career work preserved. Career affected46/3/native14/preservation2/types/lint/build and actual22-image review pass; implemented checkpoint CONDITIONAL GO with99 incompletes/manual gates. Career final hygiene PASS (four commands0,9docs347links0errors); normally pushed8b4d5c2/direct localHEAD=origin=live receipt05:51:04UTC, clean worktree/main unchanged |
|
||||
| [P7-03](p7-03/README.md) | Career structured editing and import review | Source-ID and structured-editor commits pushed; final import/history runtime/design CONDITIONAL GO: affected76/6, native35, backend98/seeder24, types/lint/build PASS;33/54 final images inspected. Import17 scans0/302, editor13 scans0/377, Career22 scans0/99 retained. Final staged hygiene PASS; normal push5d6e3235 directly verified17:28:54UTC with clean worktree/main unchanged. RD21/human/provider/output gates remain;57/32 unchanged |
|
||||
| [P7-04](p7-04/README.md) | CV library and public entry | Implemented CONDITIONAL GO; library fcacae7 push verified. Public affected38/3/native8/types/lint/build and fresh fidelity16/36+8/24 PASS;18 images actually reviewed, frame-tested12/manual gates retained. Public final hygiene PASS/normal push bfa0ab6 directly verified22:24:44UTC, clean main unchanged |
|
||||
| [P7-05](p7-05/README.md) | Discovery, Companies, Offers and Reminders | Entry bfa0ab6 verified; Discovery21/1,new8+existing4native/backend14/types/lint/build pass;18 actual PNG reviews/qualified81+52incompletes. Discovery implemented CONDITIONAL GO, hygiene PASS/normal push34a4d6d verified; Companies30/4,new6+old2+named4native/backend2/types/lint/build pass;20actual PNG reviews/qualified91+163incompletes. Companies implemented CONDITIONAL GO, hygiene PASS/normal pusha8aba85 verified; Offers9/1,new4native/backend6/types/lint/build pass;14actual PNG reviews/15incompletes qualified. Offers implemented CONDITIONAL GO, hygiene PASS/normal push pending; Reminders next |
|
||||
| [P7-05](p7-05/README.md) | Discovery, Companies, Offers and Reminders | Entry bfa0ab6 verified; Discovery21/1,new8+existing4native/backend14/types/lint/build pass;18 actual PNG reviews/qualified81+52incompletes. Discovery implemented CONDITIONAL GO, hygiene PASS/normal push34a4d6d verified; Companies30/4,new6+old2+named4native/backend2/types/lint/build pass;20actual PNG reviews/qualified91+163incompletes. Companies implemented CONDITIONAL GO, hygiene PASS/normal pusha8aba85 verified; Offers9/1,new4native/backend6/types/lint/build pass;14actual PNG reviews/15incompletes qualified. Offers implemented CONDITIONAL GO, hygiene PASS/normal pushc723a4e verified; Reminders17/3,new6native/backend6/types/lint/build pass;17actual PNG reviews/114incompletes qualified. P7-05 implemented CONDITIONAL GO, hygiene PASS/Reminders normal push pending; P7-06 next |
|
||||
| P7-06 | Remaining Application forms and global correspondence | Existing seven-section workspace, immutable packages and draft/send owners; planned |
|
||||
| P7-06F | Deferred `followMode` reviewed composer | Optional separately reviewed mail slice; **DEFERRED** until mode→draft/review action and fallback are explicitly decided |
|
||||
| P7-07 | Documents owner-scoped index | Authenticated metadata-only paginated backend projection first; source destinations from P7-04/06; planned |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# P7-05 — Discovery, Companies, Offers and Reminders
|
||||
|
||||
**Discovery implemented scope CONDITIONAL GO; hygiene PASS/normal push34a4d6d verified. Companies hygiene PASS/normal pusha8aba85 verified; Offers and Reminders remain pending.** Follow the exact [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries): Discovery, Companies, Offers, then Reminders as four separate normal development commits.
|
||||
**P7-05 implemented scope CONDITIONAL GO; all four domains implemented, final Reminders hygiene PASS/normal push pending.** Follow the exact [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries): Discovery, Companies, Offers, then Reminders as four separate normal development commits.
|
||||
|
||||
[Entry evidence](evidence/entry.json) 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.
|
||||
|
||||
@@ -15,7 +15,7 @@ PRES-J01/J02/J08/J09/W11 and all57 groups remain binding;32 routes stay. No stan
|
||||
|
||||
## Discovery implemented result
|
||||
|
||||
**Discovery implemented scope CONDITIONAL GO; hygiene PASS/normal push34a4d6d verified. Companies hygiene PASS/normal pusha8aba85 verified; Offers and Reminders remain pending.** [Finite results](evidence/discovery-results.json) 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.
|
||||
**Discovery implemented scope CONDITIONAL GO; hygiene PASS/normal push34a4d6d verified. Companies hygiene PASS/normal pusha8aba85 verified; Offers hygiene PASS/normal pushc723a4e verified; Reminders remains pending.** [Finite results](evidence/discovery-results.json) 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.
|
||||
|
||||
@@ -29,7 +29,7 @@ Meaningful initial unit RED11/10, peer Retry RED20/1, first native3/5 and focus
|
||||
|
||||
## Companies implemented result
|
||||
|
||||
**Companies implemented scope CONDITIONAL GO; hygiene PASS/normal pusha8aba85 verified. Offers and Reminders remain pending.** [Companies entry](evidence/companies-entry.json) verifies the preceding Discovery push34a4d6d and six committed baselines. [Finite results](evidence/companies-results.json) retain exact source/export, failures, contextual triage and all raw outcomes. Fresh affected **30/4**, new ordinary browser **6**, existing company recovery **2**, named-controls **4**, backend **2**, app/browser TypeScript, lint and production build pass. +7 cases/0 suites gives **689/93 frontend derived only**; browser+6 gives **263 derived only**. Latest whole frontend573/89/backend1,033/sidecar49 remain inherited; P7-12 integrated acceptance is pending.
|
||||
**Companies implemented scope CONDITIONAL GO; hygiene PASS/normal pusha8aba85 verified. Offers hygiene PASS/normal pushc723a4e verified; Reminders remains pending.** [Companies entry](evidence/companies-entry.json) verifies the preceding Discovery push34a4d6d and six committed baselines. [Finite results](evidence/companies-results.json) retain exact source/export, failures, contextual triage and all raw outcomes. Fresh affected **30/4**, new ordinary browser **6**, existing company recovery **2**, named-controls **4**, backend **2**, app/browser TypeScript, lint and production build pass. +7 cases/0 suites gives **689/93 frontend derived only**; browser+6 gives **263 derived only**. Latest whole frontend573/89/backend1,033/sidecar49 remain inherited; P7-12 integrated acceptance is pending.
|
||||
|
||||
Shared tokens and semantic mobile articles/headings replace one-off surfaces. Desktop uses a named keyboard-scrollable table with row headers and predictable source/pipeline/date/action columns; its840px canvas scrolls within the container without app-chrome overflow. Existing nine-field PUT, trim/null/date/source semantics, existing routes and arbitrary company pipeline text stay intact. Canonical related application statuses use existing localisation. Loaded relationship title prefers fresh response metadata; selected name remains available during loading.
|
||||
|
||||
@@ -51,7 +51,7 @@ Companies was normally pushed as a8aba852994859d4c010cb57bb0607ec9c564bbe; direc
|
||||
|
||||
## Offers implemented result
|
||||
|
||||
**Offers implemented scope CONDITIONAL GO; hygiene PASS/normal push pending. Reminders remains pending.** [Offers entry](evidence/offers-entry.json) carries the verified Companies pusha8aba85 and exact committed baselines. [Finite results](evidence/offers-results.json) record fresh **9/1 frontend**, **4 ordinary native**, **6 unchanged-backend** cases and app/browser TypeScript, lint and production build PASS. +7/0 gives **696/93 frontend derived only**; browser+4 gives **267 derived only**. Latest whole573/89/backend1,033/sidecar49 are inherited until P7-12.
|
||||
**Offers implemented scope CONDITIONAL GO; hygiene PASS/normal pushc723a4e verified. Reminders remains pending.** [Offers entry](evidence/offers-entry.json) carries the verified Companies pusha8aba85 and exact committed baselines. [Finite results](evidence/offers-results.json) record fresh **9/1 frontend**, **4 ordinary native**, **6 unchanged-backend** cases and app/browser TypeScript, lint and production build PASS. +7/0 gives **696/93 frontend derived only**; browser+4 gives **267 derived only**. Latest whole573/89/backend1,033/sidecar49 are inherited until P7-12.
|
||||
|
||||
The existing first25 comparison is labelled with shown/actualtotal; when truncated, copy explains application-date order and links to the complete supported Jobs list. ExplicitdateAppliedasc preserves the actual old deadline-fallback order. Existing source route/filter, Back and owned Job workspace response/navigation pass. Shared H2/header, feedback, named stable region, H3 articles, card tokens and wrapping actions match the design system. Read Retry uses the original query, transfers focus before disabling its control and guards duplicates. Live EN/Bokmål changes retranslate loaded/error states without another Offer read. Empty/error/pending are distinguished.
|
||||
|
||||
@@ -62,3 +62,21 @@ All **14 latest PNGs were displayed/reviewed**, including eight balanced320/360/
|
||||
Unit RED1/8 becomes9/1; a test-only narrow Intl.Locale mock type was corrected without altered assertions after preserving failed types/build. Native first3/1 timeout was a test wait for plain detail; actual Job navigation correctly used the existingworkspace endpoint. Correct endpoint plus exact ownedID/title and unchanged120s timeout now pass4/4. No skips/expected failures/retries/relaxed assertions or axe waivers. All57 remain56 PARTIAL/C11 DEFERRED,32 routes, main27657f3/production NO-GO; P5-13 withheld and Phase8 separate.
|
||||
|
||||
[Final finite hygiene](evidence/offers-static-checks.json): four raw commands0 at2026-10-13 11:18:52–55UTC,12documents/431links0errors,57groups/32routes. Contrast15 comprises14 invisible-zero badge short-text nodes and1 unknown-background overlap on the selected Norsk header button in NB/light1440 held Retry; relatedNodes are empty and ratio0 inconclusive. Deliberate focus is visible in captures, but full-page landscape focus below the initial fold after capture scroll reset is not viewport-occlusion qualification. Final staged whitespace follows staging; normal push receipt follows observation in the successor.
|
||||
|
||||
## Reminders implemented result and P7-05 disposition
|
||||
|
||||
**Reminders and implemented P7-05 scope CONDITIONAL GO; hygiene PASS/normal push pending.** [Reminders entry](evidence/reminders-entry.json) carries the actual verified Offers pushc723a4e. [Finite results](evidence/reminders-results.json): fresh **17/3 frontend**, **6 ordinary native**, **6 unchanged-backend**, app/browser TypeScript, lint and build pass. New10/+1suite gives **706/94 frontend derived only**; new6 gives **273 browser derived only**. P7-05 adds33 cases/1suite and24 ordinary browser cases across four domains; no integrated totals until P7-12. Latest whole573/89/backend1,033/sidecar49 stay inherited, backend1,034 derived.
|
||||
|
||||
Existing four groups, server reason precedence, group order,14-day query and workflow destinations remain. Shared H2/header, named stable region, H3 groups with readable counts, H4 named articles, tokens, wrapping chips and actions replace one-off presentation. Canonical statuses and dates follow current UI language; translated controls include their visible text in contextual accessible names. Custom fallback text remains verbatim; generated serverEnglish reasons in Bokmål are explicit P7-11 residual localisation work.
|
||||
|
||||
One synchronous mutex protects PATCH and its following refresh; all row actions lock through pending state. Focus transfers to the stable region before controls disable, survives row removal and never overrides deliberately moved focus. Durable local failure uses the existing shared notice/Toast. Explicit write Retry retains the original job/date/offset; a new row action creates fresh intent. PATCH204 followed by failed GET shows a read error and Retry repeats GET only, preserving the single recorded event. Loaded rows stay available but disabled while recovery is needed; initial/permission failures do not fabricate empty results. Locale changes retranslate controls/fallbacks without another page read.
|
||||
|
||||
Real isolated HTTP proves all4 groups/counts/reasons/routes/Back and owner/deleted/anonymous boundaries, exact+3/+7/null payloads and stored follow-up/history after reload. Existing absolute-millisecond-to-UTC-date calculation and noExpectedVersion contract are preserved; calendar/DST/distributed idempotency are unqualified. A network-uncertain PATCH may already have committed. Controlled500 did not commit; local duplicate guards and GET-only failed-refresh recovery do not prove uncertain-write deduplication. Shell's independent identical initial/60s poll remains; Clear image shows pageempty/sidebarbadge1 until poll, an observed existing cadence qualification. No claim of one total GET/page or instantaneous sidebar consistency.
|
||||
|
||||
All **17 final PNGs were displayed/reviewed**, including eight balanced320/360/390/768/1024/1280 landscape/1440/1920 EN/Bokmål/light/dark samples and read/write/recovery/focus states. The320px long capture was display-resized; no every-pixel/device claim. Root overflow0 and keyboard actions pass. Seventeenall-enabled axe+target-size scans retain **0 violations/114 incompletes**:17 invisible-zero badge,92 unknown-background overlap (90 row actions/2 Norsk header) and5 unable-to-determine-previous-heading during held read recovery. Complete vectors remain; empty related nodes/ratio0 do not establish causes/contrast. Human reader/browse announcements, actual zoom/physicaltouch/software keyboard and output/production requirements stay open.
|
||||
|
||||
Meaningful RED2/8 includes3 actual PATCHs for each held+3/+7/clear, unreachable local write recovery, incorrect host-locale date and extra locale GET; unchanged10 new+7 original assertions now pass17/3. First native6/6 passes with no skips/retries/xfail/waivers. Real runtime explicitly disablesfollow-up/AI/saved-search workers; no delivery/model/qualification. All57 groups remain56 PARTIAL/C11 DEFERRED and32 routes. P5-13 withheld, P7-06F deferred, production NO-GO/main27657f3 and Phase8 separate.
|
||||
|
||||
All four approved P7-05 domains are now implemented as separate coherent commits: Discovery34a4d6d, Companiesa8aba85, Offersc723a4e and this Reminders boundary. Proceed to P7-06 embedded forms, then inbox/read, then compose/send. Existing seven-section workspace remains; confirmed recovery/dirty/delivery safety findings are entry dependencies for the affected owner, not permission for a framework or schema rewrite.
|
||||
|
||||
[Final finite hygiene](evidence/reminders-static-checks.json) passed four raw commands at2026-10-13 11:48:26–28UTC,12documents/437links0errors,57groups/32routes. Final staged whitespace follows staging; normal Reminders push receipt follows observation in P7-06 entry.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"checkpoint": "P7-05",
|
||||
"slice": "Offers",
|
||||
"recordedUtc": "2026-10-13T11:18:51.433412+00:00",
|
||||
"acceptance": "OFFERS_IMPLEMENTED_SCOPE_CONDITIONAL_GO_HYGIENE_PASS_NORMAL_PUSH_PENDING_REMINDERS_PENDING",
|
||||
"acceptance": "OFFERS_IMPLEMENTED_SCOPE_CONDITIONAL_GO_HYGIENE_PASS_NORMAL_PUSH_VERIFIED_REMINDERS_PENDING",
|
||||
"entryReceipt": {
|
||||
"checkpoint": "P7-05",
|
||||
"slice": "Offers",
|
||||
@@ -1947,5 +1947,105 @@
|
||||
"Local links check target existence, not URL/heading anchors.",
|
||||
"Static evidence is not runtime/manual/device/provider/production acceptance."
|
||||
]
|
||||
},
|
||||
"push": {
|
||||
"observedUtc": "2026-10-13T11:19:57.030234+00:00",
|
||||
"branch": "codex/ui-redesign-phase4",
|
||||
"head": "c723a4e3032185da623d81ace241eec748506fc7",
|
||||
"originDevelopment": "c723a4e3032185da623d81ace241eec748506fc7",
|
||||
"liveDevelopment": "c723a4e3032185da623d81ace241eec748506fc7",
|
||||
"main": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"liveMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"workingTreeClean": true,
|
||||
"pendingPaths": [],
|
||||
"commands": [
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"branch",
|
||||
"--show-current"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "codex/ui-redesign-phase4\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"HEAD"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "c723a4e3032185da623d81ace241eec748506fc7\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"origin/codex/ui-redesign-phase4"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "c723a4e3032185da623d81ace241eec748506fc7\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"main"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"origin/main"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"ls-remote",
|
||||
"origin",
|
||||
"refs/heads/codex/ui-redesign-phase4",
|
||||
"refs/heads/main"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "c723a4e3032185da623d81ace241eec748506fc7\trefs/heads/codex/ui-redesign-phase4\n27657f31131cd95d42f0e1290853ec9c9b3959a4\trefs/heads/main\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"status",
|
||||
"--porcelain=v1"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"checkpoint": "P7-05",
|
||||
"slice": "Reminders",
|
||||
"entry": "CONDITIONAL_GO",
|
||||
"previousOffersPush": {
|
||||
"observedUtc": "2026-10-13T11:19:57.030234+00:00",
|
||||
"branch": "codex/ui-redesign-phase4",
|
||||
"head": "c723a4e3032185da623d81ace241eec748506fc7",
|
||||
"originDevelopment": "c723a4e3032185da623d81ace241eec748506fc7",
|
||||
"liveDevelopment": "c723a4e3032185da623d81ace241eec748506fc7",
|
||||
"main": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"liveMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"workingTreeClean": true,
|
||||
"pendingPaths": [],
|
||||
"commands": [
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"branch",
|
||||
"--show-current"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "codex/ui-redesign-phase4\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"HEAD"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "c723a4e3032185da623d81ace241eec748506fc7\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"origin/codex/ui-redesign-phase4"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "c723a4e3032185da623d81ace241eec748506fc7\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"main"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"origin/main"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"ls-remote",
|
||||
"origin",
|
||||
"refs/heads/codex/ui-redesign-phase4",
|
||||
"refs/heads/main"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "c723a4e3032185da623d81ace241eec748506fc7\trefs/heads/codex/ui-redesign-phase4\n27657f31131cd95d42f0e1290853ec9c9b3959a4\trefs/heads/main\n",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
},
|
||||
{
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"status",
|
||||
"--porcelain=v1"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"stdout": "",
|
||||
"stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n"
|
||||
}
|
||||
]
|
||||
},
|
||||
"baselineSources": [
|
||||
{
|
||||
"path": "job-tracker-ui/src/components/RemindersView.tsx",
|
||||
"gitBlobSha256": "42780d9229c1ff3b56b33562da58ca17ab182b2397dafeaf9cdd7d3fb04a1f0c",
|
||||
"bytes": 6075
|
||||
},
|
||||
{
|
||||
"path": "job-tracker-ui/src/jobWorkflowSignals.ts",
|
||||
"gitBlobSha256": "cde4372017c13f21de8b4e2259923d80beda36506784d7be089432622fbd6b0b",
|
||||
"bytes": 2701
|
||||
},
|
||||
{
|
||||
"path": "job-tracker-ui/src/daily-control-loop.test.tsx",
|
||||
"gitBlobSha256": "9bd0a047e384ced6616129271e771658bd6bf133aaf7c3a7fa6d6a8f1e9a735e",
|
||||
"bytes": 11650
|
||||
},
|
||||
{
|
||||
"path": "job-tracker-ui/src/workflow-trust-signals.test.tsx",
|
||||
"gitBlobSha256": "92a27f54f9b347a5069845f62524fe9cd5d2d10196ec6619e6895dbf04fe7b4b",
|
||||
"bytes": 11688
|
||||
},
|
||||
{
|
||||
"path": "JobTrackerApi/Controllers/JobApplicationLifecycleController.cs",
|
||||
"gitBlobSha256": "a86e09a8c6b5564e47959f969e843855f2ba866ffad816e3ba41dd84d0a115ad",
|
||||
"bytes": 6593
|
||||
}
|
||||
],
|
||||
"baseline": "Fresh7/2 daily-control-loop/workflow-trust-signals, no separate missing helper test claimed. Source/prerun/raw frozen in ignored reminders/unit-baseline. Latest whole573/89/backend1033/sidecar49 inherited;696/93/frontend267browser/backend1034 derived only.",
|
||||
"scope": "Existing upcomingDays14/all4groups/workflow reason precedence and destinations, original UTC+3/+7/clear followup PATCH andFollowUpSet event/noExpectedVersion. Protect held operations/durableexplicit recovery/readRetry, currentlocale/status/date/reflow/focus; no date/DST/provider/model/followMode/schema/production change.",
|
||||
"backendBaseline": {
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"C:/Users/Connor/.dotnet/dotnet.exe",
|
||||
"test",
|
||||
"JobTrackerApi.Tests/JobTrackerApi.Tests.csproj",
|
||||
"--configuration",
|
||||
"Release",
|
||||
"--no-build",
|
||||
"--filter",
|
||||
"FullyQualifiedName~JobApplicationsWorkflowSignalsTests|FullyQualifiedName~InterviewPrepTests.Setting_a_follow_up|FullyQualifiedName~InterviewPrepTests.Follow_up_counts|FullyQualifiedName~InterviewPrepTests.Clearing_a_follow_up|FullyQualifiedName~InterviewPrepTests.Follow_up_is_not_reachable",
|
||||
"--logger",
|
||||
"trx;LogFileName=career.trx",
|
||||
"--results-directory",
|
||||
"E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\backend-career\\p705-reminders-20261013T112252Z"
|
||||
],
|
||||
"startedUtc": "2026-10-13T11:22:52.268196+00:00",
|
||||
"finishedUtc": "2026-10-13T11:22:54.980345+00:00",
|
||||
"exitCode": 0,
|
||||
"logSha256": "ad0ef58d24b234fbeba0a693a2b4013e4ffd03e0ba13d2730ed985aa46829cc9",
|
||||
"counts": {
|
||||
"total": 6,
|
||||
"passed": 6,
|
||||
"failed": 0,
|
||||
"notExecuted": 0
|
||||
},
|
||||
"resultSha256": "b46be1188b9460210f54d09c2dcb82928233069e14f8a7504425e8d4ff51d989"
|
||||
},
|
||||
"backendQualification": "Existing WorkflowSignals2+InterviewPrep followup4 pass on same verified unchanged Release DLL; no full backend rebuild/run and no mail delivery qualification."
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"checkpoint": "p7-05",
|
||||
"status": "PASS",
|
||||
"checkedUtc": "2026-10-13T11:48:29.328699+00:00",
|
||||
"commands": [
|
||||
{
|
||||
"name": "secret-scan",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"C:\\Users\\Connor\\AppData\\Local\\Programs\\Python\\Python312\\python.exe",
|
||||
"-X",
|
||||
"utf8",
|
||||
"scripts/supply-chain.py",
|
||||
"scan-secrets"
|
||||
],
|
||||
"startedUtc": "2026-10-13T11:48:26.119344+00:00",
|
||||
"finishedUtc": "2026-10-13T11:48:28.659087+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261013T114826Z/secret-scan.log",
|
||||
"logSha256Raw": "c5a88d5ebdc042adba125c1eaacbe44f9f4a5c19898c0f195573c00d511aa28d"
|
||||
},
|
||||
{
|
||||
"name": "working-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check"
|
||||
],
|
||||
"startedUtc": "2026-10-13T11:48:28.660091+00:00",
|
||||
"finishedUtc": "2026-10-13T11:48:28.762104+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261013T114826Z/working-whitespace.log",
|
||||
"logSha256Raw": "0e9d3abafb46d589ad291e48e12aeb87ddf8e28f5b77a06ab2bddb34e1920bdc"
|
||||
},
|
||||
{
|
||||
"name": "staged-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--cached",
|
||||
"--check"
|
||||
],
|
||||
"startedUtc": "2026-10-13T11:48:28.762104+00:00",
|
||||
"finishedUtc": "2026-10-13T11:48:28.838663+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261013T114826Z/staged-whitespace.log",
|
||||
"logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
|
||||
},
|
||||
{
|
||||
"name": "phase7-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check",
|
||||
"b5319981ad3d1bd635daff861453d23c0de5320b"
|
||||
],
|
||||
"startedUtc": "2026-10-13T11:48:28.838663+00:00",
|
||||
"finishedUtc": "2026-10-13T11:48:28.986924+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261013T114826Z/phase7-whitespace.log",
|
||||
"logSha256Raw": "a5b924c165678b49a53b6057628b86d2f2382969a42a62cf348b91e6d250137c"
|
||||
}
|
||||
],
|
||||
"untrackedSecretScan": {
|
||||
"files": 4,
|
||||
"findings": 0
|
||||
},
|
||||
"documentation": {
|
||||
"files": 12,
|
||||
"relativeLinks": 437,
|
||||
"errors": []
|
||||
},
|
||||
"preservation": {
|
||||
"groups": 57,
|
||||
"statuses": {
|
||||
"PARTIAL": 56,
|
||||
"PASS": 0,
|
||||
"FAIL": 0,
|
||||
"DEFERRED": 1
|
||||
},
|
||||
"originalRoutesPreserved": true,
|
||||
"currentConcreteRoutes": 32
|
||||
},
|
||||
"production": {
|
||||
"main": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"status": "NO-GO",
|
||||
"qualification": "Local fetched refs; direct push observation recorded separately."
|
||||
},
|
||||
"hashPolicy": "Portable JSON UTF8 LF; raw log hashes measure exact saved bytes.",
|
||||
"limits": [
|
||||
"Pattern scanner skips binary and files over2MiB; not historical Git/production secrets.",
|
||||
"Local links check target existence, not URL/heading anchors.",
|
||||
"Static evidence is not runtime/manual/device/provider/production acceptance."
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user