fix(notifications): preserve action state and accessible recovery
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
# P7-08 — Existing notifications and operations
|
||||
|
||||
**Status: separate UTC compatibility repair validated locally; recent/count presentation remains in progress after its 49-case GREEN candidate. Final UI/native/publication acceptance is pending.** This checkpoint migrates existing notification and operation interfaces under the [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries) and [implementation plan](../../IMPLEMENTATION_PLAN.md). It preserves the existing stores, routes, permissions and operation lifecycle.
|
||||
**Status: UTC repair published; recent popover/shell slice implemented CONDITIONAL GO with final staged hygiene, commit and its own normal push pending. Operations migration remains pending.** This checkpoint migrates existing notification and operation interfaces under the [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries) and [implementation plan](../../IMPLEMENTATION_PLAN.md). It preserves the existing stores, routes, permissions and operation lifecycle.
|
||||
|
||||
## Entry and publication qualification
|
||||
|
||||
[P7-07 local acceptance](../p7-07/README.md) and its [Documents interface report](../p7-07/UI.md) establish the preceding bounded work. Documents code is committed locally as `5a67ec3d3d5dc27298814b0a3f46540cb54ea3a3`; publication documentation is committed as `84350b71a67400cd62730e46bf05f06176bcd733`. Neither local commit is evidence of publication.
|
||||
|
||||
Two actual normal development pushes fail because the configured Git host cannot be reached on port 443. The latest attempt runs **2026-10-16 16:31:50.187856–16:32:11.434629 UTC**, exit **128**, retained under `.artifacts/phase7/p7-07/ui-publication-attempt-2/`. The earlier verified development remote at `8e4db12` is historical, not current live identity. Local `main` remains `27657f31131cd95d42f0e1290853ec9c9b3959a4`; this work does not push it. P7-07 publication remains blocked.
|
||||
Two actual normal development pushes fail because the configured Git host cannot be reached on port 443. The second attempt runs **2026-10-16 16:31:50.187856–16:32:11.434629 UTC**, exit **128**, retained under `.artifacts/phase7/p7-07/ui-publication-attempt-2/`. Publication is blocked at that observation; cached `8e4db12` is not current live identity. These failures remain in the [publication chronology](../p7-07/evidence/ui-publication.json).
|
||||
|
||||
Independent P7-08 contract review, baseline checks and bounded safe work can proceed locally. The remote-access failure does not waive normal publication: each completed boundary still requires commit, push and fresh HEAD/remote verification. P7-12 cannot accept unpublished slices. After the **20:52 UTC** resumption, a fetch at **20:53:25–20:53:46** also exits 128 for the same connection failure; no new remote identity or execution during the usage pause is inferred.
|
||||
Independent P7-08 contract review and bounded safe work proceed while publication is blocked. After the **20:52 UTC** resumption, a fetch at **20:53:25–20:53:46** again exits128; no execution during the pause is inferred. A later normal push **21:00:51.343381–21:00:53.589287** succeeds. At **21:01:11.788733**, HEAD/origin/direct development all equal **`9dfea1226f57ba12b944e05e0e83fb2fea846131`**, publishing Documents `5a67ec3`, publication documentation `84350b7` and the separate UTC repair. Local/origin/live main remain `27657f31131cd95d42f0e1290853ec9c9b3959a4`. Immutable receipt `.artifacts/phase7/p7-08/utc-push-receipt.json`, SHA256 `12f339239dfb6ef458d31ca6918555e4eb4ce35bc5dacfa3acd33cd34ebffd65`, records known presentation WIP: synchronized refs do not mean a clean checkout or publication of that WIP. Each later completed slice still requires its own normal push; P7-12 cannot accept unpublished work.
|
||||
|
||||
## Two bounded presentation boundaries
|
||||
|
||||
@@ -58,18 +58,26 @@ Operations inspection records additional review targets: polling and list reads
|
||||
|
||||
## Separate UTC repair and native evidence plan
|
||||
|
||||
The [UTC repair report](UTC_TRANSPORT.md) and [portable results](evidence/utc-results.json) record ordinary **3 pass / 1 fail RED**, then **4/4 GREEN** and **73/73 related consumers**. Seven DTO projections now label stored UTC ticks without conversion, data writes or schema/auth/queue changes. This proves real SQLite plus direct-controller Web JSON serialization, **not hosted HTTP**; actual Program/cookie transport evidence remains pending. The repair is separate from presentation acceptance.
|
||||
The [UTC repair report](UTC_TRANSPORT.md) and [portable results](evidence/utc-results.json) record ordinary **3 pass / 1 fail RED**, then **4/4 GREEN** and **73/73 related consumers**. Seven DTO projections label stored UTC ticks without conversion, data writes or schema/auth/queue changes. This gate proves real SQLite/direct-controller Web JSON. Later actual Program/cookie native cases additionally observe available operation/notification UTC fields over HTTP; null hosted fields do not establish all-seven-field coverage. The published repair remains separate from presentation acceptance.
|
||||
|
||||
The guarded operation-only helper passes **29 self-checks**, **20:55:29.159474–20:55:29.645478**, using only its own temporary directory; its captured source remains held. This is not native/hosted evidence: actual CLI/schema execution and an existing cancel transition producing a notification remain pending. The Career seeder stays unchanged. Do not enable an operation handler, AI/model/provider worker or external grant to manufacture fixture content. Setup and actual domain-transition evidence must remain distinguishable from presentation fixtures.
|
||||
The guarded operation-only helper passes **29 self-checks**, **20:55:29.159474–20:55:29.645478**, using only its own temporary directory. It is then used by actual native setup for an inert queued operation; existing real cancel/retry/read/dismiss endpoints own the persisted transitions. No handler, provider/model worker or external grant is enabled, and the Career seeder stays unchanged. Actual terminal notices have no result link; controlled internal-link/long-message GET projections are labelled presentation evidence, not new producer capabilities.
|
||||
|
||||
Required native evidence includes real local-cookie read/dismiss/unread/reload and owner isolation, known/unknown count recovery, existing result/context links, failure/Retry/cancel, disconnect/reconnect recovery and no duplicate starts. Exercise keyboard/focus, bounded scroll containers, long English/Bokmål text and both themes across finite mobile/tablet/desktop samples. Record exact routes and writes, preserve every axe incomplete context and inspect actual images before drawing visual conclusions. No native, visual, axe or human acceptance is claimed at this entry checkpoint.
|
||||
Required native evidence includes real local-cookie read/dismiss/unread/reload and owner isolation, known/unknown count recovery, existing context links, failure/Retry/cancel, reconnect recovery and no duplicate starts. Preserve keyboard/focus, bounded scrolling, long English/Bokmål text and both themes across finite sizes. Exact routes/writes, every axe incomplete context and actual image review remain required. The initial entry claimed no native evidence; the finite final run is recorded below and supplies no human or production acceptance.
|
||||
|
||||
## Preservation, counts and remaining work
|
||||
|
||||
All **57 preservation groups remain 56 PARTIAL / C11 DEFERRED**; [preservation](../PRESERVATION.md) and [debt](../DEBT.md) remain binding. Keep **33 current routes**, comprising the original 32 plus Documents. Existing canonical Career Profile data, CV overrides/revisions, frozen packages, attachment bytes and provider/tenant boundaries remain protected. Notification read/dismiss must not alter those resource owners.
|
||||
|
||||
Entry inventory is **frontend 755/95, browser 312, backend 1,053** from P7-07. The one new UTC Fact derives backend **1,054**; 18 new frontend cases with no new suites derive **773/95**. The earlier 772/95 candidate count precedes the final Retry-focus case. These are inventories, not fresh integrated pass counts or final whole-checkpoint counts. Browser inventory stays 312 until native additions are executed and reconciled. Preserve all ordinary failures; no skip or expected-failure marker may conceal one. P7-12 owns the fresh integrated suite; its last full backend baseline remains 1,033.
|
||||
Entry inventory is **frontend 755/95, browser 312, backend 1,053** from P7-07. One new UTC Fact derives backend **1,054**; 18 new frontend cases with no new suites derive **773/95**, and six new native cases derive browser **318**. Earlier 772/95 precedes the final Retry-focus case. These are inventories, not fresh integrated counts: last full frontend **573/89**, backend **1,033** and sidecar **49** remain inherited. Preserve all ordinary failures without skip/expected-failure masking. P7-12 owns fresh integrated regression.
|
||||
|
||||
Complete UTC repair hygiene and its separate commit, finish recent/count regressions and native/visual evidence, then validate the distinct Operations boundary. Each completed logical repair needs automated evidence, preservation reconciliation, hygiene, commit and normal push, with manual/native qualifications recorded honestly. Publication remains an actual network blocker; do not claim current synchronization from old refs.
|
||||
UTC repair hygiene/commit/publication are complete. Recent-slice images are reviewed; finish staged hygiene and its separate commit/normal push, retaining contextual/manual qualifications, then implement the distinct Operations boundary. Remote recovery of earlier commits does not publish presentation WIP. Each later logical boundary still needs its own evidence, preservation reconciliation and verified publication.
|
||||
|
||||
## Recent popover and shell — final finite evidence
|
||||
|
||||
[Recent-slice report](RECENT.md) and [portable recent results](evidence/recent-results.json) record final **49 cases / six suites PASS**, **21:06:55.374107–21:07:11.749777 UTC**, and **six native cases PASS**, **21:07:45.451559–21:08:28.257520**, with no skipped/unexpected/flaky native result or retry. Lint, app/browser TypeScript and build all pass **21:06:41.264525–21:07:45.444153**; final build is **`lIzSurm9WwMhPbE11MvC9`**. Earlier candidate results remain chronological evidence, not substitutes for this run.
|
||||
|
||||
Final consumers independently pass **Documents 8/8**, **21:08:28.263615–21:09:23.407862**; **CV frame 4/4**, **21:09:23.415937–21:10:54.533727**; **ordinary P2-D01 1/1**, **21:10:54.543299–21:11:08.177981**. Consumer capsule `recent-final-consumers/results.json` SHA256 is `d651e02c416023bccb84ab00d6cfe1222865819899f14417577f946667a1632c`. All 21 captured sources hold **21:06:33.992833→21:11:29.899599**; API/test DLLs remain unchanged.
|
||||
|
||||
All **16 final notification PNGs** are actually reviewed, eight by root and eight by peer. The **14 enabled axe/target-size scans record 0 violations / 102 incomplete nodes**, retained for contextual/manual qualification. Preliminary hygiene passes at **21:12:44 UTC**: 22 documents, 538 local links, all 57 groups and 33 routes. Final staged hygiene, commit and normal push remain pending. Real local API transitions and controlled projections remain distinguished; no all-seven-date hosted, human screen-reader, physical-device or production qualification follows. **First presentation slice: implemented CONDITIONAL GO, pending staged hygiene/commit/push. Whole P7-08: ongoing; Operations migration remains pending.**
|
||||
|
||||
Human screen-reader, real zoom, physical touch/software keyboard, production font/photo/print, actual MariaDB/provider execution and existing reliability debt remain qualified. P5-13 stays withheld with zero model qualification calls; followMode stays deferred. Production ingress, backup/restore, schema/configuration and tested rollback remain open release gates. **P7-08 acceptance: PENDING. Production: NO-GO; main not pushed. Phase 8: no implementation.**
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# P7-08 — Recent notifications and shell count
|
||||
|
||||
This is the first of the two presentation boundaries in the [checkpoint](README.md). It reuses the existing MUI popover, application shell, notification event, router, API and EN/Bokmål catalog. The separate [UTC repair](UTC_TRANSPORT.md) is already committed. The Operations page remains the next boundary.
|
||||
|
||||
## Baseline and corrections
|
||||
|
||||
The existing 12 cases/3 suites pass before changes. Ordinary regressions then reproduce duplicate actions, navigation after a failed implicit read, stale completions, untranslated recovery and focus lost to BODY. The checkpoint README records all three RED observations and their source limits. No test is skipped or marked expected failure.
|
||||
|
||||
The popover reserves each action synchronously and rejects old GET/action completions after close, reopen or disposal. An implicit read must succeed before Open closes or navigates. Failed actions retain known notices; Retry performs GET only. Language changes translate the current error and format dates without another list request. The named dialog retains MUI focus trapping/restoration; a stable content fallback preserves focus when a pending action is disabled or removed, without overriding a deliberate move to Close. Its bounded scrolling body leaves the close control and activity link reachable in short landscape.
|
||||
|
||||
The shell distinguishes a known count, explicit zero and unknown/unavailable count. A visually hidden live status describes the bell, whose accessible name stays Notifications/Varsler. `Unread notifications: {count}` / `Uleste varsler: {count}` also works for one. Abort/generation guards prevent older count requests from replacing newer results or publishing after session disposal. Polling frequency and the existing notification-change event remain unchanged.
|
||||
|
||||
The activity link now accurately describes a recent, bounded list. No notification route, producer, worker, result URL, data-saving owner or model capability is added. Read/dismiss alter the notice only.
|
||||
|
||||
## Runtime evidence and its limits
|
||||
|
||||
The [portable result](evidence/recent-results.json) is the authoritative final bounded manifest. It distinguishes executed cases, build/source identities, raw reports, image review and remaining manual acceptance. Candidate evidence remains retained under `.artifacts/phase7/p7-08/`; it is not substituted for a later source/build.
|
||||
|
||||
The operation fixture inserts only an inert queued `native-offline-fixture` into its own guarded test database. Its 29 assert-based checks cover path/schema/owner/SQL-write restrictions. Existing real cookie-authenticated Cancel creates the notice; actual read/dismiss/reload, idempotence, same-ID Retry and tenant denials are checked against the real local API. The fixture never registers a handler, activates AI or calls a provider.
|
||||
|
||||
Six ordinary browser cases cover the persisted lifecycle, owner/sign-out boundaries, unknown-count and list failures, failed actions/current-language recovery, dirty-navigation cancellation, and eight finite responsive/theme/language samples. Controlled link destinations and long text are explicitly labelled GET projections. Actual terminal notices have no result link; no result-data contract is inferred. The first native attempt fails all six teardown checks because an intentionally aborted Google Fonts stylesheet is counted as an unexpected external request. The corrected guard separately records and still aborts that exact known stylesheet; every other unexpected/provider/model request remains an ordinary failure. All failed reports and source boundaries remain retained.
|
||||
|
||||
Build `-A-T31QuUMNqWVSxMqUu7` passes all six notification cases plus Documents 8, CV frame 4 and ordinary P2-D01 1. All 21 captured inputs are held through the consumer run. Its 16 notification PNGs were actually reviewed, including paired 320px and 1280×320 viewport captures. These observations precede the final singular-safe accessible-count copy; final evidence records the subsequent build and fresh checks separately.
|
||||
|
||||
The candidate's 14 all-enabled axe scans report zero violation nodes and 102 incomplete occurrences: 14 modal-root focus checks, four short badge-text contrast checks, 83 overlapping-background contrast checks and one partially obscured Dashboard navigation label. Full node/check vectors are retained. Dialog keyboard assertions and image review do not certify human screen-reader behavior, actual zoom, physical touch/software keyboard or production fonts. The final manifest records its own scan totals rather than assuming they match this candidate.
|
||||
|
||||
## Preservation and remaining work
|
||||
|
||||
Final build **`lIzSurm9WwMhPbE11MvC9`** passes **49/6 affected frontend cases**, app/browser TypeScript, lint and build, then **6/6 notification + 8 Documents + 4 CV frame + ordinary P2-D01 = 19/19 browser cases**, with zero skipped/flaky cases. Execution ends at **21:11:08.177981 UTC**. All 21 finite inputs match from **21:06:33.992833** to **21:11:29.899599**; API/test DLL identities remain unchanged. All 16 final notification PNGs are actually reviewed; 18 consumer PNGs are retained without a new whole-consumer visual-acceptance claim. Final notification axe results remain **14 scans / 0 violation nodes / 102 incomplete occurrences** with the contextual qualifications above. Consumer scan scopes remain separate in the portable result.
|
||||
|
||||
Scoped peer code review finds no blocking defect. Secret/whitespace/document/route/matrix checks pass; the [final hygiene manifest](evidence/recent-static-checks.json) records its actual scope. Normal push is recorded separately. **Implemented recent/count scope: CONDITIONAL GO; whole P7-08 remains ongoing.**
|
||||
|
||||
All 57 groups remain **56 PARTIAL / C11 DEFERRED**, with the original 32 route patterns plus approved `/documents` retained. Existing ownership, Career canonical facts, CV overrides/revisions, frozen packages, attachments and PDF geometry remain protected by their established owners and relevant consumer checks. No whole-group acceptance is inferred.
|
||||
|
||||
The added 15 popover and three shell cases derive frontend **773/95** from 755/95; six ordinary browser cases derive **318** from 312. The separately committed UTC Fact derives backend **1,054**. These are reconciled inventories, not integrated suite pass counts. The latest whole frontend 573/89, backend 1,033 and sidecar 49 remain inherited until P7-12.
|
||||
|
||||
Operations presentation still requires its separate implementation, regression, native/visual evidence and push. F20, RD11/RD21, existing reliability/manual/provider/output debts, withheld P5-13 and deferred followMode remain open. Production is **NO-GO**; `main` is unchanged. Phase 8 implementation has not started.
|
||||
|
||||
Final staged hygiene passes at **21:14:03.863578 UTC**: secret and working/staged/whole-phase whitespace checks, 22 documents/550 local links, 57 groups and 33 routes. All 21 staged canonical-LF source hashes match the final as-run capture. Normal development push remains the next step.
|
||||
@@ -1,6 +1,6 @@
|
||||
# P7-08 — Operation and notification UTC transport
|
||||
|
||||
**Local SQLite/direct-controller scope: CONDITIONAL GO; hygiene PASS. Hosted HTTP/native acceptance, separate commit and normal push follow.** This bounded compatibility repair precedes the two [P7-08 presentation boundaries](README.md). [Portable UTC results](evidence/utc-results.json) retain exact commands, reports, source observations and qualifications.
|
||||
**SQLite/direct-controller and bounded available-field HTTP scope: CONDITIONAL GO; hygiene PASS, separate repair commit and normal push verified.** Full hosted date coverage and manual/production acceptance remain unverified. This bounded compatibility repair precedes the two [P7-08 presentation boundaries](README.md). [Portable UTC results](evidence/utc-results.json) retain exact commands, reports, source observations and qualifications; the later native observation is bounded below.
|
||||
|
||||
## Demonstrated defect and minimal correction
|
||||
|
||||
@@ -30,7 +30,13 @@ The original three controller cases remain. Added persisted readback assertions
|
||||
|
||||
The API DLL SHA256 `e1d2c1bfc7ba4d9816d5d7b80503e79d2a647ad0ae2f4777e2703508fd32681c` and test DLL SHA256 `425d098903732802b5b304072c6f2e2f4479d74a56cf292d8c152544592dd99a` are actual **post-build/run observations**. They do not prove binary equality across a compilation that changes the product. Frontend work is outside these backend source holds. Resumption at **20:52 UTC** confirms the controller/test sources remain held; no execution is inferred during the usage pause.
|
||||
|
||||
This gate uses **real disk-backed SQLite and direct-controller Web JSON serialization**. It hosts no HTTP server or cookie middleware. Test names containing “API” do not change that boundary. Actual Program/local-cookie native journeys must still verify available UTC fields over HTTP and existing consumers; no hosted all-five-operation-date fixture is claimed. MariaDB, external provider/model execution, human/device/output and production release remain unverified.
|
||||
The four-case/73-consumer gate uses **real disk-backed SQLite and direct-controller Web JSON serialization**. It hosts no HTTP server or cookie middleware. Test names containing “API” do not change that boundary. The separate hosted observation below supplements this gate; it does not replace the all-seven-field deterministic precision proof. MariaDB, external provider/model execution, human/device/output and production release remain unverified.
|
||||
|
||||
## Bounded actual HTTP observation
|
||||
|
||||
Six actual Program/local-Identity-cookie native cases pass **21:00:34.683928–21:01:16.758533 UTC**, zero skipped/unexpected/flaky cases and retries 0. `.artifacts/phase7/p7-08/recent-native-verified/results.json` retains that execution, SHA256 `10ecebb46c208aa4241ad656bcb7ca03f417220f8cf008563896f2ccdda58659`. An inert test-only queued operation is seeded; existing real cancel/retry/read/dismiss endpoints own the subsequent persisted transitions, without worker/provider/model activation.
|
||||
|
||||
The actual lifecycle attachment records UTC-`Z` operation `createdAtUtc`/`completedAtUtc` and notification `createdAtUtc`/`readAtUtc` over HTTP. All available non-null `*AtUtc` fields are asserted as ISO UTC. Started/deadline/cancellation-request dates are null in that hosted fixture, and dismissed time is not a public notification field: **no all-seven-field hosted or deterministic tick-precision claim follows**. Controlled long-text/internal-link GET projections qualify their UI behavior only; actual notices retain `linkPath=null`. This supplies bounded transport evidence, not complete presentation, human/device or production acceptance.
|
||||
|
||||
## Preservation and publication
|
||||
|
||||
@@ -38,4 +44,4 @@ One new ordinary case derives backend inventory **1,054** from **1,053**; the ex
|
||||
|
||||
All **57 PRES groups remain 56 PARTIAL / C11 DEFERRED**, and the original 32 routes plus Documents remain **33**. P5-13 stays withheld with zero model qualification calls; followMode is deferred. This correction does not establish full notification/operation UX acceptance or F20 recovery.
|
||||
|
||||
The [repair static checks](evidence/utc-static-checks.json) pass: secret scan, working/staged/phase whitespace, local documentation links, all 57 preservation groups and 33 current route patterns. Commit this compatibility change separately before presentation commits. P7-07 publication and normal development push remain blocked by the recorded port-443 connection failures; the fresh 20:53 UTC fetch also failed, so no current live remote equality is claimed. Actual commit/push outcomes will be recorded after execution. **Production: NO-GO; main unchanged. Phase 8: no implementation.**
|
||||
The [repair static checks](evidence/utc-static-checks.json) pass: secret scan, working/staged/phase whitespace, local documentation links, all 57 preservation groups and 33 current routes. Repair commit **`9dfea1226f57ba12b944e05e0e83fb2fea846131`** is separately committed and normally pushed at **21:00:51.343381–21:00:53.589287**, together with the previously blocked Documents implementation/documentation. The [publication recovery](../p7-07/evidence/ui-publication.json) preserves failed attempts and the immutable raw recovery receipt/hash. At **21:01:11.788733**, HEAD/origin/live development all equal `9dfea1226f57ba12b944e05e0e83fb2fea846131`; local/origin/live main remain `27657f31131cd95d42f0e1290853ec9c9b3959a4`. Known notification presentation/tests/native helpers remain unstaged WIP, so no clean-worktree or publication of that work is claimed. **Production: NO-GO; no main push or deployment. Phase 8: no implementation.**
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"checkpoint": "p7-08",
|
||||
"status": "PASS",
|
||||
"checkedUtc": "2026-10-16T21:12:45.204851+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-16T21:12:41.576342+00:00",
|
||||
"finishedUtc": "2026-10-16T21:12:44.346564+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261016T211241Z/secret-scan.log",
|
||||
"logSha256Raw": "c5a88d5ebdc042adba125c1eaacbe44f9f4a5c19898c0f195573c00d511aa28d"
|
||||
},
|
||||
{
|
||||
"name": "working-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check"
|
||||
],
|
||||
"startedUtc": "2026-10-16T21:12:44.347037+00:00",
|
||||
"finishedUtc": "2026-10-16T21:12:44.467918+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261016T211241Z/working-whitespace.log",
|
||||
"logSha256Raw": "155d7c875fbec5a2c8dc94d1571ce8fb5a93816fac9a9267efcf16d34483562d"
|
||||
},
|
||||
{
|
||||
"name": "staged-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--cached",
|
||||
"--check"
|
||||
],
|
||||
"startedUtc": "2026-10-16T21:12:44.468424+00:00",
|
||||
"finishedUtc": "2026-10-16T21:12:44.557623+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261016T211241Z/staged-whitespace.log",
|
||||
"logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
|
||||
},
|
||||
{
|
||||
"name": "phase7-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check",
|
||||
"b5319981ad3d1bd635daff861453d23c0de5320b"
|
||||
],
|
||||
"startedUtc": "2026-10-16T21:12:44.558122+00:00",
|
||||
"finishedUtc": "2026-10-16T21:12:44.738794+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261016T211241Z/phase7-whitespace.log",
|
||||
"logSha256Raw": "11aca0ec773e83bd3bfdfc0f495d624be91338ba866712d2ba762bafa58bbff7"
|
||||
}
|
||||
],
|
||||
"untrackedSecretScan": {
|
||||
"files": 4,
|
||||
"findings": 0
|
||||
},
|
||||
"documentation": {
|
||||
"files": 22,
|
||||
"relativeLinks": 538,
|
||||
"errors": []
|
||||
},
|
||||
"preservation": {
|
||||
"groups": 57,
|
||||
"statuses": {
|
||||
"PARTIAL": 56,
|
||||
"PASS": 0,
|
||||
"FAIL": 0,
|
||||
"DEFERRED": 1
|
||||
},
|
||||
"originalRoutesPreserved": true,
|
||||
"currentConcreteRoutes": 33
|
||||
},
|
||||
"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."
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"checkpoint": "p7-08",
|
||||
"status": "PASS",
|
||||
"checkedUtc": "2026-10-16T21:14:04.290006+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-16T21:14:00.666826+00:00",
|
||||
"finishedUtc": "2026-10-16T21:14:03.485449+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261016T211400Z/secret-scan.log",
|
||||
"logSha256Raw": "c5a88d5ebdc042adba125c1eaacbe44f9f4a5c19898c0f195573c00d511aa28d"
|
||||
},
|
||||
{
|
||||
"name": "working-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check"
|
||||
],
|
||||
"startedUtc": "2026-10-16T21:14:03.485950+00:00",
|
||||
"finishedUtc": "2026-10-16T21:14:03.577747+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261016T211400Z/working-whitespace.log",
|
||||
"logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
|
||||
},
|
||||
{
|
||||
"name": "staged-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--cached",
|
||||
"--check"
|
||||
],
|
||||
"startedUtc": "2026-10-16T21:14:03.578246+00:00",
|
||||
"finishedUtc": "2026-10-16T21:14:03.685672+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261016T211400Z/staged-whitespace.log",
|
||||
"logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
|
||||
},
|
||||
{
|
||||
"name": "phase7-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check",
|
||||
"b5319981ad3d1bd635daff861453d23c0de5320b"
|
||||
],
|
||||
"startedUtc": "2026-10-16T21:14:03.685672+00:00",
|
||||
"finishedUtc": "2026-10-16T21:14:03.863578+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261016T211400Z/phase7-whitespace.log",
|
||||
"logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
|
||||
}
|
||||
],
|
||||
"untrackedSecretScan": {
|
||||
"files": 0,
|
||||
"findings": 0
|
||||
},
|
||||
"documentation": {
|
||||
"files": 22,
|
||||
"relativeLinks": 550,
|
||||
"errors": []
|
||||
},
|
||||
"preservation": {
|
||||
"groups": 57,
|
||||
"statuses": {
|
||||
"PARTIAL": 56,
|
||||
"PASS": 0,
|
||||
"FAIL": 0,
|
||||
"DEFERRED": 1
|
||||
},
|
||||
"originalRoutesPreserved": true,
|
||||
"currentConcreteRoutes": 33
|
||||
},
|
||||
"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