From db818e5ebd19eeedc05ae58dc3f7a908ce0e713d Mon Sep 17 00:00:00 2001 From: cesnimda Date: Mon, 2 Nov 2026 23:06:09 +0100 Subject: [PATCH] test(phase10): preserve relational attachment ownership and storage evidence --- docs/redesign/phase-10/P10-04.md | 6 ++++++ .../attachment-ownership-and-storage.trx.gz | Bin 0 -> 3171 bytes 2 files changed, 6 insertions(+) create mode 100644 docs/redesign/phase-10/p10-04-evidence/attachment-ownership-and-storage.trx.gz diff --git a/docs/redesign/phase-10/P10-04.md b/docs/redesign/phase-10/P10-04.md index af9d869..db945e9 100644 --- a/docs/redesign/phase-10/P10-04.md +++ b/docs/redesign/phase-10/P10-04.md @@ -22,3 +22,9 @@ The three filters are disjoint: 89 distinct backend cases passed, zero failed/sk Frontend PASSED: five suites, 92 tests, zero failures/pending, native exit 0, 41.237 seconds. Exact selected paths: `career-history-view.test.tsx`, `application-assets.test.tsx`, `cover-letter-document.test.tsx`, `cv-document-controls.test.tsx`, `cv-import-review.test.tsx`; Jest `--runInBand --runTestsByPath`, local mocked contracts. [Native JSON](p10-04-evidence/frontend-document-workflows.json.gz), uncompressed SHA256 `b919a96d94218ff166de684f6b82d3ce6f34d47b51d52480721e8955df2df257`. Browser/real PDF fidelity and semantic AI quality are separate evidence. Backend and frontend counts remain separate. Migration rehearsal/rollback, MariaDB integration, sidecar, complete suites, security acceptance, hosted CI and human/device qualification remain NOT RUN here. Reuse unchanged accepted renderer evidence only within its source/fixture/environment boundaries. No migration or destructive cleanup is proposed. P10-05 remains open; production remains NO-GO. + +## Additional attachment qualification + +Fresh AttachmentConsistencyTests execution: 14 PASSED, zero failures/skips, native exit 0. Reused the existing Release assembly with --no-build/--no-restore after confirming no backend/test source difference between the Phase 10 and security branches. Relational temporary SQLite and synthetic files only. The named case Another_users_attachment_cannot_be_downloaded_renamed_or_deleted verifies three NotFound results and preserves the foreign file/row. Other selected cases cover upload/storage consistency. This is direct controller/local fixture evidence, not authenticated HTTP or deployed/MariaDB isolation acceptance. No application code changed. + +[Native TRX](p10-04-evidence/attachment-ownership-and-storage.trx.gz). These 14 cases are disjoint from the earlier 89 backend cases: selected backend coverage is now 103 distinct cases, with the 92 frontend tests kept separate. Complete suites and P10-05 remain open. diff --git a/docs/redesign/phase-10/p10-04-evidence/attachment-ownership-and-storage.trx.gz b/docs/redesign/phase-10/p10-04-evidence/attachment-ownership-and-storage.trx.gz new file mode 100644 index 0000000000000000000000000000000000000000..56aad5c07948df61850d72609c5f122faa07d05c GIT binary patch literal 3171 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 JmXYLC007tpM^yj- literal 0 HcmV?d00001