0954876295
Implement B01-B06 with regression coverage and retained validation evidence. Preserve the production ingress preflight; F04 runtime verification remains open.
134 lines
5.2 KiB
JSON
134 lines
5.2 KiB
JSON
{
|
|
"ticket": "B02",
|
|
"completedDate": "2026-09-08",
|
|
"baselineCommit": "7d641edc7bca866ccf06012897ba1d107c07e59f",
|
|
"environment": "Windows, existing .NET 9 SDK and UI dependencies, synthetic local SQLite/browser fixtures, external providers disabled",
|
|
"status": "complete locally; not deployed; existing R01a standalone TypeScript diagnostic remains",
|
|
"acceptance": "Original retained request rejected; direct object ownership and associations enforced; same-account controls and private state disposal pass",
|
|
"runs": [
|
|
{
|
|
"phase": "before application edits: original replay expected safe assertion failed",
|
|
"path": ".artifacts/b02/before.json",
|
|
"sha256": "BECFB841585A287BADF04E7446DC43FB785F066981E07636534E75F6EF9D2E30",
|
|
"total": 1,
|
|
"passed": 0,
|
|
"failed": 1,
|
|
"skipped": 0,
|
|
"observation": "HTTP 200; A unchanged; B overwritten with retained A draft"
|
|
},
|
|
{
|
|
"phase": "focused backend authorization/session/career/CV",
|
|
"path": ".artifacts/b02/focused.trx",
|
|
"sha256": "B43DF85097B6CE15B6DC7766162934E14F62132686EAA20B76F8EA014170A659",
|
|
"total": 91,
|
|
"passed": 91,
|
|
"failed": 0,
|
|
"skipped": 0
|
|
},
|
|
{
|
|
"phase": "broader backend including focused cases",
|
|
"path": ".artifacts/b02/backend.trx",
|
|
"sha256": "9539800BF98F5B6B2CA6E52FA37FCFB96845A77D6CDA166DFEB3948AA10AD07D",
|
|
"total": 853,
|
|
"passed": 853,
|
|
"failed": 0,
|
|
"skipped": 0,
|
|
"excluded": [
|
|
"JobTrackerApi.Tests.ImapServiceSsrfGuardTests.ConnectAsync_rejects_unresolvable_host_without_leaking_dns_detail"
|
|
],
|
|
"exclusionReason": "Existing test performs real DNS; external access not authorized."
|
|
},
|
|
{
|
|
"phase": "focused frontend before final anonymous-BFCache control addition; superseded by full run",
|
|
"path": ".artifacts/b02/frontend-focused.json",
|
|
"sha256": "72CCCA872249B808C3C1BFAFCA64F5C4BCB1417FD6DA8643AB2DA241B045BE09",
|
|
"suites": 5,
|
|
"total": 51,
|
|
"passed": 51,
|
|
"failed": 0,
|
|
"skipped": 0
|
|
},
|
|
{
|
|
"phase": "final full frontend",
|
|
"path": ".artifacts/b02/frontend.json",
|
|
"sha256": "2D0B7B4A47BF5986FC80205D70FD0024B4CDA6483202A72D225A1034297D1F16",
|
|
"suites": 66,
|
|
"total": 294,
|
|
"passed": 294,
|
|
"failed": 0,
|
|
"skipped": 0
|
|
},
|
|
{
|
|
"phase": "full browser suite before final anonymous-BFCache refinement",
|
|
"path": ".artifacts/b02/browser.json",
|
|
"sha256": "FA78BF60624F42F9DA4A7F7C7DA53FBC4C984297946ED98116DD93BD0FFDB844",
|
|
"total": 17,
|
|
"passed": 17,
|
|
"failed": 0,
|
|
"skipped": 0,
|
|
"flaky": 0
|
|
},
|
|
{
|
|
"phase": "final B02 API/browser rerun after all application edits",
|
|
"path": ".artifacts/b02/browser-final.json",
|
|
"sha256": "A24785864DD906D04C4E6FF84A0ADE2F5D6F2A43B361C901635F41CEB81617B4",
|
|
"total": 4,
|
|
"passed": 4,
|
|
"failed": 0,
|
|
"skipped": 0,
|
|
"flaky": 0,
|
|
"observation": "HTTP 409; both A and B unchanged"
|
|
}
|
|
],
|
|
"checks": [
|
|
{
|
|
"command": "dotnet build JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-restore -warnaserror",
|
|
"path": ".artifacts/b02/backend-build.log",
|
|
"sha256": "3B4A8D824FDF9BC33C527A5B00FD3E045AE7C43F28FD79885CA78641DF222927",
|
|
"exitCode": 0,
|
|
"warnings": 0,
|
|
"errors": 0
|
|
},
|
|
{
|
|
"command": "node --max-old-space-size=4096 node_modules/next/dist/bin/next build",
|
|
"cwd": "job-tracker-ui",
|
|
"path": ".artifacts/b02/frontend-build.log",
|
|
"sha256": "DC7F4BC6EAAD13C897A69F58394867B3B5CBD49B881B60C2D0DF8F7A4612E592",
|
|
"exitCode": 0
|
|
},
|
|
{
|
|
"command": "node node_modules/typescript/bin/tsc --noEmit --pretty false",
|
|
"cwd": "job-tracker-ui",
|
|
"path": ".artifacts/b02/typecheck.log",
|
|
"sha256": "2F9960647ABADEFD054152A9566E4E6557A55383E98627AED742B93EDEBB16DD",
|
|
"exitCode": 2,
|
|
"diagnostic": "src/interview-prep.test.tsx(120,10): error TS2571: Object is of type 'unknown'.",
|
|
"classification": "Pre-existing audit R01a, unchanged, no new diagnostics"
|
|
},
|
|
{
|
|
"command": "node node_modules/eslint/bin/eslint.js src/api.ts src/sessionBoundary.ts src/session-boundary.test.ts src/App.tsx src/views/LoginPage.tsx src/i18n/translations.ts e2e/account-isolation.spec.ts e2e/smoke.spec.ts --max-warnings=0",
|
|
"cwd": "job-tracker-ui",
|
|
"path": ".artifacts/b02/lint.log",
|
|
"sha256": "33237F0AC9684ACA5331E14FA4337EFC24C4C03D39E589FD0FBCA54F627A9483",
|
|
"exitCode": 0,
|
|
"note": "Tool emitted stale Browserslist database advisory; no lint violations; no dependency update."
|
|
},
|
|
{
|
|
"command": "git diff --check",
|
|
"exitCode": 0
|
|
}
|
|
],
|
|
"newRegressionCases": {
|
|
"backendMiddleware": 13,
|
|
"frontendBoundary": 15,
|
|
"realApiAndBrowserScenarios": 4
|
|
},
|
|
"commands": "Exact test commands and local offline fixture reproduction in ../b02-completion.md and b02-browser-config.ts.txt",
|
|
"rawOutputs": "Hashes identify local ignored .artifacts/b02 files; permanent tests, this manifest and compact observations are retained in repository.",
|
|
"originalEvidencePreserved": true,
|
|
"b01ApplicationCodePreserved": true,
|
|
"schemaMigration": false,
|
|
"deployed": false,
|
|
"nextTicket": "B03 — shared PDF admission; not started"
|
|
}
|