203 lines
6.4 KiB
JSON
203 lines
6.4 KiB
JSON
{
|
|
"sourceCheckpoint": "54a377054f6138c5645a3da293dacd84d3056237",
|
|
"scope": "Synthetic disposable native SQLite transport plus explicitly intercepted provider output; no production, live NAV/model, human screen reader or physical touch qualification.",
|
|
"beforeNativeReads": [
|
|
{
|
|
"pattern": "/discover",
|
|
"mode": "entry",
|
|
"destination": "/discover",
|
|
"status": 500
|
|
},
|
|
{
|
|
"pattern": "/discover",
|
|
"mode": "refresh",
|
|
"destination": "/discover",
|
|
"status": 500
|
|
}
|
|
],
|
|
"beforeRouteObservationCount": 64,
|
|
"savedFocusedStats": {
|
|
"startTime": "2026-10-09T12:51:20.074Z",
|
|
"duration": 51321.988999999994,
|
|
"expected": 3,
|
|
"skipped": 0,
|
|
"unexpected": 0,
|
|
"flaky": 0
|
|
},
|
|
"nativeOwnerEvidence": {
|
|
"mockBoundary": "No endpoint interception in this case; denied run checks ownership before any provider call.",
|
|
"evidence": [
|
|
{
|
|
"operation": "foreign list with forged owner/id/filter",
|
|
"status": 200
|
|
},
|
|
{
|
|
"operation": "foreign update",
|
|
"status": 404
|
|
},
|
|
{
|
|
"operation": "foreign delete",
|
|
"status": 404
|
|
},
|
|
{
|
|
"operation": "foreign run",
|
|
"status": 404
|
|
},
|
|
{
|
|
"operation": "foreign dismiss",
|
|
"status": 404
|
|
},
|
|
{
|
|
"operation": "anonymous list",
|
|
"status": 401
|
|
},
|
|
{
|
|
"operation": "anonymous create",
|
|
"status": 401
|
|
},
|
|
{
|
|
"operation": "anonymous update",
|
|
"status": 401
|
|
},
|
|
{
|
|
"operation": "anonymous delete",
|
|
"status": 401
|
|
},
|
|
{
|
|
"operation": "anonymous run",
|
|
"status": 401
|
|
},
|
|
{
|
|
"operation": "anonymous dismiss",
|
|
"status": 401
|
|
}
|
|
]
|
|
},
|
|
"nativeRetryEvidence": [
|
|
{
|
|
"variant": "saved-search-en-light-1440",
|
|
"faultStatus": 500,
|
|
"retryStatus": 200,
|
|
"delayedStatus": 200
|
|
},
|
|
{
|
|
"variant": "saved-search-en-dark-390",
|
|
"faultStatus": 200,
|
|
"retryStatus": 200,
|
|
"delayedStatus": 200
|
|
},
|
|
{
|
|
"variant": "saved-search-nb-light-390",
|
|
"faultStatus": 500,
|
|
"retryStatus": 200,
|
|
"delayedStatus": 200
|
|
},
|
|
{
|
|
"variant": "saved-search-nb-dark-1440",
|
|
"faultStatus": 200,
|
|
"retryStatus": 200,
|
|
"delayedStatus": 200
|
|
}
|
|
],
|
|
"axe": {
|
|
"scans": 9,
|
|
"violations": 0,
|
|
"incompleteNodeOccurrences": 52
|
|
},
|
|
"incompleteRules": {
|
|
"color-contrast": 52
|
|
},
|
|
"screenshots": [
|
|
{
|
|
"path": "docs/redesign/phase-5/p5-15/p5-15-01/saved-search-repair/evidence/saved-search-native-persisted-en-light-desktop.png",
|
|
"sha256": "833d216db43a39b0f09405d2436504655b9b3aa2d3df9888dd735fd531505783"
|
|
},
|
|
{
|
|
"path": "docs/redesign/phase-5/p5-15/p5-15-01/saved-search-repair/evidence/saved-search-en-light-1440-load-error.png",
|
|
"sha256": "c49d7377f32647341fc41ac793e97d3c70ce04d5eb747af218e197e00c0b5f2f"
|
|
},
|
|
{
|
|
"path": "docs/redesign/phase-5/p5-15/p5-15-01/saved-search-repair/evidence/saved-search-en-dark-390-load-error.png",
|
|
"sha256": "f4c35c43d71668919432436147c4b8c58a540f86e98038d8a66876c9136e2a72"
|
|
},
|
|
{
|
|
"path": "docs/redesign/phase-5/p5-15/p5-15-01/saved-search-repair/evidence/saved-search-nb-light-390-native-retry.png",
|
|
"sha256": "d331ae3ffef8fa7ce3867f04b290e4f8feeaf90215443437474172eba8cf0d59"
|
|
},
|
|
{
|
|
"path": "docs/redesign/phase-5/p5-15/p5-15-01/saved-search-repair/evidence/saved-search-nb-dark-1440-loading.png",
|
|
"sha256": "e115a9af730ab6a1e672423a2be83d38e67049a21278f19a56df7ddd7f3450ed"
|
|
}
|
|
],
|
|
"sourceHashes": [
|
|
{
|
|
"path": "JobTrackerApi/Controllers/JobDiscoveryController.cs",
|
|
"sha256": "06dece853bf6a09662692058fa166dc748c3a86dc0aba0a73e7db583b5cc36b6"
|
|
},
|
|
{
|
|
"path": "JobTrackerApi.Tests/SavedJobSearchSqliteTests.cs",
|
|
"sha256": "cce4ec28606b53a4756f6056afbc4ae626cdcb6f624a85ede0268cacd6c1bf50"
|
|
},
|
|
{
|
|
"path": "job-tracker-ui/src/views/JobDiscoveryPage.tsx",
|
|
"sha256": "9407a04a8ea39f21cff6631367cd8a744a101807be0a7777d8d03ae8a01c299f"
|
|
},
|
|
{
|
|
"path": "job-tracker-ui/src/i18n/translations.ts",
|
|
"sha256": "1fd49ffa0bfac4500a0dda0d9ee0c02e42ccc201160f7fee13800b88c6398ed5"
|
|
},
|
|
{
|
|
"path": "job-tracker-ui/src/job-discovery.test.tsx",
|
|
"sha256": "b334cb40fd7d7450ea3585631fb64b9ca9ded7194a714f6ce524bf57668afd4e"
|
|
},
|
|
{
|
|
"path": "job-tracker-ui/e2e/saved-search-repair.spec.ts",
|
|
"sha256": "d18d064da6ebba4ba9096076c061addfdf103c9ed4cc504d07e3263a494d61f8"
|
|
}
|
|
],
|
|
"rawEvidence": [
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/browser-red.json",
|
|
"sha256": "e854d8fabcde614ebb2be1f2535b0f7822554956beb387044a2fbc0a5cedd0b1"
|
|
},
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/browser-red-command.json",
|
|
"sha256": "8f3066a17d5fa3c5c52eefa73318564d63b37755c18baf65e698b2d47fb84f19"
|
|
},
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/browser/saved-focused.json",
|
|
"sha256": "07ddf0a473ed6399d69f3521b412c8d36af344044aff59ec028cfffb906c9521"
|
|
},
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/backend/focused-summary.json",
|
|
"sha256": "23a227c35f0c8cbd5c8aacde7012f8d28b6862ef2afa0cfe513560d9c53664f6"
|
|
},
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/backend/sqlite-list-before.txt",
|
|
"sha256": "15a2d4399a1eb49634dc905d8a40496bbb31e2add7bdb985bbda1b737a4cfc08"
|
|
},
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/backend/sqlite-list-after.sql",
|
|
"sha256": "d509d2d53f0560455bb8377d98858c627b2ff004359a509dfe7af01b0e6e1f32"
|
|
},
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/frontend-red.json",
|
|
"sha256": "0c81161c4cba8cb51cdc63f6dc5b9f53e903a2dcd580a53e2f7769bb3fef3693"
|
|
},
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/frontend-error-create-red.json",
|
|
"sha256": "f1522072f39e1315d66e8e7b37a6010824f22f0b7b51e1fa2beafac76b43b12e"
|
|
},
|
|
{
|
|
"path": ".artifacts/p5-15-01R-01/frontend-final-focused.json",
|
|
"sha256": "195e8ef97e7f7403b7a3f40c88a06af2d66470a4539d6a3d2b53d89948dbaf1e"
|
|
}
|
|
],
|
|
"limitations": [
|
|
"Provider-run browser output intercepted; real runner SQLite test uses a deterministic external service.",
|
|
"Worker disabled only in test environment; no scheduler-to-notification qualification.",
|
|
"Live MariaDB and PostgreSQL not exercised; PostgreSQL is not currently configured.",
|
|
"Axe incomplete and human/device checks remain open."
|
|
]
|
|
}
|