Files
SGF/docs/proofs/supplier-documents-composition-20261103.json
T
2026-11-04 09:37:20 +02:00

257 lines
11 KiB
JSON

{
"date": "2026-11-03T16:26:17.508Z",
"increment": "SGF-SUPPLIER-DOCUMENTS-QA-v1",
"passed": true,
"functional_code": true,
"checks": 52,
"tests": {
"documents": {
"file": "private/receipt-composition-d4d3650fc49f/supplier-documents-result.json",
"sha256": "c64ceaac8b178be40a25bdf03a416001aff253da4d4f1bec61b2fc6cba22aa90",
"checks": 28,
"result": {
"passed": true,
"checks": [
"new supplier attachment book begins empty",
"financial reviewer can inspect paginated private metadata",
"unrelated physical/request roles cannot read supplier documents",
"original upload preview captures actual bytes and review invalidation without temporary document id",
"preview rolls back supplier document and audit and removes only its private staged file",
"native MIME and extension checks reject disguised or executable attachments",
"native document type catalogue remains authoritative",
"independent sessions prepare same-key upload with their own context-bound previews",
"confirmation refuses substituted file bytes",
"existing preparation right rechecked at confirmation",
"provenance failure rolls back native records and compensates only verified uncommitted file",
"concurrent same-key recovery stores one native document and one permanent file",
"new attachment invalidates previous review and advances supplier version once",
"review prepared before new evidence requires fresh conference",
"distinct native review reactivates exact supplier version",
"historical upload replay preserves subsequent approved review without another file",
"metadata projection hides storage path and native tenant",
"private download returns exact original bytes as sandboxed attachment",
"original download audit recorded for authorised reviewer",
"altered stored bytes are not silently served as original evidence",
"document id cannot cross supplier or tenant boundary",
"new attachment preserves prior original and sanitises client filename",
"all16 immutable document records accessible in distinct15/1 pages",
"permanent files match recorded volume and preview staging contains no files",
"supplier history exposes original document evidence in existing administrative timeline",
"another available module cannot read supplier documents",
"unmapped unit cannot reuse document metadata",
"document workflow creates no order invoice debt payment or localisation"
],
"transport_documents": 2,
"native_volume_documents": 14,
"documents": 16,
"permanent_files": 16,
"staged_files": 0,
"concurrency_statuses": [
200,
201
],
"new_right_names": [],
"visual_review": false,
"deployment_capacity_validated": false
}
},
"integration": {
"file": "private/receipt-composition-d4d3650fc49f/supplier-documents-integration.json",
"sha256": "f843b916226554ff554f6fb3bc8b745f4841e32cfbbde8fa7e403a18d1bab1f7",
"checks": 9,
"result": {
"passed": true,
"checks": [
"new session context invalidates an uncommitted document preview",
"changed supplier-origin binding requires fresh file conference",
"supplier awaiting document review is excluded from proposal selector",
"forged pending supplier id is refused by original quotation workflow",
"distinct original review reactivates exact evidence version for sourcing",
"review between file preview and confirmation forces new file conference",
"reviewed supplier reappears in same scoped proposal selector",
"new evidence permits original quotation preview without automatic proposal",
"context probes preserve binding files and all original attachments"
],
"source_request_setup_only": true,
"source_request_reserved_minor": 100,
"document_workflow_creates_reservation": false,
"documents": 16,
"new_orders": 0,
"new_quotes": 0,
"new_right_names": [],
"visual_review": false,
"deployment_capacity_validated": false
}
},
"guards": {
"file": "private/receipt-composition-6a55cbf089ba/supplier-documents-guards.json",
"sha256": "a84f8ab5e6d268bb037fc5422772817ccc54d05d5ec4b07a3f6a548003394f20",
"checks": 4,
"result": {
"passed": true,
"checks": [
"disabled document metadata refuses before SQL",
"disabled upload refuses before validation storage and SQL",
"production refuses synthetic document adapter before SQL",
"document route belongs to purchasing and guard probes issue zero SQL"
],
"database_queries": 0
}
},
"demo": {
"file": "private/receipt-composition-6a55cbf089ba/supplier-documents-demo.json",
"sha256": "adec6e751793002805d5546528a95f73d3800cea7cde3565812cc51f0e05eef6",
"checks": 8,
"result": {
"passed": true,
"checks": [
"live demo starts without attachments or main requests",
"private document list respects actor",
"supplier screen capability exposes document module only in new composition",
"private document list respects issuer",
"private document list respects validator",
"served document source matches supplier-workspace.mjs",
"served document source matches supplier-documents.mjs",
"live metadata checks preserve supplier versions attachments and audit"
],
"before": "cf9ffe4986cc4b40ebec46427379cfe00a7559339ad1d6afd527f20748adf0b0",
"after": "cf9ffe4986cc4b40ebec46427379cfe00a7559339ad1d6afd527f20748adf0b0",
"visual_review": false
}
},
"assets": {
"file": "private/receipt-composition-6a55cbf089ba/supplier-documents-assets.json",
"sha256": "fac39bfeea24042f5f55c959fca4c970139b814724f7e6fd68aa78316642989f",
"checks": 3,
"result": {
"passed": true,
"checks": [
"private frontend build succeeds",
"served built assets match private build",
"supplier document module is served through private static whitelist"
],
"assets": [
"assets/app-rwyn9RPO.js",
"assets/app-BLSNCrO7.css"
],
"visual_review": false
}
}
},
"sources": [
{
"file": "app/Modules/Purchasing/SupplierDocumentsController.php",
"sha256": "4f5c6b3ee9d6608cffb1f8db24552902c4d2b6044e36e00932157c0b05e3e3c6"
},
{
"file": "app/Modules/Purchasing/SupplierDocumentFiles.php",
"sha256": "a8c7fbe18d9ccd6a7e6fd27275e8827ac6a75f4b147ec02b06fabc30a15f29c8"
},
{
"file": "app/Modules/Purchasing/SupplierController.php",
"sha256": "30d4ef72e079a63b470c952727aaa7c42a45302a58b50d085a53a57737a99048"
},
{
"file": "app/Modules/Purchasing/SupplierAccess.php",
"sha256": "b823189d10e8ecf9a55e9021bffce023a7e6d4e2b0db2710c32910591968d814"
},
{
"file": "config/receipt_qa.php",
"sha256": "49ad948ce83640a0b178382d5632d736aef7b77ebce6dc2881f3a890508edc27"
},
{
"file": "routes/web.php",
"sha256": "563c60a354624e552869c83529a2e23f9902b8650da8470283f9f5006423d6cf"
},
{
"file": "public/supplier-workspace.mjs",
"sha256": "5bcd02e4f45441bc6453b4d4dcb719f2467cec62e212f31b7d7feb05ca7f0c05"
},
{
"file": "public/supplier-documents.mjs",
"sha256": "70e96bc60238efe6bb8a65297f7412fee9abb143dd96805713bb1deafc784820"
}
],
"pinned_native_manifests": {
"bundle": "7709a3d447d54c17d2fb4be4f9a0f70455c4a38c34e4bb8c643f6b5169071556",
"economic": "8b2d3aa61054e0edc54fcd818467eb2bacb5e1178f903b12ab44119e0f2e8d2e",
"internal": "2343af71f72259dd705f4cc3a3b163c90edf331a5b6ebe173531aeb341649e1b"
},
"authority": {
"original_document_controller": true,
"private_qa_storage": true,
"source_company_unit_checked": true,
"existing_rights": [
"purchasing_suppliers.view",
"purchasing_suppliers.prepare"
],
"new_right_names": [],
"upload_invalidates_review": true,
"independent_review_reopens_sourcing": true,
"automatic_quote": false
},
"regression": {
"transport_documents": 2,
"native_volume_documents": 14,
"documents_and_files": 16,
"staged_files": 0,
"concurrency_statuses": [
200,
201
],
"prior_successful_checks_preserved": 17,
"resumed_after_download_adapter_fix": 11,
"source_request_setup_minor": 100,
"attachment_creates_budget_reservation": false
},
"demo": {
"port": 8076,
"entry": "http://127.0.0.1:8076/qa/enter/actor?open=1",
"reviewer": "http://127.0.0.1:8076/qa/enter/issuer?open=1",
"initial_documents": 0,
"initial_main_requests": 0,
"prepared_suppliers": 3,
"locations": 0
},
"prior_proofs_preserved": [
{
"file": "docs/proofs/receipt-workspace-completion-20261103.json",
"sha256": "59bb66df5d5e12f898045669a0ad24664c3d09f2d3ab6cf70f4f13d6a34c6548"
},
{
"file": "docs/proofs/purchasing-dossier-composition-20261103.json",
"sha256": "15686bc54488be2aa342c899f82a683ee43674621a8c4678b5ba6c34d08e6a62"
},
{
"file": "docs/proofs/supplier-search-composition-20261103.json",
"sha256": "388e738da7e9b3e7f521c8d67f85dd4ef34869c74daf0c04c09067b9fbde5242"
},
{
"file": "docs/proofs/module-association-consolidation-summary-20261102.json",
"sha256": "8f693f39763ee21a22ebd3929d95ba1480f339eca18742fa53055c69eb5219ef"
}
],
"preservation": {
"installed_purchasing_sha256": "81899e531e9eec449717e694d8bdc106a9e220a828f5491ce918c1d2dc612787",
"target_database_connected": false,
"protected_six_records_changed": false,
"blocked_cache_cleared": false,
"previous_demo_data_written": false,
"public_rights_changed": false,
"publication": false,
"checkpoint": false
},
"limitations": [
"Positive binary fixture is PNG. Allowed PDF/JPEG rules are original native rules, not a new full-format reader regression.",
"Validation does not certify authenticity, fiscal validity or universally required document types.",
"Ordinary rollback compensation is tested. If commit outcome cannot be verified, files are retained; crash-orphan reconciliation and retention/quota maintenance are not declared delivered.",
"Preview sequence values may advance and empty private staging directories may remain; staged file count is zero.",
"Same key is idempotent; another key is another explicit upload intent. The original mechanism does not perform global content-hash deduplication.",
"Fourteen native-controller volume uploads are fixture preparation, not14 independent HTTP transport confirmations.",
"Native schema provisioning remains current while runtime is pinned; general installation/least-privilege deployment is not validated.",
"Visual review, sustained load and storage capacity remain pending."
],
"visual_review_pending": true,
"deployment_capacity_validated": false
}