250 lines
12 KiB
JSON
250 lines
12 KiB
JSON
{
|
|
"version": "SGF-SIX-MODULE-COMPOSITION-PREPARATION-v1",
|
|
"date": "2026-11-10",
|
|
"passed": true,
|
|
"complete_sgf": false,
|
|
"installation": "cc50a276c10c",
|
|
"port": 8085,
|
|
"new_databases": 0,
|
|
"new_demonstrations": 0,
|
|
"sgc_required": false,
|
|
"composition": {
|
|
"installed": true,
|
|
"new_tables": [
|
|
"b_internal_confirmations",
|
|
"ca_commands",
|
|
"ca_decisions",
|
|
"ca_proposals",
|
|
"ca_resolutions",
|
|
"ca_submissions",
|
|
"dc_calculations",
|
|
"dc_commands",
|
|
"dc_decisions",
|
|
"dc_events",
|
|
"dc_outbox",
|
|
"dc_rates",
|
|
"doc_history",
|
|
"doc_records",
|
|
"document_preview_model_history",
|
|
"document_preview_models",
|
|
"ib_budgets",
|
|
"ib_commands",
|
|
"ib_comparisons",
|
|
"ib_decisions",
|
|
"ib_events",
|
|
"ib_outbox",
|
|
"ic_commands",
|
|
"ic_decisions",
|
|
"ic_events",
|
|
"ic_inputs",
|
|
"ic_lots",
|
|
"ic_outbox",
|
|
"ic_products",
|
|
"ic_results",
|
|
"service_calculation_profiles",
|
|
"service_calculation_results",
|
|
"sf_activation_events",
|
|
"sf_decisions",
|
|
"sf_proposals",
|
|
"sgf_composition_schema",
|
|
"si_commands",
|
|
"si_correction_requests",
|
|
"si_counters",
|
|
"si_decisions",
|
|
"si_events",
|
|
"si_invoices",
|
|
"si_outbox",
|
|
"si_proposals",
|
|
"sr_commands",
|
|
"sr_deliveries",
|
|
"sr_effects",
|
|
"sr_events",
|
|
"sr_outbox",
|
|
"sr_records",
|
|
"wb_claims",
|
|
"wb_commands",
|
|
"wb_decisions",
|
|
"wb_events",
|
|
"wb_generations",
|
|
"wb_outbox",
|
|
"wb_proposals",
|
|
"wc_applications",
|
|
"wc_commands",
|
|
"wc_events",
|
|
"wc_outbox",
|
|
"wc_requests",
|
|
"wc_reviews",
|
|
"wo_commands",
|
|
"wo_decisions",
|
|
"wo_entries",
|
|
"wo_equipment",
|
|
"wo_events",
|
|
"wo_orders",
|
|
"wo_outbox"
|
|
],
|
|
"previous_rows_sequences_permissions_associations_preserved": true,
|
|
"schema_sha256": "b3e0cea308710c6839125eeb98651156b745bb075a03019b457b7dc44ffde079",
|
|
"backup_sha256": "f09ad87c77aec16da8b2aea0e8c42a36052d74c4b128840b0663494ce34580db",
|
|
"new_public_function_defaults_removed": 44,
|
|
"runtime_enabled": false
|
|
},
|
|
"evidence": {
|
|
"schema_rehearsal": [
|
|
"composed runtime accepts only the physically verified host and schema pin",
|
|
"existing domain guard accepts the verified composition",
|
|
"synthetic invoice guard operates on the composed host",
|
|
"workshop and direct costs guards operate on the same host",
|
|
"four SQL environment guards point to the exact composed QA identity",
|
|
"a stale schema pin blocks the runtime",
|
|
"same host contains a_clients",
|
|
"same host contains a_services",
|
|
"same host contains a_service_drafts",
|
|
"same host contains a_billing_drafts",
|
|
"same host contains b_internal_confirmations",
|
|
"same host contains doc_records",
|
|
"same host contains document_preview_models",
|
|
"same host contains service_calculation_profiles",
|
|
"same host contains ca_proposals",
|
|
"same host contains sf_proposals",
|
|
"same host contains si_invoices",
|
|
"same host contains sr_records",
|
|
"same host contains wo_orders",
|
|
"same host contains dc_calculations",
|
|
"same host contains ic_results",
|
|
"same host contains ib_budgets",
|
|
"same host contains wb_proposals",
|
|
"same host contains wc_requests",
|
|
"existing grants retained without assigning new access",
|
|
"existing clients retain identifiers versions payloads and associations",
|
|
"new module whitelist accepts scoped workshop right",
|
|
"module constraints and append-only guards installed",
|
|
"four existing compatible A tables reused without rebuilding",
|
|
"rehearsal rolls back instead of installing",
|
|
"all previous rows sequences constraints and triggers unchanged after rehearsal",
|
|
"installer rejects production environment"
|
|
],
|
|
"composed_commercial_workshop_flow": [
|
|
"Comercial preserves service-to-billing origin in the composed host",
|
|
"new client explicitly belongs to Comercial",
|
|
"cross-module client is refused before an explicit individual association",
|
|
"Oficinas opens once and recovers the same order without duplication",
|
|
"Oficinas retains the exact explicitly associated Comercial client",
|
|
"another authorized unit cannot see the new order",
|
|
"destructive command is refused by the command-start guard without executing it",
|
|
"new drafts and workshop order do not issue invoices or create financial effects automatically",
|
|
"all original table rows unchanged after rolling back the new composed flow"
|
|
],
|
|
"stock": [
|
|
"HTML workspace available in explicit Stock context",
|
|
"warehouse catalogue restricted to explicit map",
|
|
"literal wildcard search and page size 100",
|
|
"item catalogue paginated at 25",
|
|
"responsible catalogue restricted to source tenant",
|
|
"query cannot inject company authority",
|
|
"Purchasing context cannot execute Stock routes",
|
|
"current physical basis from the original book",
|
|
"foreign warehouse refused",
|
|
"foreign item refused",
|
|
"original writer validates reversible preview",
|
|
"preview leaves no movements operations or audit rows",
|
|
"individual confirmation applies original physical writer",
|
|
"one issue creates exactly one physical movement",
|
|
"uncertain response recovers the same receipt without duplicate",
|
|
"audit retains actor reason before after and operation receipt",
|
|
"old ledger version requires new conference",
|
|
"receipt cannot be reused after context generation changes",
|
|
"confirmation permission revalidated even on replay",
|
|
"transfer preview validates both bound warehouses",
|
|
"two independent conferences can observe the same original revision",
|
|
"transfer confirms through the same writer",
|
|
"transfer produces two balanced physical movements atomically",
|
|
"second conference refuses the revision changed by the first confirmation",
|
|
"failure-recovery conference prepared on current state",
|
|
"failure after physical write rolls back operation movement and native audit",
|
|
"same confirmation succeeds once after transient audit failure is removed",
|
|
"equipment catalogue available without selecting a destination automatically",
|
|
"count preview uses original current ledger revision",
|
|
"count stores the physical observation without changing stock",
|
|
"only counts for the selected bound pair are offered",
|
|
"adjustment impact is calculated by the original count workflow",
|
|
"adjustment reconciles the physical book with the explicit count",
|
|
"count adjustment receipt is recovered without applying the difference twice",
|
|
"an applied count is no longer offered for a second adjustment",
|
|
"tampered conference refused",
|
|
"feature remains independently disabled",
|
|
"all preexisting host and native rows restored after isolated regression"
|
|
],
|
|
"stock_interface": [
|
|
"startup makes reads only",
|
|
"catalogues never auto-select item or responsible",
|
|
"unsaved draft guards page exit",
|
|
"form captured before disabling fields; exact decimal and reason retained",
|
|
"issue does not send a hidden transfer destination",
|
|
"impact shown in readable form before confirmation",
|
|
"preview never auto-confirms",
|
|
"uncertain result protects fields and permits only recovery",
|
|
"recovery uses identical sealed conference without a new key",
|
|
"recovered receipt closes confirmation",
|
|
"successful recovery releases exit guard",
|
|
"count uses freshly observed revision and permits explicit zero quantity",
|
|
"count excludes issue-only fields",
|
|
"adjustment uses the explicitly selected count rather than a manually entered difference",
|
|
"adjustment impact distinguishes difference from the counted total"
|
|
],
|
|
"http8085": [
|
|
"existing obligation remains 100MZN with no new settlement",
|
|
"accepted purchase receipt remains readable after shared runtime update",
|
|
"explicit transition to authorized Stock module is preserved",
|
|
"new Stock operations remain disabled without granting new rights",
|
|
"installed workspace is blocked until explicit activation",
|
|
"same server delivers the installed workspace asset"
|
|
]
|
|
},
|
|
"stock_code_installed": true,
|
|
"stock_operations_enabled": false,
|
|
"stock_build": {
|
|
"installed": true,
|
|
"reused_valid_private_build": true,
|
|
"entry_sha256": "722b472f838c2a981f72b95e154ff0374e6f098a192905dece9edcaa1f1b9e42"
|
|
},
|
|
"new_access_granted": false,
|
|
"cache_cleared": false,
|
|
"financial_commands8085": 0,
|
|
"browser_visual_review": false,
|
|
"parallel_concurrency_proof_new": false,
|
|
"source_hashes": {
|
|
"app/Shared/Installation/CompositionSchema.php": "b5f24360327c3bc69b76ad551705bad1cfed504151cc85e316e0b10bb8b9533f",
|
|
"app/Shared/Installation/CompositionSchemaConnection.php": "592fb897bd2f28f300ebd9924c62f2863792853de053cdf58bac213617395d9f",
|
|
"app/Shared/Installation/CompositionSchemaBuilder.php": "6c4ee34d6670744548dd536f869a3493f19b4e0bd3d4df6e93005d5081b5f3a3",
|
|
"app/Shared/Installation/CompositionRuntime.php": "ccf478b097f874576e348755e7944e12f0a2fa68d1902a0d0f96315074ed3036",
|
|
"app/Shared/Testing/TestingDatabaseGuard.php": "d6564f90da999d679de4c27509bc394cd32883f35b0b9b4e9a2baab47ae19565",
|
|
"app/Providers/AppServiceProvider.php": "04be4fa8b938168f6296f0b061cc9eca4383eeb3374a0117112500a2c0390f88",
|
|
"app/Modules/Services/ServiceCalculation.php": "f7d2120ffb3c65a4e7f228c824598178227411b1489f689d421f03bdb909526b",
|
|
"scripts/sgf-compose-install.php": "200f67d75e153a964c6b97ddf8f990ca15f5a51b666517b2598acb539ffb14c5",
|
|
"scripts/sgf-install-stock-prepared.mjs": "b7f9e1cde2526cc81b54beade6bcca5120fe5cf5fbfb352a730a61633e67a174",
|
|
"scripts/sgf-composition-http-check.mjs": "c593a7abf3b45c24a3893abef407176f58aa0ee5ca45d246be8ecc904ae95d99",
|
|
"scripts/receipt-composition-http.php": "7acce4c5db8a748bbc6e094592387b01acef7a5b038e484375c5b4b5700386cd",
|
|
"scripts/stock-operations-client-check.mjs": "83e1b87e00e8d4777ab98bbac5dc1eeef9ae6465bd8abc624d06b97425af940b"
|
|
},
|
|
"stock_source_hashes": {
|
|
"app/Modules/Inventory/StockOperationsController.php": "34d6c7be4787f4f18ca2a7aa322f6f33dfb281e22336599234c93c655ab4eebf",
|
|
"app/Modules/Purchasing/ReceiptRuntime.php": "a8f3aac4b65ceea15ac7a8e8e34510d689b09fab8c2f689c466eb90d5e8632dc",
|
|
"config/stock_operations.php": "0351259789d6909aca1a9133168f2b6ed66bf90867de88417ebc307cdeb89149",
|
|
"routes/web.php": "7a8cc3f15e9732014e866102f353c31699666ec87ecef81409485c3022703ae7",
|
|
"app/Shared/Context/ModuleNavigation.php": "0fd39d7635d9a2744111ee39a21b10d04c73b32d1df35b473b61413cd14bc555",
|
|
"app/Modules/Identity/Services/IdentityWorkflow.php": "677bdb459aa751f3af37a3b4162f40bcbc7dd8190167202441b3374f244f52b5",
|
|
"resources/js/StockMenuWorkspace.jsx": "33c4624727e752dec7a916a37c4ce5cd0c9650c1e046c411be645dd944c4db32",
|
|
"resources/views/stock-operations-workspace.blade.php": "5db67c2d23e5557548c38c82a0d7f6e373651849727b2237dcd73f620309c25a",
|
|
"public/stock-operations-workspace.mjs": "56734499e8dd89da293c2edadd0d0e10ac6d06b39f0365e5ae29a8d14e9176d8",
|
|
"scripts/stock-operations-proof.php": "c7feeaca6ef31e61cc851f97ba641ddcf7d8529df9fceb3c7fec895d2d0d290a"
|
|
},
|
|
"awaiting_decision": "docs/SGF_8085_NEXT_AUTHORIZATION.md",
|
|
"limitations": [
|
|
"Source SQL structures and code installation do not constitute six-module acceptance",
|
|
"Finance ledger remains to be composed; no debt mirror is created to satisfy a host-table footprint",
|
|
"New QA profiles and Stock rights not granted",
|
|
"Native supplier100MZN financial effects remain excluded pending explicit approval",
|
|
"Visual review and deployment capacity unverified"
|
|
]
|
|
}
|