feat(api): add owner-scoped documents metadata index
This commit is contained in:
@@ -84,3 +84,11 @@ Inbox/read committed and normal push verified **a791e353b062cc91e10429cd767350ec
|
||||
[Compose report](p7-06/COMPOSE.md) and [portable results](p7-06/evidence/compose-results.json): Compose affected52/5 and fresh backend25 PASS; native10+inbox8+ordinaryP2-D01=19 PASS on LFCrTZzDtX5hNBSRBj5Xx; app/browser TypeScript, lint and build PASS. Actual image review 47/47; all-enabled44scans0violations/330incompletes triaged, human/device/provider qualifications remain. +10front/+0suites,+10browser,+7backend derive739/94,301,1041 only; no integrated full-suite claim. Captured operation/UUID and all field dirty protections, definitive-failure preparation retaining unsaved edits, GET-only recovery and current locale/focus/contrast are verified within recorded bounds. Sole API change marks existing UTC DTO values without tick/data/schema changes. All failed attempts and true source/timing limits remain. Real disconnected server failure precedes provider delivery; simulated delivery states are labelled, actual grants/delivery/manual/production remain unverified. All57groups56PARTIAL/C11DEFERRED and32routes;RD11/RD21/06F/P513 retained. All three mandatoryP7-06 boundaries implemented CONDITIONAL GO; final hygiene/normal push pending. P7-07 contract then UI follows, no Phase 8 ormain push.
|
||||
|
||||
Final compose hygiene PASS observed2026-10-14 11:01:54.856146UTC: secret/working/staged/phase whitespace gates pass,16 docs/486 local links resolve,57 groups56PARTIAL/C11DEFERRED and32original routes retained. All47finalimages actually reviewed. Implemented scope CONDITIONAL GO; normal development push pending, productionNO-GO/mainunchanged.
|
||||
|
||||
Compose/send committed and normal push verified **223dcf57d26bab624261994b61a46f2d3e2dd5b2** at 2026-10-14T11:03:15.576853+00:00: clean HEAD = origin = live development; local/origin/live main27657f3 unchanged. All three mandatory P7-06 boundaries are implemented CONDITIONAL GO. P7-07 enters the metadata contract first; production NO-GO and no Phase8 implementation.
|
||||
|
||||
### P7-07 metadata contract — final bounded observation
|
||||
|
||||
[Contract report](p7-07/CONTRACT.md) and [portable results](p7-07/evidence/contract-results.json): final12/12 backend contracts (11 nativeSQLiteHTTP, one unexecutedMariaDBcommand/query composition),80/80 existing related/auth/draft cases on matchingReleaseDLL, actualProgram cookie-authenticated3/3 native and ordinaryP2-D01PASS. All26/33/23 captured sources remain unchanged across their runs. BackendRelease compile and held-native browser TypeScript pass; frontendproduct/export remains unchanged. Exact27 metadata fields, two bounded parameterized read queries, owner/parent/company scope, literalNorwegiansearch and knownUTC/local-date distinction preserve existing resources. All failed attempts, sharedWindows-SQLwhitespace repair and parameter-display fixture qualifications remain. No DocumentsUI/axe/manual/MariaDBruntime acceptance. New12backend and3browser derive1053/304; frontend739/94 unchanged, no integrated counts. Backendimplemented scope CONDITIONAL GO; final hygiene/normalpushpending. DocumentsUI follows verified contract push; all57groups56PARTIAL/C11DEFERRED and32routes, mainunchanged/productionNO-GO/noPhase8.
|
||||
|
||||
Final metadata-contract hygiene PASS observed 2026-10-14T16:00:00.842457+00:00: secret and working/staged/phase whitespace gates pass;18 docs/504 local links resolve,57 groups and32 original routes retained. Backend contract implemented CONDITIONAL GO; normal development push pending. Actual MariaDB execution and Documents UI remain unverified; main unchanged, production NO-GO.
|
||||
|
||||
@@ -184,3 +184,11 @@ Final inbox hygiene PASS observed2026-10-14 05:14:23UTC: secret and working/stag
|
||||
P7-11 residual localisation evidence from current compose/inbox images: after a saved draft opens in EN, a dirty switch to NB leaves the generic saved-draft context in its opening locale, while controls update. English saved-mail counts use singular `1 attachments` / `1 items`. Actual user text and resource names stay verbatim. These limited copy findings remain open; no blanket localisation acceptance is claimed.
|
||||
|
||||
Final compose hygiene PASS observed2026-10-14 11:01:54.856146UTC: secret/working/staged/phase whitespace gates pass,16 docs/486 local links resolve,57 groups56PARTIAL/C11DEFERRED and32original routes retained. All47finalimages actually reviewed. Implemented scope CONDITIONAL GO; normal development push pending, productionNO-GO/mainunchanged.
|
||||
|
||||
Compose/send committed and normal push verified **223dcf57d26bab624261994b61a46f2d3e2dd5b2** at 2026-10-14T11:03:15.576853+00:00: clean HEAD = origin = live development; local/origin/live main27657f3 unchanged. All three mandatory P7-06 boundaries are implemented CONDITIONAL GO. P7-07 enters the metadata contract first; production NO-GO and no Phase8 implementation.
|
||||
|
||||
### P7-07 metadata contract — final bounded observation
|
||||
|
||||
[Contract report](p7-07/CONTRACT.md) and [portable results](p7-07/evidence/contract-results.json): final12/12 backend contracts (11 nativeSQLiteHTTP, one unexecutedMariaDBcommand/query composition),80/80 existing related/auth/draft cases on matchingReleaseDLL, actualProgram cookie-authenticated3/3 native and ordinaryP2-D01PASS. All26/33/23 captured sources remain unchanged across their runs. BackendRelease compile and held-native browser TypeScript pass; frontendproduct/export remains unchanged. Exact27 metadata fields, two bounded parameterized read queries, owner/parent/company scope, literalNorwegiansearch and knownUTC/local-date distinction preserve existing resources. All failed attempts, sharedWindows-SQLwhitespace repair and parameter-display fixture qualifications remain. No DocumentsUI/axe/manual/MariaDBruntime acceptance. New12backend and3browser derive1053/304; frontend739/94 unchanged, no integrated counts. Backendimplemented scope CONDITIONAL GO; final hygiene/normalpushpending. DocumentsUI follows verified contract push; all57groups56PARTIAL/C11DEFERRED and32routes, mainunchanged/productionNO-GO/noPhase8.
|
||||
|
||||
Final metadata-contract hygiene PASS observed 2026-10-14T16:00:00.842457+00:00: secret and working/staged/phase whitespace gates pass;18 docs/504 local links resolve,57 groups and32 original routes retained. Backend contract implemented CONDITIONAL GO; normal development push pending. Actual MariaDB execution and Documents UI remain unverified; main unchanged, production NO-GO.
|
||||
|
||||
@@ -194,3 +194,11 @@ Final inbox hygiene PASS observed2026-10-14 05:14:23UTC: secret and working/stag
|
||||
P7-11 residual localisation evidence from current compose/inbox images: after a saved draft opens in EN, a dirty switch to NB leaves the generic saved-draft context in its opening locale, while controls update. English saved-mail counts use singular `1 attachments` / `1 items`. Actual user text and resource names stay verbatim. These limited copy findings remain open; no blanket localisation acceptance is claimed.
|
||||
|
||||
Final compose hygiene PASS observed2026-10-14 11:01:54.856146UTC: secret/working/staged/phase whitespace gates pass,16 docs/486 local links resolve,57 groups56PARTIAL/C11DEFERRED and32original routes retained. All47finalimages actually reviewed. Implemented scope CONDITIONAL GO; normal development push pending, productionNO-GO/mainunchanged.
|
||||
|
||||
Compose/send committed and normal push verified **223dcf57d26bab624261994b61a46f2d3e2dd5b2** at 2026-10-14T11:03:15.576853+00:00: clean HEAD = origin = live development; local/origin/live main27657f3 unchanged. All three mandatory P7-06 boundaries are implemented CONDITIONAL GO. P7-07 enters the metadata contract first; production NO-GO and no Phase8 implementation.
|
||||
|
||||
### P7-07 metadata contract — final bounded observation
|
||||
|
||||
[Contract report](p7-07/CONTRACT.md) and [portable results](p7-07/evidence/contract-results.json): final12/12 backend contracts (11 nativeSQLiteHTTP, one unexecutedMariaDBcommand/query composition),80/80 existing related/auth/draft cases on matchingReleaseDLL, actualProgram cookie-authenticated3/3 native and ordinaryP2-D01PASS. All26/33/23 captured sources remain unchanged across their runs. BackendRelease compile and held-native browser TypeScript pass; frontendproduct/export remains unchanged. Exact27 metadata fields, two bounded parameterized read queries, owner/parent/company scope, literalNorwegiansearch and knownUTC/local-date distinction preserve existing resources. All failed attempts, sharedWindows-SQLwhitespace repair and parameter-display fixture qualifications remain. No DocumentsUI/axe/manual/MariaDBruntime acceptance. New12backend and3browser derive1053/304; frontend739/94 unchanged, no integrated counts. Backendimplemented scope CONDITIONAL GO; final hygiene/normalpushpending. DocumentsUI follows verified contract push; all57groups56PARTIAL/C11DEFERRED and32routes, mainunchanged/productionNO-GO/noPhase8.
|
||||
|
||||
Final metadata-contract hygiene PASS observed 2026-10-14T16:00:00.842457+00:00: secret and working/staged/phase whitespace gates pass;18 docs/504 local links resolve,57 groups and32 original routes retained. Backend contract implemented CONDITIONAL GO; normal development push pending. Actual MariaDB execution and Documents UI remain unverified; main unchanged, production NO-GO.
|
||||
|
||||
@@ -14,9 +14,9 @@ The entry commit is `b5319981ad3d1bd635daff861453d23c0de5320b` on `codex/ui-rede
|
||||
| [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 pushc723a4e verified; Reminders17/3,new6native/backend6/types/lint/build pass;17actual PNG reviews/114incompletes qualified. P7-05 implemented CONDITIONAL GO, hygiene PASS/normal push627955a directly verified11:49:32UTC, clean localHEAD=origin=live/main unchanged; P7-06 next |
|
||||
| [P7-06](p7-06/README.md) | Remaining Application forms and global correspondence | All three boundaries implemented CONDITIONAL GO: forms4c325/inboxa791 normally pushed; [compose](p7-06/COMPOSE.md) Compose affected52/5 and fresh backend25 PASS; native10+inbox8+ordinaryP2-D01=19 PASS on LFCrTZzDtX5hNBSRBj5Xx; app/browser TypeScript, lint and build PASS. Actual image review 47/47; all-enabled44scans0violations/330incompletes triaged, human/device/provider qualifications remain. +10front/+0suites,+10browser,+7backend derive739/94,301,1041 only; no integrated full-suite claim. Final hygiene/normal push pending;06Fdeferred/57groups32routes/main unchanged; P7-07 contract first next |
|
||||
| [P7-06](p7-06/README.md) | Remaining Application forms and global correspondence | All three boundaries implemented CONDITIONAL GO: forms4c325/inboxa791 normally pushed; [compose](p7-06/COMPOSE.md) Compose affected52/5 and fresh backend25 PASS; native10+inbox8+ordinaryP2-D01=19 PASS on LFCrTZzDtX5hNBSRBj5Xx; app/browser TypeScript, lint and build PASS. Actual image review 47/47; all-enabled44scans0violations/330incompletes triaged, human/device/provider qualifications remain. +10front/+0suites,+10browser,+7backend derive739/94,301,1041 only; no integrated full-suite claim. Hygiene PASS and normal223dcf5 push directly verified11:03:15UTC;06Fdeferred/57groups32routes/main unchanged; P7-07 contract first next |
|
||||
| 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 |
|
||||
| [P7-07](p7-07/README.md) | Documents owner-scoped index | Backendcontract implemented CONDITIONAL GO:12/12 new contracts,80/80 related/auth/draft,actualcookie native3+ordinaryP2-D01PASS;26/33/23sourcesheld. Finalhygiene/normalpushpending; actual MariaDB runtime NOT VERIFIED. UIwaitscontractpush; no app route added yet |
|
||||
| P7-08 | Existing notifications and operations | Existing store and real destinations; new enabled producers require F20 recovery evidence; planned |
|
||||
| P7-09 | Remaining Settings, Connections and data lifecycle | Existing independent save scopes and sensitive-action guards; planned |
|
||||
| P7-10 | Admin operational presentation | Existing distinct Users/Audit/System routes and server authorization; planned |
|
||||
@@ -72,3 +72,11 @@ Inbox/read committed and normal push verified **a791e353b062cc91e10429cd767350ec
|
||||
[Compose report](p7-06/COMPOSE.md) and [portable results](p7-06/evidence/compose-results.json): Compose affected52/5 and fresh backend25 PASS; native10+inbox8+ordinaryP2-D01=19 PASS on LFCrTZzDtX5hNBSRBj5Xx; app/browser TypeScript, lint and build PASS. Actual image review 47/47; all-enabled44scans0violations/330incompletes triaged, human/device/provider qualifications remain. +10front/+0suites,+10browser,+7backend derive739/94,301,1041 only; no integrated full-suite claim. Captured operation/UUID and all field dirty protections, definitive-failure preparation retaining unsaved edits, GET-only recovery and current locale/focus/contrast are verified within recorded bounds. Sole API change marks existing UTC DTO values without tick/data/schema changes. All failed attempts and true source/timing limits remain. Real disconnected server failure precedes provider delivery; simulated delivery states are labelled, actual grants/delivery/manual/production remain unverified. All57groups56PARTIAL/C11DEFERRED and32routes;RD11/RD21/06F/P513 retained. All three mandatoryP7-06 boundaries implemented CONDITIONAL GO; final hygiene/normal push pending. P7-07 contract then UI follows, no Phase 8 ormain push.
|
||||
|
||||
Final compose hygiene PASS observed2026-10-14 11:01:54.856146UTC: secret/working/staged/phase whitespace gates pass,16 docs/486 local links resolve,57 groups56PARTIAL/C11DEFERRED and32original routes retained. All47finalimages actually reviewed. Implemented scope CONDITIONAL GO; normal development push pending, productionNO-GO/mainunchanged.
|
||||
|
||||
Compose/send committed and normal push verified **223dcf57d26bab624261994b61a46f2d3e2dd5b2** at 2026-10-14T11:03:15.576853+00:00: clean HEAD = origin = live development; local/origin/live main27657f3 unchanged. All three mandatory P7-06 boundaries are implemented CONDITIONAL GO. P7-07 enters the metadata contract first; production NO-GO and no Phase8 implementation.
|
||||
|
||||
### P7-07 metadata contract — final bounded observation
|
||||
|
||||
[Contract report](p7-07/CONTRACT.md) and [portable results](p7-07/evidence/contract-results.json): final12/12 backend contracts (11 nativeSQLiteHTTP, one unexecutedMariaDBcommand/query composition),80/80 existing related/auth/draft cases on matchingReleaseDLL, actualProgram cookie-authenticated3/3 native and ordinaryP2-D01PASS. All26/33/23 captured sources remain unchanged across their runs. BackendRelease compile and held-native browser TypeScript pass; frontendproduct/export remains unchanged. Exact27 metadata fields, two bounded parameterized read queries, owner/parent/company scope, literalNorwegiansearch and knownUTC/local-date distinction preserve existing resources. All failed attempts, sharedWindows-SQLwhitespace repair and parameter-display fixture qualifications remain. No DocumentsUI/axe/manual/MariaDBruntime acceptance. New12backend and3browser derive1053/304; frontend739/94 unchanged, no integrated counts. Backendimplemented scope CONDITIONAL GO; final hygiene/normalpushpending. DocumentsUI follows verified contract push; all57groups56PARTIAL/C11DEFERRED and32routes, mainunchanged/productionNO-GO/noPhase8.
|
||||
|
||||
Final metadata-contract hygiene PASS observed 2026-10-14T16:00:00.842457+00:00: secret and working/staged/phase whitespace gates pass;18 docs/504 local links resolve,57 groups and32 original routes retained. Backend contract implemented CONDITIONAL GO; normal development push pending. Actual MariaDB execution and Documents UI remain unverified; main unchanged, production NO-GO.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# P7-06 — Compose and send
|
||||
|
||||
**Implemented scope: CONDITIONAL GO. Affected regression, final native consumers, actual47-image review and finite hygiene pass; normal development push pending.** This is the third mandatory P7-06 boundary after [embedded forms](FORMS.md) and [inbox/read review](INBOX.md). Follow the [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries); optional P7-06F remains DEFERRED pending its mode→draft/review action and fallback decision.
|
||||
**Implemented scope: CONDITIONAL GO. Affected regression, final native consumers, actual47-image review and finite hygiene pass; normal development push223dcf5 verified.** This is the third mandatory P7-06 boundary after [embedded forms](FORMS.md) and [inbox/read review](INBOX.md). Follow the [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries); optional P7-06F remains DEFERRED pending its mode→draft/review action and fallback decision.
|
||||
|
||||
[Compose entry](evidence/compose-entry.json) records the preceding inbox commit `a791e353b062cc91e10429cd767350ec9f0aaef2`. Its normal push was observed on **2026-10-14 at 05:14:53.828571 UTC**: clean local HEAD = origin = live `codex/ui-redesign-phase4`; local/origin/live `main` remained `27657f31131cd95d42f0e1290853ec9c9b3959a4`. That receipt establishes synchronization of the predecessor, not acceptance or push of this slice.
|
||||
|
||||
@@ -110,3 +110,5 @@ Complete visual review, run finite documentation/secret/whitespace/route/preserv
|
||||
All **47 final PNGs** were actually displayed and reviewed: root16 and independent reviewer31, with exact per-image references in the portable result. No blocking visual defect was found. Full-page/sticky/dialog/transition captures and resized long images retain their stated limits. In addition to the opening-locale draft-context label, English singular count copy (`1 attachments`, `1 items`) remains a P7-11 residual. No human reader, physical-device, zoom, provider or production acceptance follows. Final runtime/source/visual gates establish bounded **CONDITIONAL GO**; finite hygiene and normal development push follow below.
|
||||
|
||||
Final compose hygiene PASS observed2026-10-14 11:01:54.856146UTC: secret/working/staged/phase whitespace gates pass,16 docs/486 local links resolve,57 groups56PARTIAL/C11DEFERRED and32original routes retained. All47finalimages actually reviewed. Implemented scope CONDITIONAL GO; normal development push pending, productionNO-GO/mainunchanged.
|
||||
|
||||
Compose/send committed and normal push verified **223dcf57d26bab624261994b61a46f2d3e2dd5b2** at 2026-10-14T11:03:15.576853+00:00: clean HEAD = origin = live development; local/origin/live main27657f3 unchanged. All three mandatory P7-06 boundaries are implemented CONDITIONAL GO. P7-07 enters the metadata contract first; production NO-GO and no Phase8 implementation.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# P7-06 — Remaining Application forms and global correspondence
|
||||
|
||||
**Implemented scope: CONDITIONAL GO.** All three approved boundaries are implemented. Embedded forms and inbox/read are normally pushed; compose/send has final runtime evidence, with hygiene and normal push pending below. Production remains NO-GO; main unchanged. P7-06F stays DEFERRED.
|
||||
**Implemented scope: CONDITIONAL GO.** All three approved boundaries are implemented. All three implementation commits are normally pushed and verified, including compose223dcf5. Manual/provider qualifications remain below. Production remains NO-GO; main unchanged. P7-06F stays DEFERRED.
|
||||
|
||||
The exact [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries) governs the sequence: embedded forms → inbox/read review → compose/send. No generic Documents persistence, new provider capability, withheld AI review or Phase8 feature was introduced.
|
||||
|
||||
@@ -33,3 +33,5 @@ M01–M12, provider grants/delivery, physical touch/software keyboard, human rea
|
||||
Next approved checkpoint is **P7-07**: metadata-only authenticated paginated contract commit first, then Documents UI. Do not start Phase8 or deploy.
|
||||
|
||||
Final compose hygiene PASS observed2026-10-14 11:01:54.856146UTC: secret/working/staged/phase whitespace gates pass,16 docs/486 local links resolve,57 groups56PARTIAL/C11DEFERRED and32original routes retained. All47finalimages actually reviewed. Implemented scope CONDITIONAL GO; normal development push pending, productionNO-GO/mainunchanged.
|
||||
|
||||
Compose/send committed and normal push verified **223dcf57d26bab624261994b61a46f2d3e2dd5b2** at 2026-10-14T11:03:15.576853+00:00: clean HEAD = origin = live development; local/origin/live main27657f3 unchanged. All three mandatory P7-06 boundaries are implemented CONDITIONAL GO. P7-07 enters the metadata contract first; production NO-GO and no Phase8 implementation.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"checkpoint": "P7-06",
|
||||
"slice": "Compose/send",
|
||||
"recordedUtc": "2026-10-14T11:01:30.155858+00:00",
|
||||
"acceptance": "COMPOSE_IMPLEMENTED_SCOPE_CONDITIONAL_GO_HYGIENE_PASS_NORMAL_PUSH_PENDING",
|
||||
"acceptance": "COMPOSE_IMPLEMENTED_SCOPE_CONDITIONAL_GO_HYGIENE_PASS_NORMAL_PUSH_VERIFIED",
|
||||
"precedingInboxCommit": "a791e353b062cc91e10429cd767350ec9f0aaef2",
|
||||
"immutableFinalCapsule": {
|
||||
"path": ".artifacts/phase7/p7-06/compose/native-final-verified/results.json",
|
||||
@@ -3219,5 +3219,106 @@
|
||||
"Local links check target existence, not URL/heading anchors.",
|
||||
"Static evidence is not runtime/manual/device/provider/production acceptance."
|
||||
]
|
||||
},
|
||||
"commitHash": "223dcf57d26bab624261994b61a46f2d3e2dd5b2",
|
||||
"normalPushVerification": {
|
||||
"observedUtc": "2026-10-14T11:03:15.576853+00:00",
|
||||
"branch": "codex/ui-redesign-phase4",
|
||||
"head": "223dcf57d26bab624261994b61a46f2d3e2dd5b2",
|
||||
"originDevelopment": "223dcf57d26bab624261994b61a46f2d3e2dd5b2",
|
||||
"liveDevelopment": "223dcf57d26bab624261994b61a46f2d3e2dd5b2",
|
||||
"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": "223dcf57d26bab624261994b61a46f2d3e2dd5b2\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": "223dcf57d26bab624261994b61a46f2d3e2dd5b2\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": "223dcf57d26bab624261994b61a46f2d3e2dd5b2\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,85 @@
|
||||
# P7-07 — Documents metadata contract
|
||||
|
||||
**Status: backend contract implemented, implemented-scope CONDITIONAL GO; final affected/native checks pass. Hygiene, commit and normal push remain pending. P7-07 remains ongoing; Documents UI waits for the contract push.** This is the first P7-07 boundary in the [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries), implementing the owner projection required by [Documents architecture](../../phase-3/DOCUMENTS_UX.md).
|
||||
|
||||
## Bounded implementation
|
||||
|
||||
`DocumentsController`, `DocumentsIndexService` and its scoped Program registration add authenticated **GET `/api/documents`** over existing resources. No generic Document table, schema migration, storage relocation, browser crawl, editor replacement, PDF generation or mail-persistence change is introduced.
|
||||
|
||||
The response envelope contains exactly `items`, `page`, `pageSize`, `total` and `totalPages`. Each item has exactly **27 public metadata fields**:
|
||||
|
||||
`id`, `resourceId`, `type`, `name`, `state`, `visibility`, `jobApplicationId`, `jobTitle`, `companyName`, `jobIsDeleted`, `recordedAt`, `dateKind`, `version`, `historyCount`, `attachmentCount`, `cvVariantId`, `cvVariantName`, `cvVariantVersion`, `fileType`, `fileSize`, `purpose`, `useForAi`, `provider`, `sourceHref`, `downloadHref`, `publicHref`, `hasCurrentContent`.
|
||||
|
||||
| Existing kind | Honest projection and destination |
|
||||
|---|---|
|
||||
| `cv` | Current variant name/version, optional owned job, private/public state; existing builder and active public slug. No GET PDF action is invented |
|
||||
| `cover-letter` | Job draft and recorded history, including history after current text is cleared; `hasCurrentContent` distinguishes those states. Latest history date is not a claim of current-edit time; open Application → Letter |
|
||||
| `application-material` | Existing saved answer/recruiter-draft presence; unknown date stays unknown. Ordinary Notes do not become a document; open Application → Answers |
|
||||
| `tailored-cv` | Existing structured draft or legacy tailored text, with recorded edit/generation/update date when available; open Application → CV, without inventing a downloadable file |
|
||||
| `attachment` | Current upload metadata, purpose/type/size/date and existing explicit AI-use flag; existing job Documents and authenticated download |
|
||||
| `submitted-package` | Frozen package version/capture time, captured CV identifiers/name/version and captured attachment count; existing Submission context. Current CV/upload changes cannot relabel captured metadata |
|
||||
| `email-draft` | Saved subject/provider/revision and owned job context; draft does not mean delivery. Open Correspondence; P7-06 remains the persistence/send owner |
|
||||
|
||||
`sourceHref` opens the existing owner context. Correspondence does not promise exact-ID Resume, and Submission does not promise automatic selection of a particular package. Attachment `downloadHref` is `/api/attachments/download/{id}`: the UI must use the existing authenticated download path without duplicating an Axios `/api` base. CV download remains the existing explicit export operation; list GET cannot render it.
|
||||
|
||||
## Filtering, ownership and database bounds
|
||||
|
||||
| Parameter | Supported contract |
|
||||
|---|---|
|
||||
| `page` / `pageSize` | Defaults 1/25; ranges 1–10000 and 1–100 |
|
||||
| `q` | At most 200 characters; trimmed metadata search with literal `%`, `_` and `!`, plus supported Nordic case folding |
|
||||
| `type` | `all` or one of the seven kinds above |
|
||||
| `state` | `all`, `current`, `draft`, `frozen` |
|
||||
| `visibility` | `all`, `private`, `public`; specific visibility intersects CV entries only |
|
||||
| `jobApplicationId` | Optional positive owned-parent filter; a foreign or missing job returns no private metadata |
|
||||
| `sort` | `date-desc`, `date-asc`, `name-asc`, `name-desc`; deterministic Type/ResourceId ordinal ties |
|
||||
|
||||
The local authentication scheme and server current-user service choose the owner. Caller-supplied owner IDs cannot select another tenant. Every UNION branch guards its owner; parent/company joins also guard ownership. Malformed foreign associations expose no foreign context. Independent/detached CVs remain available to their owner; detach does not delete a variant. Owned soft-deleted job history remains visible with `jobIsDeleted`, rather than silently applying an active-Jobs-only policy.
|
||||
|
||||
The service executes **two parameterized SELECT commands**: filtered count and a database `LIMIT`/`OFFSET` page. It does not materialize the complete collection to sort in memory. A 128-item SQLite fixture proves a seven-row second page, exact count, two read commands and unchanged database bytes. Invalid parameters fail before catalog queries. Search covers names/role/company/captured CV name, never private content snippets. SQL computes existing text presence without projecting bodies, Notes, settings/profile JSON, rendered HTML, storage paths, recipient/thread/request identities or bytes to the response. No renderer, AI, file-copy or listing-write dependency is registered in the contract fixture.
|
||||
|
||||
SQLite ordering separates whole UTC seconds from seven fractional digits to preserve exact instants, offsets and one-tick differences. Unknown dates and uploads whose original local timezone was not recorded sort last in both date directions. Uploads retain their raw unzoned wall-clock value as `uploaded-local`; no UTC instant is fabricated. MariaDB SQL composes `TIMESTAMPDIFF(MICROSECOND, …) * 10`; live MariaDB execution and production precision remain unverified.
|
||||
|
||||
## Reproduction and retained failures
|
||||
|
||||
All times are UTC on **2026-10-14**. Exact commands/TRX/source receipts remain under `.artifacts/phase7/current/backend-career/` and `.artifacts/phase7/p7-07/`; failed evidence is retained.
|
||||
|
||||
| Observation | Actual result and boundary |
|
||||
|---|---|
|
||||
| Existing related baseline | **37 PASS**, 11:05:19.519871–11:05:23.691550, `--no-build`; 20 pre/post sources and inherited API DLL match. Newly written Documents tests were not compiled in this lane |
|
||||
| Initial controller HTTP RED | **0 pass/11 fail**, 11:12:34.372367–11:12:50.335904; missing endpoint returns 404. Eleven ordinary Kestrel/SQLite tests use controlled test identities, not actual Program cookies |
|
||||
| Actual Program old-API RED | **0 pass/3 fail**, 11:25:16.963090–11:25:28.045792; actual local Identity sessions/CSRF-protected source writes encounter missing `/documents` 404 |
|
||||
| MariaDB policy RED | **0 pass/1 fail**, 11:27:50.588566–11:28:02.188395; composition lacks the explicit ordinal Unicode marker policy. No MariaDB connection or execution occurs |
|
||||
| First full candidate | **10 pass/2 fail**, 11:30:29.637426–11:30:41.875848; marker-presence and pagination-composition checks remain unresolved |
|
||||
| Focused diagnostic | **0 pass/2 fail**, 15:41:17.837210–15:41:31.709973; exact empty-LF `application-material:5`/whitespace `:7` membership and literal debug-display LIMIT fail. No earlier ten-pass rerun is inferred |
|
||||
| Corrected full candidate | **12 PASS**, 15:47:19.771612–15:47:36.190838; 26 pre/post sources match. TRX SHA256 `cf5791cef3e159d144cb5a4b0628beeba78562d1975676108458005e028e2277` |
|
||||
| Final strengthened fixture | **12 PASS**, 15:50:24.880378–15:50:35.341407; all BMP `char.IsWhiteSpace` characters exercise the same presence rule. All 26 pre/post sources match; zero failed/not-executed cases. TRX SHA256 `4d34e2045ced1a0b2bd3251893a5cad0e012c396fabd8b989466a84b2365b139` |
|
||||
| Final related/authentication lanes | **80 PASS**, 15:52:48.930990–15:52:53.240041, `--no-build`: 37 existing source/archive contracts, 25 draft/send cases and 18 authentication posture/session cases. All 33 pre/post sources match; same final Release DLL |
|
||||
| Actual Program current-API native | **3 PASS**, 15:54:17.479545–15:54:29.733344; actual local Identity cookies, disposable SQLite, independent A/B owners and existing CSRF-protected source mutations |
|
||||
| Ordinary P2-D01 consumer | **1 PASS**, 15:54:29.738467–15:54:43.075754; existing frozen-document workspace case, without skip or expected-failure marker |
|
||||
|
||||
The old-API receipt named `pre.json` was actually captured **11:26:04.698648**, after the native command ended **11:25:28.045792**. Its raw “DURING” wording is inaccurate; `native-red-old-api/capture-qualification.json` preserves and corrects it. That receipt is an after-run observation, not pre/during proof. The separately frozen prior compile/source/binary boundary qualifies the old-API comparison. A usage pause precedes the 15:40 resumption and held-file verification; no tests or outcomes are inferred during that gap.
|
||||
|
||||
Modern answer markers remain ordinal and case-sensitive, including text with Unicode before them. MariaDB `CONVERT(… USING utf8mb4) COLLATE utf8mb4_bin` preserves character positions; legacy prefix matching remains case-insensitive and empty modern content retains precedence. Shared `HasContent` removes .NET whitespace. `CHAR(9)` through `CHAR(13)` preserve control characters despite EF/Windows SQL newline formatting; SQL TRIM alone was insufficient. Assertions retain the exact four expected document IDs and no private-content leakage.
|
||||
|
||||
Pomelo `ToQueryString()` displays literal pagination values. The corrected test separately inspects an **actual, unexecuted DbCommand**, proving distinct bound LIMIT/OFFSET parameters with expected values and owner binding. This is opaque SQL composition evidence: **11 SQLite HTTP cases + one MariaDB composition case**, not twelve provider executions or a TCP/server qualification.
|
||||
|
||||
Final service SHA256 is `def370bd0dbe90260e42800fded99302e56f8ac6b7693e73dd0a60cf0a3f7fd1`; strengthened test SHA256 is `f16d3d78b072faaea87c376888803ecbf8daec6da62368d89ea78ecd8bc9bac2`. `contract-final` retains genuine pre/post captures and the API DLL SHA256 `5bc23b88df160434f15b5cd09535144bdac3eeebc241d5e1837d854d936f4842`.
|
||||
|
||||
## Remaining acceptance and preservation
|
||||
|
||||
The three passing API-only native cases cover actual cookie owner isolation, exact metadata/filter/page/search contracts and observable source revision/detach/delete readback. They do not render a Documents page, exercise downloads or prove internal SQL/service-call counts. The backend fixture separately proves all seven kinds, read bounds and unchanged captured metadata/archived bytes after live CV/upload/letter changes.
|
||||
|
||||
Final native capsule `.artifacts/phase7/p7-07/native-final/report/results.json` SHA256 is `baa1d592e5408220ed9d6f9742af907014c275cbbcb3ad76fb7117435ace345e`. All 23 product/specification pre/post inputs and recorded binaries remain unchanged across native three cases and P2-D01. Browser TypeScript passed at 11:25 on unchanged specification SHA256 `aca359ec044332ed688bd108352c28d6f4c960c8201dd4a7853b6281d341f483`. The inherited frontend export `LFCrTZzDtX5hNBSRBj5Xx` is an unused UI launch fixture for the API-only cases; P2-D01 uses the existing workspace. No new frontend build or Jest execution is claimed.
|
||||
|
||||
Root actually inspected the sole P2-D01 consumer PNG. Its opacity transition and full-page sticky-element capture limit visual conclusions; it is not Documents UI evidence or a fresh rendering-fidelity qualification. API-only cases perform no axe scans. Independent source review found no critical issue; that review supplies no additional runtime, provider or MariaDB evidence.
|
||||
|
||||
Release contract execution, related/authentication cases, native cases, P2-D01 and browser TypeScript are recorded above. Secret/documentation/whitespace checks, commit and normal development push remain pending. After the contract push is verified, implement the separate Documents UI boundary using these honest states and existing owner actions.
|
||||
|
||||
The twelve additions derive backend inventory **1,053** from **1,041**, not a fresh full-suite pass count. Three new browser cases derive **304** from **301**; publication remains pending. Frontend inventory stays **739/94**, with no Jest changes. P7-12 owns fresh integrated counts; inherited full backend 1,033/frontend 573/89/sidecar 49 are not replaced by these focused runs.
|
||||
|
||||
All **57 PRES groups remain 56 PARTIAL / C11 DEFERRED**; C05–C12/W05–W08/M04/S05/E09 receive bounded contract evidence, not whole-group PASS. Preserve the original routes, canonical Career Profile authority, CV overrides/associations, frozen content and captured files. P5-13 stays withheld with zero qualification calls; optional followMode stays deferred. No manual UI/visual, reader/device, provider or production acceptance is claimed.
|
||||
|
||||
**Contract implemented-scope acceptance: CONDITIONAL GO; hygiene and normal push pending. P7-07: ongoing; Documents UI not started. Actual MariaDB execution and manual acceptance remain unverified. Production: NO-GO; main unchanged. Phase 8: no implementation.**
|
||||
|
||||
Final metadata-contract hygiene PASS observed 2026-10-14T16:00:00.842457+00:00: secret and working/staged/phase whitespace gates pass;18 docs/504 local links resolve,57 groups and32 original routes retained. Backend contract implemented CONDITIONAL GO; normal development push pending. Actual MariaDB execution and Documents UI remain unverified; main unchanged, production NO-GO.
|
||||
@@ -0,0 +1,31 @@
|
||||
# P7-07 — Documents owner-scoped index
|
||||
|
||||
**Backend implemented scope: CONDITIONAL GO; final hygiene and normal push pending. Documents UI has not started.** Follow the exact [Phase 6 handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries) and [Documents architecture](../../phase-3/DOCUMENTS_UX.md). Implement and push the metadata projection before the interface.
|
||||
|
||||
The preceding compose commit `223dcf57d26bab624261994b61a46f2d3e2dd5b2` was normally pushed and directly verified at **2026-10-14 11:03:15.576853 UTC**: clean HEAD = origin = live development; local/origin/live main remains `27657f31131cd95d42f0e1290853ec9c9b3959a4`. [Entry evidence](evidence/entry.json) records the receipt and fresh existing-contract baseline: **37 passing cases**, unchanged Release DLL, with all20 captured sources unchanged before/after. This is an existing-contract subset, not a Documents endpoint or full-suite execution.
|
||||
|
||||
## Bounded contract
|
||||
|
||||
Authenticated `GET /api/documents` indexes existing CV variants, cover letters/history, application-answer/recruiter drafts, tailored CV drafts, attachments, frozen submitted packages and saved email drafts. It returns metadata, recorded source identifiers and existing destinations. It does not return bodies, notes, settings/profile JSON, rendered HTML, storage paths, bytes, recipient addresses, thread IDs or sending UUIDs.
|
||||
|
||||
Use validated pagination, literal metadata search, supported type/state/public-visibility/job filters and whitelisted name/date sorts. Count and page must execute in the database with bounded results. Every source, parent and company join must enforce the authenticated owner. Preserve independent/detached CVs and existing owned resources attached to soft-deleted jobs; expose the deleted-parent flag honestly.
|
||||
|
||||
Current CV/attachment, unsent draft material and frozen package are different states. CV public/private is independent of submission. A cover-letter history entry survives clearing current text and records whether current content exists. Submitted metadata uses captured CV identifiers/name/version and attachment counts; it cannot resolve these from mutable current sources. Uploading a certificate does not verify a qualification. A draft does not prove delivery; a captured package does not prove employer receipt.
|
||||
|
||||
Date sorting compares genuinely recorded UTC instants, including exact offset/fractional ordering. Legacy attachment `UploadDate` uses `DateTime.Now` without recording its timezone. Preserve its recorded local date for display and classify it `uploaded-local`; its UTC sort key is unavailable. Local/unknown dates remain after comparable dates in both ascending and descending order, with stable type/resource identity ties. Do not label this mixed index “last updated” or infer a timezone. Name sorting is unaffected. This policy requires explicit UI explanation and regression coverage.
|
||||
|
||||
## Validation and preservation
|
||||
|
||||
New ordinary HTTP regressions must fail against the missing endpoint before implementation, then pass with native SQLite. Cover every source, A/B/anonymous isolation, search/filter/count/pagination, literal wildcard characters, stable ties, offset/fractional dates, unknown-date placement, malformed relationships and source-history preservation. Inspect commands for count/order/limit/offset and absence of resource-body projection or writes. Listing must never render PDF, invoke AI, capture a package or access file storage.
|
||||
|
||||
Keep ordinary P2-D01 and exact frozen HTML/letter/archive-byte proof. The old Phase3 P2-D01 blocker is historical: the latest ordinary browser case passes in [P7-06](../p7-06/COMPOSE.md). Source actions retain existing ownership, CV association/detach rules, revision semantics and safe downloads. Native SQLite and MariaDB SQL composition are separate evidence; unexecuted MariaDB behavior cannot become production acceptance.
|
||||
|
||||
All57 preservation groups remain56 PARTIAL / C11 DEFERRED, with32 original routes preserved. Derived inventory is739/94 frontend,301 browser,1041 backend; it is not a fresh integrated pass count. Human reader, physical touch/software keyboard, zoom, provider/output and release conditions remain open. P5-13 is withheld; P7-06F is deferred; main unchanged, production NO-GO. No Phase8 implementation.
|
||||
|
||||
Next: finish the backend contract and its bounded evidence, commit/push/verify it, then migrate the Documents interface using the existing shared design system.
|
||||
|
||||
## Final backend observation
|
||||
|
||||
[Contract report](CONTRACT.md) and [portable results](evidence/contract-results.json) record final12/12 new contracts,80/80 related/auth/draft cases and actualProgram/nativeSQLite cookie3/3 plus ordinaryP2-D01PASS. Full .NET whitespace semantics, ordinal Unicode marker handling, actual bound pagination parameters, frozen metadata/bytes and strict tenant cases retain ordinary assertions. All failed attempts and source/timing qualifications remain. Final26/33/23 sources and binaries match; Release compilation and browser types pass. There is no DocumentsUI/axe/physical/human acceptance yet, and actualMariaDB execution remains unverified. Derivedbackend1053/browser304/frontend739/94 are not integrated passing counts. Hygiene and normal development push follow; the UI starts only after verified contract push.
|
||||
|
||||
Final metadata-contract hygiene PASS observed 2026-10-14T16:00:00.842457+00:00: secret and working/staged/phase whitespace gates pass;18 docs/504 local links resolve,57 groups and32 original routes retained. Backend contract implemented CONDITIONAL GO; normal development push pending. Actual MariaDB execution and Documents UI remain unverified; main unchanged, production NO-GO.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"checkpoint": "p7-07",
|
||||
"status": "PASS",
|
||||
"checkedUtc": "2026-10-14T16:00:00.842457+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-14T15:59:56.613262+00:00",
|
||||
"finishedUtc": "2026-10-14T16:00:00.024723+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261014T155956Z/secret-scan.log",
|
||||
"logSha256Raw": "c5a88d5ebdc042adba125c1eaacbe44f9f4a5c19898c0f195573c00d511aa28d"
|
||||
},
|
||||
{
|
||||
"name": "working-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check"
|
||||
],
|
||||
"startedUtc": "2026-10-14T16:00:00.025224+00:00",
|
||||
"finishedUtc": "2026-10-14T16:00:00.135215+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261014T155956Z/working-whitespace.log",
|
||||
"logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
|
||||
},
|
||||
{
|
||||
"name": "staged-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--cached",
|
||||
"--check"
|
||||
],
|
||||
"startedUtc": "2026-10-14T16:00:00.136212+00:00",
|
||||
"finishedUtc": "2026-10-14T16:00:00.244002+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261014T155956Z/staged-whitespace.log",
|
||||
"logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
|
||||
},
|
||||
{
|
||||
"name": "phase7-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check",
|
||||
"b5319981ad3d1bd635daff861453d23c0de5320b"
|
||||
],
|
||||
"startedUtc": "2026-10-14T16:00:00.244505+00:00",
|
||||
"finishedUtc": "2026-10-14T16:00:00.427465+00:00",
|
||||
"exitCode": 0,
|
||||
"log": ".artifacts/phase7/current/static/20261014T155956Z/phase7-whitespace.log",
|
||||
"logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
|
||||
}
|
||||
],
|
||||
"untrackedSecretScan": {
|
||||
"files": 0,
|
||||
"findings": 0
|
||||
},
|
||||
"documentation": {
|
||||
"files": 18,
|
||||
"relativeLinks": 504,
|
||||
"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."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,188 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"checkpoint": "P7-07",
|
||||
"recordedUtc": "2026-10-14T11:08:05.695242+00:00",
|
||||
"entryCommit": "223dcf57d26bab624261994b61a46f2d3e2dd5b2",
|
||||
"precedingComposePush": {
|
||||
"receipt": {
|
||||
"path": ".artifacts/phase7/p7-06/compose/push-receipt.json",
|
||||
"sha256": "983d817a38e40db0cfacf435e06381d9d1ba2aa71f369257b42fe6865b12d0cd",
|
||||
"bytes": 2849
|
||||
},
|
||||
"observedUtc": "2026-10-14T11:03:15.576853+00:00",
|
||||
"branch": "codex/ui-redesign-phase4",
|
||||
"head": "223dcf57d26bab624261994b61a46f2d3e2dd5b2",
|
||||
"originDevelopment": "223dcf57d26bab624261994b61a46f2d3e2dd5b2",
|
||||
"liveDevelopment": "223dcf57d26bab624261994b61a46f2d3e2dd5b2",
|
||||
"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": "223dcf57d26bab624261994b61a46f2d3e2dd5b2\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": "223dcf57d26bab624261994b61a46f2d3e2dd5b2\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": "223dcf57d26bab624261994b61a46f2d3e2dd5b2\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"
|
||||
}
|
||||
]
|
||||
},
|
||||
"baseline": {
|
||||
"command": {
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"C:/Users/Connor/.dotnet/dotnet.exe",
|
||||
"test",
|
||||
"JobTrackerApi.Tests/JobTrackerApi.Tests.csproj",
|
||||
"--configuration",
|
||||
"Release",
|
||||
"--no-build",
|
||||
"--filter",
|
||||
"FullyQualifiedName~SqliteDateTimeOffsetCompatibilityTests|FullyQualifiedName~ApplicationAssetsTests|FullyQualifiedName~ApplicationWorkspaceTests|FullyQualifiedName~SubmittedApplicationPackageTests|FullyQualifiedName~AttachmentsControllerTests",
|
||||
"--logger",
|
||||
"trx;LogFileName=career.trx",
|
||||
"--results-directory",
|
||||
"E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\backend-career\\p707-related-entry-223dcf5-20261014T110519Z"
|
||||
],
|
||||
"startedUtc": "2026-10-14T11:05:19.519871+00:00",
|
||||
"finishedUtc": "2026-10-14T11:05:23.691550+00:00",
|
||||
"exitCode": 0,
|
||||
"logSha256": "3c399e9c370ffc75330707fb1c0da5f5999a9cdf00925b98e1e03ca02f68b548",
|
||||
"counts": {
|
||||
"total": 37,
|
||||
"passed": 37,
|
||||
"failed": 0,
|
||||
"notExecuted": 0
|
||||
},
|
||||
"resultSha256": "15a98e0c0c098020d601be386fb31055cffc7184122bdc573a8cfc53436cada8"
|
||||
},
|
||||
"raw": [
|
||||
{
|
||||
"path": ".artifacts/phase7/current/backend-career/p707-related-entry-223dcf5-20261014T110519Z/command.json",
|
||||
"sha256": "753d9d668e0e98f783e95953dc5d567c748264484765bfecf143c6f51e6ea531",
|
||||
"bytes": 1105
|
||||
},
|
||||
{
|
||||
"path": ".artifacts/phase7/current/backend-career/p707-related-entry-223dcf5-20261014T110519Z/career.log",
|
||||
"sha256": "3c399e9c370ffc75330707fb1c0da5f5999a9cdf00925b98e1e03ca02f68b548",
|
||||
"bytes": 623
|
||||
},
|
||||
{
|
||||
"path": ".artifacts/phase7/current/backend-career/p707-related-entry-223dcf5-20261014T110519Z/career.trx",
|
||||
"sha256": "15a98e0c0c098020d601be386fb31055cffc7184122bdc573a8cfc53436cada8",
|
||||
"bytes": 52940
|
||||
}
|
||||
],
|
||||
"pre": {
|
||||
"path": ".artifacts/phase7/p7-07/contract-entry/pre-source.json",
|
||||
"sha256": "0c4a5adce72df0f0f80986407de6ef9854c2d5abf430c61bab95721107e16ca2",
|
||||
"bytes": 6342
|
||||
},
|
||||
"post": {
|
||||
"path": ".artifacts/phase7/p7-07/contract-entry/post-source.json",
|
||||
"sha256": "271f5ca6204600b3004b59a659c80dd84c6daf232fc9e8317e20f98db9347d6d",
|
||||
"bytes": 3918
|
||||
},
|
||||
"qualification": "Fresh37case existingcontractsubset --no-build on unchanged951DLL compiledduringP7-06UTCgreen, not a new HEAD223 build or Documents endpoint test.20sourcepre/post and API bytes unchanged."
|
||||
},
|
||||
"authoritativeDerivedInventory": {
|
||||
"frontendCases": 739,
|
||||
"frontendSuites": 94,
|
||||
"browserCases": 301,
|
||||
"backendCases": 1041,
|
||||
"qualification": "Derived counts only; lastwhole573/89frontend1033backend49sidecar inherited untilP7-12."
|
||||
},
|
||||
"scope": "Contractcommitfirst: metadataonlyownerSQLpagination over existing7resources. No UIuntilcontractverified/pushed; no genericDocumentmodel/storage/schema/render/AI/listingwrites.",
|
||||
"datePolicy": "Comparable recordedUTCinstants first, exactoffset/fractionkeys; uploaded-localDateTime.Nowrawdate/timezoneunrecorded andunknownnullUTCsortlastinbothdirections. Neverclaimalllastupdated ormanufactureUTC.",
|
||||
"preservation": {
|
||||
"groups": 57,
|
||||
"partial": 56,
|
||||
"deferred": [
|
||||
"PRES-C11"
|
||||
],
|
||||
"originalRoutes": 32
|
||||
},
|
||||
"remaining": "NativeHTTPREDthenboundedprojectionandGREEN+providercomposition, metadata/isolation/archiveproof, staticcommit/push, thenUI. RealMariaDBexecution/human/device/provider/output/productionnotclaimed;P513withheld06FdeferredmainunchangednoPhase8."
|
||||
}
|
||||
Reference in New Issue
Block a user