Files
SGF/docs/proofs/stock-composed-source-20261103.json
2026-11-04 09:37:20 +02:00

201 lines
9.1 KiB
JSON

{
"date": "2026-11-03T19:58:28.833Z",
"increment": "SGF-STOCK-COMPOSED-SOURCE-QA-v1",
"passed": true,
"functional_code": true,
"checks": 41,
"tests": {
"integration": {
"file": "private/receipt-composition-306efac9b54b/composition-stock-result.json",
"sha256": "d34dc4f24658a9ee60b22454133901e312a61a7ee69242f66cb14701ad1a74a3",
"checks": 31,
"result": {
"passed": true,
"checks": [
"composed stock starts with a genuine empty physical book",
"purchasing authority does not grant stock access",
"stock endpoint refuses Purchasing module context",
"another unit cannot inherit the source binding",
"foreign warehouse explicitly refused",
"page bounds and unknown filters rejected",
"stale HTTP context refused before source observation",
"catalogue uses bounded pages100 and remainder",
"pages25 cover the same tenant catalogue once without foreign articles",
"search preserves literal wildcard semantics",
"only explicitly mapped warehouse is visible",
"original receipt preview has no physical effect",
"original receipt confirmation creates exactly one native movement",
"receipt replay remains idempotent across the integration",
"new native movement invalidates an earlier stock snapshot",
"Stock reads the exact canonical receipt movement and rational quantity",
"stock projection exposes no raw document or financial snapshot",
"Stock derives physical balance without inventing availability or another writer",
"renewed session context invalidates prior pagination token",
"revoked stock grant is rechecked on every page",
"incompatible tenant warehouse mapping returns unavailable rather than a zero balance",
"valid private mapping recovers without changing the book",
"source authentication failure is generic and does not expose credentials",
"source authentication recovers with original profile",
"technical reader refuses DELETE outside its capability: stock_movements",
"technical reader refuses SELECT outside its capability: FROM",
"technical reader refuses SELECT outside its capability: FROM",
"technical reader refuses SELECT outside its capability: FROM",
"new QA append-only trigger preserves revision assumptions",
"Stock read does not acquire the native tenant writer mutex",
"integration leaves one receipt/movement and creates no invoice debt or payment"
],
"same_native_book": true,
"receipts": 1,
"movements": 1,
"physical_milli": 1000,
"catalogue_rows": 103,
"page_sizes": [
25,
100
],
"new_permission_names": [],
"visual_review": false,
"deployment_capacity_validated": false
}
},
"demo": {
"file": "private/receipt-composition-f9cc0b003f44/composition-stock-demo.json",
"sha256": "cc391717feafb476003d7cea912a2cc09693e2d610ecc683c16f1137a453e47f",
"checks": 10,
"result": {
"passed": true,
"checks": [
"new demonstration begins without main operations or physical movements",
"existing SGF React shell is served in explicit Stock context",
"served existing React bundle matches the local manifest",
"same existing Stock reader observes the new empty source without inventing balances",
"existing session API exposes only the explicit QA stock grant",
"host authority lock contention fails boundedly with unavailable",
"read recovers after host authority lock release",
"direct adapter refuses disabled before accessing a source",
"direct adapter refuses production before accessing a source",
"demo reads preserve source metadata movements audit and grants"
],
"before": "5cc47d46df72483fd340e074302ec914e9415a514e111ed9bd1e3a999f9133a5",
"after": "5cc47d46df72483fd340e074302ec914e9415a514e111ed9bd1e3a999f9133a5",
"direct_guard_probes": 2,
"visual_review": false
}
}
},
"sources": [
{
"file": "app/Modules/Inventory/CompositionStockRead.php",
"sha256": "cf4a954c460226d58ae8478a23f26744b39affa12054b6299e1958488a411788"
},
{
"file": "app/Modules/Inventory/StockReadController.php",
"sha256": "fd02da1a69f76bf1412f86f43095a0a476de49fbb7d2676a51fe3b29ec66e298"
},
{
"file": "config/receipt_qa.php",
"sha256": "2dcfe6d9d25c7c467c22e2ea691cb7b71502bdb2b5967504e1b503446dc71cc0"
}
],
"unchanged_authority_and_ui": [
{
"file": "resources/js/StockReadWorkspace.jsx",
"sha256": "ab29ffa445cfd68f5a9a2542dd4c375bff38e9f9a28cbf1cc033c3ceb76ea7e4"
},
{
"file": "resources/js/StockMenuWorkspace.jsx",
"sha256": "ddef528851f6c3ab19fa8c5b3a459d6bfb157df81616810cd7da2f049aebe6a4"
},
{
"file": "resources/js/app.jsx",
"sha256": "48ebe87adaace5a91db105ae21088990d3636209bd3854545bad0e3a5a6d7c79"
},
{
"file": "app/Modules/Purchasing/ReceiptRuntime.php",
"sha256": "9b426476b2805094fb317cc753385ef43882fb4964883e880eac287eed89d9e0"
},
{
"file": "app/Modules/Purchasing/ReceiptController.php",
"sha256": "0226b354db20a0eab19598ff35dbb35e0fa7f117de0c477e0b870159024d49df"
},
{
"file": "packages/inventory-read/bootstrap.php",
"sha256": "65cba0924869ba93afa00a4786b361ad71d5c2e67bd021b3d1fda172b1190476"
},
{
"file": "packages/inventory-read/src/InventoryReader.php",
"sha256": "9b0591600da07719d655324ccf0b740f06de07db2806540684c9730d048e44b6"
},
{
"file": "packages/inventory-read/src/InventoryReadSession.php",
"sha256": "e5ea1ec6771e34478367218d73ba1d1d90464ddc87d1c5fa3d679622ffb81111"
},
{
"file": "packages/inventory-write/src/ReceiptMovementWriter.php",
"sha256": "279cec2ec915e27cf431355fca1e36f21cb3c15a77d02834723a41ec7a6f8f40"
}
],
"pinned_native_manifests": {
"bundle": "7709a3d447d54c17d2fb4be4f9a0f70455c4a38c34e4bb8c643f6b5169071556",
"economic": "8b2d3aa61054e0edc54fcd818467eb2bacb5e1178f903b12ab44119e0f2e8d2e",
"internal": "2343af71f72259dd705f4cc3a3b163c90edf331a5b6ebe173531aeb341649e1b"
},
"behaviour": {
"same_native_receipt_book": true,
"no_balance_copy": true,
"separate_select_only_source_role": true,
"no_native_writer_mutex_on_read": true,
"shared_host_authority_locks": true,
"append_only_trigger_only_in_new_qa_books": true,
"snapshot_bound_to_session_context": true,
"explicit_warehouse_mapping": true,
"default_disabled": true
},
"demo": {
"port": 8083,
"entry": "http://127.0.0.1:8083/qa/enter/validator?module=stock&open=1",
"navigate": "Stock > Existências",
"initial_main_requests": 0,
"initial_receipts": 0,
"initial_movements": 0
},
"prior_proofs_preserved": [
{
"file": "docs/proofs/obligation-evidence-workspace-20261103.json",
"sha256": "fa510ee89931c34d6d9483a6d8f362055a953567f2087ebb1c97ad6bb4c2e117"
},
{
"file": "docs/proofs/stock-receipt-link-20261102.json",
"sha256": "b763ab326abf49271d16b32d22f01a8a8d31d1ab015141e42dcf5963ee914143"
},
{
"file": "docs/proofs/module-association-consolidation-summary-20261102.json",
"sha256": "8f693f39763ee21a22ebd3929d95ba1480f339eca18742fa53055c69eb5219ef"
}
],
"preservation": {
"installed_purchasing_sha256": "81899e531e9eec449717e694d8bdc106a9e220a828f5491ce918c1d2dc612787",
"new_permission_names": [],
"existing_qa_right": "stock.view",
"target_database_connected": false,
"protected_six_records_changed": false,
"blocked_cache_cleared": false,
"previous_demo_data_written": false,
"real_grants": false,
"publication": false,
"checkpoint": false
},
"limitations": [
"One minimal request/sourcing/order setup supplies the changed receipt-to-Stock boundary. Earlier suites are reused, not counted or repeated.",
"31 integration assertions and10 demo/guard assertions; two guards invoke the adapter directly and do not measure middleware.",
"The first integration attempt stopped on a denial-status assertion: module isolation returned409 before the stock permission check. The completed source order was reused; no second order was issued.",
"Existing Stock React UI, navigation and shared reader are unchanged; served asset checks are not visual review.",
"Tenant catalogue is tenant-wide; movements and warehouses are restricted to the explicitly mapped warehouses.",
"Only physical quantities are supplied. Available/reserved/blocked quantities, valuation, costing, financial effects and direct document access are not added.",
"Append-only SQL trigger and existing stock.view grant apply only to fresh QA fixtures. No target schema or installed operational binding was changed.",
"No sustained load, deployment compatibility or deployment capacity claim follows from these tests."
],
"visual_review_pending": true,
"deployment_capacity_validated": false
}