feat(ui): migrate reminders and protect follow-up recovery
This commit is contained in:
@@ -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