docs(redesign): record Analytics authentication repair acceptance
This commit is contained in:
@@ -0,0 +1,241 @@
|
||||
{
|
||||
"sourceCheckpoint": "339e3ba591c91dcd3590d4cbc451ad31268f1aec",
|
||||
"reproducerCheckpoint": "c37cab560afa2d94cc4244c09dfa7aa720563bbf",
|
||||
"codeCheckpoint": "68437671762aa9a4d93036a23a06810f1f47dd57",
|
||||
"originalRed": {
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"requested": "/analytics?months=6",
|
||||
"returned": "/analytics",
|
||||
"case": "[P5-15-01 E02 E07 A01] all 32 routes retain native entry, refresh and anonymous permissions",
|
||||
"error": "Expected pattern: /\\/analytics\\?months=6$/\nReceived string: \"http://localhost:3300/analytics\"\nTimeout: 5000ms",
|
||||
"report": {
|
||||
"path": ".artifacts/p5-15-01R-03/browser/auth-original-red.json",
|
||||
"sha256": "19c33361fecea68fbec97e47e754c36e3efe9ac62dbe284e6722775d3bb42172"
|
||||
}
|
||||
},
|
||||
"loginComponentRed": {
|
||||
"passed": 17,
|
||||
"failed": 12,
|
||||
"notSelected": 0,
|
||||
"declared": 29,
|
||||
"failedCases": [
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/\\t/evil.example\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/%2f%2fevil.example\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/%252f%252fevil.example\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/%5cevil.example\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/analytics?months=%ZZ\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/jobs/../login\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/%6cogin\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/register\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/analytics%0a\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/analytics?months=6\\n\"",
|
||||
"LoginPage restores valid owned-workspace navigation context separately from the sign-in destination",
|
||||
"LoginPage abandons prior return context on the established account/session disposal entry"
|
||||
],
|
||||
"result": {
|
||||
"path": ".artifacts/p5-15-01R-03/frontend/login-red.json",
|
||||
"sha256": "190a11b979354cbc5ca1af1e2e43532f384ff32aadf85baaad25671fd2c6c487"
|
||||
}
|
||||
},
|
||||
"caseNormalizationRed": {
|
||||
"passed": 2,
|
||||
"failed": 2,
|
||||
"notSelected": 27,
|
||||
"declared": 31,
|
||||
"failedCases": [
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/LOGIN\"",
|
||||
"LoginPage uses the safe fallback for the untrusted return target \"/%4cOGIN\""
|
||||
],
|
||||
"result": {
|
||||
"path": ".artifacts/p5-15-01R-03/frontend/case-loop-red.json",
|
||||
"sha256": "e8ec49ada6336b67047c9d093835c110ad80608d3b77a43068a6b43ed5552998"
|
||||
}
|
||||
},
|
||||
"nativeReturn": {
|
||||
"requested": "/analytics?months=6",
|
||||
"returned": "/analytics?months=6"
|
||||
},
|
||||
"periodMatrix": [
|
||||
{
|
||||
"requested": "/analytics?months=24#activity",
|
||||
"returned": "/analytics?months=24#activity",
|
||||
"effectiveMonths": 24,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"width": 1440
|
||||
},
|
||||
{
|
||||
"requested": "/analytics?months=%36#rapport",
|
||||
"returned": "/analytics?months=%36#rapport",
|
||||
"effectiveMonths": 6,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"width": 390
|
||||
},
|
||||
{
|
||||
"requested": "/analytics?months=12",
|
||||
"returned": "/analytics?months=12",
|
||||
"effectiveMonths": 12,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"width": 768
|
||||
},
|
||||
{
|
||||
"requested": "/analytics?months=3#rapport",
|
||||
"returned": "/analytics?months=3#rapport",
|
||||
"effectiveMonths": 12,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"width": 320
|
||||
}
|
||||
],
|
||||
"historyAndAuthentication": {
|
||||
"failedLogin": 401,
|
||||
"retryDefault": 12,
|
||||
"backPeriods": [
|
||||
6,
|
||||
12
|
||||
],
|
||||
"forwardAndRefresh": 6,
|
||||
"authenticatedDirect": 24
|
||||
},
|
||||
"expiryAndLogout": {
|
||||
"expiredCookieMe": 401,
|
||||
"expiryReturn": "/analytics?months=24#activity",
|
||||
"logout": 204,
|
||||
"logoutSubsequentLogin": "/dashboard"
|
||||
},
|
||||
"ownershipAndUnsafeReturnState": {
|
||||
"ownedDestination": "/jobs/1?section=documents#documents",
|
||||
"foreignResource": 404,
|
||||
"foreignWorkspace": 404,
|
||||
"ownerReadbackUnchanged": true,
|
||||
"rejectedTargets": [
|
||||
"//outside.example.test/analytics",
|
||||
"/%2f%2foutside.example.test/analytics"
|
||||
],
|
||||
"fallback": "/dashboard"
|
||||
},
|
||||
"focusedBrowser": {
|
||||
"startTime": "2026-10-10T12:27:51.075Z",
|
||||
"duration": 28486.097,
|
||||
"expected": 5,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"originalGreen": {
|
||||
"startTime": "2026-10-10T12:26:44.366Z",
|
||||
"duration": 36464.388,
|
||||
"expected": 1,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"nativeContract": "Real authenticated local Development/SQLite API for login, Analytics reads, account disposal and owned/foreign resources; no provider/API schema/report aggregation change.",
|
||||
"supportedAnalyticsQuery": "months=6 or24 selects that period; absent/other values retain existing12-month default. Search encoding and fragment survive unchanged.",
|
||||
"screenshots": [
|
||||
{
|
||||
"name": "analytics-auth-en-light-1440",
|
||||
"file": "analytics-auth-en-light-1440.png",
|
||||
"path": ".artifacts/p5-15-01R-03/browser/auth-focused-results/analytics-auth-repair--P5--c5c4a-gn-in-across-locales-themes-chromium/attachments/analytics-auth-en-light-1440-38e97c90033b4d77b5d231d23bf2ca23bd63f19f.png",
|
||||
"sha256": "21cef8b34577795744e6868c3086edc471decb61b76b0d4ee61590e51e0a7724"
|
||||
},
|
||||
{
|
||||
"name": "analytics-auth-nb-dark-390",
|
||||
"file": "analytics-auth-nb-dark-390.png",
|
||||
"path": ".artifacts/p5-15-01R-03/browser/auth-focused-results/analytics-auth-repair--P5--c5c4a-gn-in-across-locales-themes-chromium/attachments/analytics-auth-nb-dark-390-21d1e32701491e996c99b1c4c86814d0f566c563.png",
|
||||
"sha256": "5abc521581bcf406a48566f9bd7c1f66c4e955b852d5fb042a23a119315e05aa"
|
||||
},
|
||||
{
|
||||
"name": "analytics-auth-en-dark-768",
|
||||
"file": "analytics-auth-en-dark-768.png",
|
||||
"path": ".artifacts/p5-15-01R-03/browser/auth-focused-results/analytics-auth-repair--P5--c5c4a-gn-in-across-locales-themes-chromium/attachments/analytics-auth-en-dark-768-1e41ab7c1b87b0da507de99b71e0e00fd9acfe11.png",
|
||||
"sha256": "5b30de0bd4291eed11f71741e328c16ef2e4766fc854e7f49beb17e45c50bcc8"
|
||||
},
|
||||
{
|
||||
"name": "analytics-auth-nb-light-320",
|
||||
"file": "analytics-auth-nb-light-320.png",
|
||||
"path": ".artifacts/p5-15-01R-03/browser/auth-focused-results/analytics-auth-repair--P5--c5c4a-gn-in-across-locales-themes-chromium/attachments/analytics-auth-nb-light-320-cd3d311cb5e473ef05069561c0d0c52529c1f8a9.png",
|
||||
"sha256": "329ea5665112ef15d2dfd4b29086e47a59b5d8abca26d7fed0dd6c6109d5f072"
|
||||
}
|
||||
],
|
||||
"visualInspection": {
|
||||
"type": "Coding-agent screenshot inspection only; not independent human or assistive-technology acceptance.",
|
||||
"reviewed": [
|
||||
"analytics-auth-en-light-1440",
|
||||
"analytics-auth-nb-dark-390",
|
||||
"analytics-auth-en-dark-768",
|
||||
"analytics-auth-nb-light-320"
|
||||
],
|
||||
"status": "Recorded reviewed screenshots"
|
||||
},
|
||||
"rawEvidence": [
|
||||
{
|
||||
"path": ".artifacts/p5-15-01R-03/frontend/login-red.json",
|
||||
"sha256": "190a11b979354cbc5ca1af1e2e43532f384ff32aadf85baaad25671fd2c6c487"
|
||||
},
|
||||
{
|
||||
"path": ".artifacts/p5-15-01R-03/frontend/case-loop-red.json",
|
||||
"sha256": "e8ec49ada6336b67047c9d093835c110ad80608d3b77a43068a6b43ed5552998"
|
||||
},
|
||||
{
|
||||
"path": ".artifacts/p5-15-01R-03/browser/auth-focused.json",
|
||||
"sha256": "ba69aad3d0c27e6b532abafc496928a51a4b575eb4dd782f5e503e349f1fd7a3"
|
||||
},
|
||||
{
|
||||
"path": ".artifacts/p5-15-01R-03/browser/auth-original-green.json",
|
||||
"sha256": "f28698a236d9ea82d9691e62d44df7391ffe48c912661aa9885bea4906bd2558"
|
||||
}
|
||||
],
|
||||
"intermediateAttempts": [
|
||||
{
|
||||
"label": "Retained focused-browser harness attempt; Unauthorized toast/announcer selector ambiguity, corrected without changing401/retry assertions.",
|
||||
"file": {
|
||||
"path": ".artifacts/p5-15-01R-03/browser/attempt1-auth-focused.json",
|
||||
"sha256": "36b6431e61415e19bb11ea38a1bd09939ee79e683609e0233e068559ded1cb97"
|
||||
},
|
||||
"log": {
|
||||
"path": ".artifacts/p5-15-01R-03/browser/attempt1-auth-focused.log",
|
||||
"sha256": "a86a91be2dbe58d0058039c9953d8c3908c9a4a7c0fb7f9eaef84f968fb05cd2"
|
||||
},
|
||||
"counts": {
|
||||
"startTime": "2026-10-10T12:26:12.986Z",
|
||||
"duration": 30801.587,
|
||||
"expected": 4,
|
||||
"skipped": 0,
|
||||
"unexpected": 1,
|
||||
"flaky": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Retained intermediate attempt; not final acceptance evidence.",
|
||||
"file": {
|
||||
"path": ".artifacts/p5-15-01R-03/frontend/attempt1-jest.json",
|
||||
"sha256": "491288c010df227f78caf9ee90a468085b0e31e81da5627ccbe8012723e28c09"
|
||||
},
|
||||
"counts": {
|
||||
"numPassedTests": 488,
|
||||
"numFailedTests": 0,
|
||||
"numPendingTests": 0,
|
||||
"numTotalTests": 488
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Retained intermediate attempt; not final acceptance evidence.",
|
||||
"file": {
|
||||
"path": ".artifacts/p5-15-01R-03/frontend/attempt1-summary.json",
|
||||
"sha256": "7d5ae5f3e0c352e27a60bb6471a253e60995f9d544b7e0a1266bbd91f64daead"
|
||||
},
|
||||
"counts": {}
|
||||
}
|
||||
],
|
||||
"limits": [
|
||||
"No real Google/Microsoft provider authentication; existing provider return/cancellation paths have deterministic component fixtures only.",
|
||||
"No human screen-reader, physical touch/software keyboard, or production font/photo qualification.",
|
||||
"P5-13 remains deferred, unqualified and Production-withheld; zero qualification calls/UI activation.",
|
||||
"F04, current complete backup/restore, production configuration/schema and tested rollback remain release blockers.",
|
||||
"Historical preference500 causes and unexplained CV Unsaved intermittent assertion remain open."
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user