Files
console-dev/docs/acceptance.json
T
2026-11-06 00:04:38 +08:00

2058 lines
51 KiB
JSON

{
"schemaVersion": 1,
"checkedOn": "2026-11-05",
"scope": "Second handwritten-template batch and rebuilt frontend; offline acceptance, not production",
"commands": ["npm run check", "npm run build", "npm test"],
"summary": {
"vueFilesParsed": 161,
"modulesParsed": 55,
"build": "passed",
"browserScenarios": 21,
"passed": 21,
"failed": 0,
"skipped": 0,
"browserErrors": 0,
"networkViolations": 0
},
"boundaries": {
"backend": "Out-of-process local HTTP fake via production NUXT_PUBLIC_API_BASE",
"browser": "Installed Google Chrome via Playwright",
"clock": "Browser clock controlled externally; no product-only test parameters",
"production": "Not contacted or modified"
},
"limitations": [
"Not every page or business branch has been exercised end to end",
"Real payment, CAPTCHA/OAuth, supplier and VNC integrations require staging verification",
"HTTP fake cannot guarantee real supplier response compatibility"
],
"scenarios": [
{
"name": "a legacy temporary credential is stripped and reaches the verified home",
"result": "passed",
"observed": {
"temporaryCredentialVerified": true,
"credentialRemovedFromVisibleUrl": true,
"referrerOmitted": true,
"homeReached": true
},
"screenshot": "acceptance-assets/a-legacy-temporary-credential-is-stripped-and-reaches-the-verified-home.png",
"requests": [
{
"method": "GET",
"path": "/announcement",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/certification/info",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"display_modules",
"limit",
"module",
"page",
"server_page"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"end_time",
"limit",
"orderby",
"page",
"sort",
"start_time"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/recommend/promoter",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ticket",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/withdraw/rule/credit",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "a rejected legacy credential stays out of the error URL and can be retried",
"result": "passed",
"observed": {
"rejectedCredentialNotPersisted": true,
"credentialRemovedFromErrorUrl": true,
"accountLoginAvailable": true,
"retryVerificationRecovers": true,
"recoveredWithoutNewLogin": true
},
"screenshot": "acceptance-assets/a-rejected-legacy-credential-stays-out-of-the-error-url-and-can-be-retried.png",
"requests": [
{
"method": "GET",
"path": "/announcement",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/certification/info",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"display_modules",
"limit",
"module",
"page",
"server_page"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"end_time",
"limit",
"orderby",
"page",
"sort",
"start_time"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/recommend/promoter",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ticket",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/withdraw/rule/credit",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "a stalled payment status request cannot swallow the payment deadline",
"result": "passed",
"observed": {
"independentDeadlineEnforced": true,
"noDuplicatePayment": true,
"sessionRetained": true
},
"screenshot": "acceptance-assets/a-stalled-payment-status-request-cannot-swallow-the-payment-deadline.png",
"requests": [
{
"method": "GET",
"path": "/account",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/gateway",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/order/42",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/order/42/transaction_record",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/pay/42/status",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/voucher/pay",
"queryKeys": ["order_id"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
},
{
"method": "POST",
"path": "/pay",
"queryKeys": [],
"bodyKeys": ["gateway", "id"],
"authenticated": true
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "an authoritative empty menu does not expose fallback links",
"result": "passed",
"observed": {
"backendControlledLinksHidden": true,
"directPageUsable": true
},
"screenshot": "acceptance-assets/an-authoritative-empty-menu-does-not-expose-fallback-links.png",
"requests": [
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "an envelope 401 clears the session and returns to login",
"result": "passed",
"observed": {
"businessStatus401Enforced": true,
"expiredSessionCleared": true
},
"screenshot": "acceptance-assets/an-envelope-401-clears-the-session-and-returns-to-login.png",
"requests": [
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "an existing session entering the legacy route is verified again",
"result": "passed",
"observed": {
"existingSessionReverified": true,
"noSecondPasswordLogin": true,
"homeReached": true
},
"screenshot": "acceptance-assets/an-existing-session-entering-the-legacy-route-is-verified-again.png",
"requests": [
{
"method": "GET",
"path": "/announcement",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/certification/info",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"display_modules",
"limit",
"module",
"page",
"server_page"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"end_time",
"limit",
"orderby",
"page",
"sort",
"start_time"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/recommend/promoter",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ticket",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/withdraw/rule/credit",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "an expired identity on payment confirmation cannot restart payment initialization",
"result": "passed",
"observed": {
"expiredIdentityRevokesPaymentPage": true,
"noPaymentSubmitted": true,
"noPostExpiryPaymentInitialization": true
},
"screenshot": "acceptance-assets/an-expired-identity-on-payment-confirmation-cannot-restart-payment-initialization.png",
"requests": [
{
"method": "GET",
"path": "/account",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/gateway",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/order/42",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/order/42/transaction_record",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/voucher/pay",
"queryKeys": ["order_id"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "auth guard preserves the protected destination",
"result": "passed",
"observed": {
"destinationPreserved": true,
"protectedApiNotCalled": true
},
"screenshot": "acceptance-assets/auth-guard-preserves-the-protected-destination.png",
"requests": [
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "disabled SMS login cannot override the available password method",
"result": "passed",
"observed": {
"disabledSmsCannotBecomeInitialMode": true,
"passwordLoginAvailable": true,
"noSmsSent": true
},
"screenshot": "acceptance-assets/disabled-sms-login-cannot-override-the-available-password-method.png",
"requests": [
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "logging out of an open payment page cannot reinitialize its payment data",
"result": "passed",
"observed": {
"logoutRevokesPaymentPage": true,
"noPostLogoutPaymentInitialization": true
},
"screenshot": "acceptance-assets/logging-out-of-an-open-payment-page-cannot-reinitialize-its-payment-data.png",
"requests": [
{
"method": "GET",
"path": "/account",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/gateway",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/order/42",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/order/42/transaction_record",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/voucher/pay",
"queryKeys": ["order_id"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
},
{
"method": "POST",
"path": "/logout",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "login rejects a backslash return destination",
"result": "passed",
"observed": {
"unsafeDestinationRejected": true,
"localHomeReached": true
},
"screenshot": "acceptance-assets/login-rejects-a-backslash-return-destination.png",
"requests": [
{
"method": "GET",
"path": "/announcement",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/certification/info",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"display_modules",
"limit",
"module",
"page",
"server_page"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"end_time",
"limit",
"orderby",
"page",
"sort",
"start_time"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/recommend/promoter",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ticket",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/withdraw/rule/credit",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "login rejects a encoded slash return destination",
"result": "passed",
"observed": {
"unsafeDestinationRejected": true,
"localHomeReached": true
},
"screenshot": "acceptance-assets/login-rejects-a-encoded-slash-return-destination.png",
"requests": [
{
"method": "GET",
"path": "/announcement",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/certification/info",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"display_modules",
"limit",
"module",
"page",
"server_page"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"end_time",
"limit",
"orderby",
"page",
"sort",
"start_time"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/recommend/promoter",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ticket",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/withdraw/rule/credit",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "login rejects a protocol relative return destination",
"result": "passed",
"observed": {
"unsafeDestinationRejected": true,
"localHomeReached": true
},
"screenshot": "acceptance-assets/login-rejects-a-protocol-relative-return-destination.png",
"requests": [
{
"method": "GET",
"path": "/announcement",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/certification/info",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"display_modules",
"limit",
"module",
"page",
"server_page"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/host",
"queryKeys": [
"end_time",
"limit",
"orderby",
"page",
"sort",
"start_time"
],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/recommend/promoter",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ticket",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/withdraw/rule/credit",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "logout clears local access while its API request remains pending",
"result": "passed",
"observed": {
"localSessionClearedWithoutResponse": true,
"nextProtectedNavigationBlocked": true
},
"screenshot": "acceptance-assets/logout-clears-local-access-while-its-api-request-remains-pending.png",
"requests": [
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
},
{
"method": "POST",
"path": "/logout",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "logout in another tab revokes both visible sessions",
"result": "passed",
"observed": {
"sharedBrowserSessionRecognized": true,
"logoutRevokesBothTabs": true,
"noJwtPreseeding": true
},
"screenshot": "acceptance-assets/logout-in-another-tab-revokes-both-visible-sessions.png",
"requests": [
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
},
{
"method": "POST",
"path": "/logout",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "password login uses the deployed encrypted field contract",
"result": "passed",
"observed": {
"passwordMasked": true,
"encryptedContractValid": true,
"destinationPreserved": true
},
"screenshot": "acceptance-assets/password-login-uses-the-deployed-encrypted-field-contract.png",
"requests": [
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "payment handles the deployed top level Paid response",
"result": "passed",
"observed": {
"paidEnvelopeAccepted": true,
"receiptReached": true,
"orderId": 42
},
"screenshot": "acceptance-assets/payment-handles-the-deployed-top-level-paid-response.png",
"requests": [
{
"method": "GET",
"path": "/account",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/gateway",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/order/42",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/order/42/transaction_record",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/voucher/pay",
"queryKeys": ["order_id"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
},
{
"method": "POST",
"path": "/pay",
"queryKeys": [],
"bodyKeys": ["gateway", "id"],
"authenticated": true
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "SMS only login honors site settings and the verification countdown contract",
"result": "passed",
"observed": {
"disabledPasswordModeRespected": true,
"emailCannotRequestSms": true,
"countdownSeconds": 60,
"countdownPreventsDuplicateSend": true,
"smsLoginContractValid": true
},
"screenshot": "acceptance-assets/sms-only-login-honors-site-settings-and-the-verification-countdown-contract.png",
"requests": [
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"phone_code",
"remember_password",
"token",
"type"
],
"authenticated": false
},
{
"method": "POST",
"path": "/phone/code",
"queryKeys": [],
"bodyKeys": ["action", "captcha", "phone", "phone_code", "token"],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "SSH create edit and delete return the final page to a valid page",
"result": "passed",
"observed": {
"createPersisted": true,
"editPersisted": true,
"deletedRows": 2,
"emptyLastPageRecovered": true,
"finalVisibleRows": 10
},
"screenshot": "acceptance-assets/ssh-create-edit-and-delete-return-the-final-page-to-a-valid-page.png",
"requests": [
{
"method": "DELETE",
"path": "/ssh_key/11",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "DELETE",
"path": "/ssh_key/12",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
},
{
"method": "POST",
"path": "/ssh_key",
"queryKeys": [],
"bodyKeys": ["name", "public_key"],
"authenticated": true
},
{
"method": "PUT",
"path": "/ssh_key/12",
"queryKeys": [],
"bodyKeys": ["id", "name", "public_key"],
"authenticated": true
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "SSH search paginates 25 matches without repeating all rows",
"result": "passed",
"observed": {
"searchedRows": 25,
"pageSizes": [10, 10, 5],
"distinctRows": 25,
"ordinaryBackendPageCorrect": true,
"newSearchResetsPage": true,
"clearResetsPage": true,
"settledRowsEditable": true
},
"screenshot": "acceptance-assets/ssh-search-paginates-25-matches-without-repeating-all-rows.png",
"requests": [
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
},
{
"name": "the default request deadline aborts an unfinished JSON body and allows retry",
"result": "passed",
"observed": {
"headersReceived": true,
"unfinishedBodyBoundedByDefaultDeadline": true,
"loadingReleased": true,
"retryRecoveredRows": 10
},
"screenshot": "acceptance-assets/the-default-request-deadline-aborts-an-unfinished-json-body-and-allows-retry.png",
"requests": [
{
"method": "GET",
"path": "/client_care/mail",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/common",
"queryKeys": [],
"bodyKeys": [],
"authenticated": false
},
{
"method": "GET",
"path": "/index",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/menu",
"queryKeys": [],
"bodyKeys": [],
"authenticated": true
},
{
"method": "GET",
"path": "/ssh_key",
"queryKeys": ["limit", "page"],
"bodyKeys": [],
"authenticated": true
},
{
"method": "POST",
"path": "/login",
"queryKeys": [],
"bodyKeys": [
"account",
"captcha",
"code",
"password",
"remember_password",
"token",
"type"
],
"authenticated": false
}
],
"browserErrors": [],
"networkViolations": []
}
],
"standaloneArchiveCheck": {
"source": "git archive HEAD:frontend",
"cleanExtraction": true,
"commands": ["npm ci", "npm run check", "npm run build", "npm test"],
"install": "passed",
"sourceGate": "passed: 161 Vue files, 55 JS modules",
"build": "passed",
"browserTests": {
"passed": 18,
"failed": 0,
"skipped": 0
},
"note": "The archive was unpacked outside the repository; dependencies were freshly installed rather than reused by a symlink. Subsequent handoff edits are documentation-only."
},
"supplementalVisualChecks": {
"scope": "Supplemental local Chrome checks, not additional automated test scenarios or pixel-identical acceptance",
"captures": [
{
"scenario": "legacy login error and blank layout",
"screenshot": "acceptance-assets/legacy-error-390.png",
"geometry": {
"viewportWidth": 390,
"documentWidth": 390,
"card": {
"x": 14,
"y": 272,
"width": 362,
"height": 356,
"display": "block",
"gap": "normal"
},
"captcha": null,
"codeRow": null,
"codeButton": null,
"dialog": null,
"editorForm": null,
"editorField": null
},
"browserErrors": [],
"networkViolations": []
},
{
"scenario": "password login and blank layout",
"screenshot": "acceptance-assets/login-390.png",
"geometry": {
"viewportWidth": 390,
"documentWidth": 390,
"card": {
"x": 15,
"y": 94,
"width": 360,
"height": 711,
"display": "block",
"gap": "normal"
},
"captcha": {
"x": 39,
"y": 564,
"width": 312,
"height": 78,
"display": "grid",
"gap": "normal"
},
"codeRow": null,
"codeButton": null,
"dialog": null,
"editorForm": null,
"editorField": null
},
"browserErrors": [],
"networkViolations": []
},
{
"scenario": "SMS login scoped code row",
"screenshot": "acceptance-assets/sms-320.png",
"geometry": {
"viewportWidth": 320,
"documentWidth": 320,
"card": {
"x": 15,
"y": 78,
"width": 290,
"height": 646,
"display": "block",
"gap": "normal"
},
"captcha": {
"x": 35,
"y": 486,
"width": 250,
"height": 78,
"display": "grid",
"gap": "normal"
},
"codeRow": {
"x": 35,
"y": 366,
"width": 250,
"height": 100,
"display": "flex",
"gap": "10px"
},
"codeButton": {
"x": 35,
"y": 422,
"width": 250,
"height": 44,
"display": "flex",
"gap": "6.5px"
},
"dialog": null,
"editorForm": null,
"editorField": null
},
"browserErrors": [],
"networkViolations": []
},
{
"scenario": "SMS login scoped code row",
"screenshot": "acceptance-assets/sms-390.png",
"geometry": {
"viewportWidth": 390,
"documentWidth": 390,
"card": {
"x": 15,
"y": 150,
"width": 360,
"height": 600,
"display": "block",
"gap": "normal"
},
"captcha": {
"x": 39,
"y": 508,
"width": 312,
"height": 78,
"display": "grid",
"gap": "normal"
},
"codeRow": {
"x": 39,
"y": 442,
"width": 312,
"height": 46,
"display": "flex",
"gap": "10px"
},
"codeButton": {
"x": 225,
"y": 442,
"width": 126,
"height": 46,
"display": "flex",
"gap": "6.5px"
},
"dialog": null,
"editorForm": null,
"editorField": null
},
"browserErrors": [],
"networkViolations": []
},
{
"scenario": "SSH editor scoped teleported fields",
"screenshot": "acceptance-assets/ssh-editor-390.png",
"geometry": {
"viewportWidth": 390,
"documentWidth": 390,
"card": null,
"captcha": null,
"codeRow": null,
"codeButton": null,
"dialog": {
"x": 12,
"y": 198,
"width": 366,
"height": 448,
"display": "flex",
"gap": "normal"
},
"editorForm": {
"x": 29,
"y": 264,
"width": 332,
"height": 314,
"display": "flex",
"gap": "14px"
},
"editorField": {
"x": 29,
"y": 264,
"width": 332,
"height": 83,
"display": "flex",
"gap": "7px"
}
},
"browserErrors": [],
"networkViolations": []
}
],
"observed": [
"Password visibility toggles both ways",
"Registration and password-reset hints visible",
"Register and forgot-password links preserve safe redirect",
"SSH editor prefilled values and cancel work"
],
"knownDebt": "AUTH_THEME_CYCLE_LABEL; initial auto-to-light click is not a dark-mode test"
},
"cleanArchiveValidation": {
"candidateCommit": "6c73598cbdb67b9aa7f67f6953d904f59a880c55b7888520835d9cec832d55d1",
"files": 686,
"commands": ["npm ci", "npm run check", "npm run build", "npm test"],
"result": "passed",
"browserScenarios": 21,
"passed": 21,
"failed": 0,
"browserErrors": 0,
"networkViolations": 0,
"normalizedScenarioOutcomes": "Identical to integrated run",
"finalChangesAfterValidation": "Documentation and ledgers only; product, lockfile and tests unchanged",
"excluded": [
".env",
".git",
"node_modules",
".nuxt",
".output",
"releases",
"database backups"
],
"dependencyWarnings": "12 existing findings: 6 low and 6 moderate; not resolved by this batch"
}
}