Files
SGF/docs/proofs/sgf-payable-history-receipt-20261102.json
2026-11-02 20:29:34 +02:00

206 lines
8.4 KiB
JSON

{
"date": "2026-11-02",
"increment": "SGF-PAYABLE-HISTORY-RECEIPT-SIM-v1",
"status": "local_synthetic_adapter_implemented",
"regression": {
"kind": "sgf_historical_payable_adapter_synthetic",
"cases": [
{
"name": "default-disabled-and-old-path-preserved",
"assertions": 4,
"passed": true
},
{
"name": "principal-confirmed-only-and-idempotency",
"assertions": 16,
"passed": true
},
{
"name": "receipt-integrity-and-identity-refusals",
"assertions": 6,
"passed": true
},
{
"name": "complete-compatible-payment-facts-required",
"assertions": 7,
"passed": true
},
{
"name": "changed-history-requires-new-conference",
"assertions": 3,
"passed": true
},
{
"name": "permissions-person-and-context-revalidated",
"assertions": 5,
"passed": true
},
{
"name": "audit-and-import-failure-atomic-recovery",
"assertions": 3,
"passed": true
},
{
"name": "receipt-append-only-and-existing-controller",
"assertions": 3,
"passed": true
},
{
"name": "invalid-receipt-keeps-history-readable-and-balance-indeterminate",
"assertions": 2,
"passed": true
},
{
"name": "concurrent-confirmations-wait-and-replay-one-import",
"assertions": 7,
"passed": true
}
],
"tests": 10,
"assertions": 56,
"principal_minor": 6000,
"confirmed_minor": 3000,
"pending_minor": 1000,
"rejected_minor": 500,
"balance_minor": 3000,
"shared_engine_unchanged": true,
"native_source_preparation_only": true,
"actual_http_kernel_tested": false,
"browser_interactions_tested": false,
"visual_review": false,
"deployment_capacity_validated": false
},
"actual_http": {
"kind": "sgf_historical_payable_actual_http_kernel",
"assertions": 17,
"passed": true,
"existing_html_reused": true,
"csrf_and_context_enforced": true,
"reader_write_refused": true,
"no_pending_payment_decision_route_added": true,
"one_obligation_same_balance_after_replay": true,
"visual_review": false,
"browser_interactions_tested": false
},
"postchecks": {
"native": {
"originals_unchanged": true,
"originals_sha256": "7cc42c8ce33ac04623ed50defde66083c1134903e4f11cd6825f10082214dc17",
"native_obligations": 0,
"payments": [
"confirmed",
"pending",
"rejected"
],
"read_only_observation": true
},
"sgf": {
"read_only": true,
"one_obligation": true,
"one_history_import": true,
"original_source_unchanged": true,
"source_receipt_sha256": "89120aea0ad23e3f1454f87e905d8ccb80123e04636f5e2cd60e71015fa7c376",
"imported_payments": 3,
"states": [
"confirmed",
"pending",
"rejected"
],
"recognition_events": 1,
"history_events": 1,
"principal_minor": 6000,
"confirmed_minor": 3000,
"pending_minor": 1000,
"rejected_minor": 500,
"pending_decision_schema_installed": false,
"default_feature_enabled": false
}
},
"private_evidence_sha256": {
"source.json": "bae0a2ab8bc0f6ff2b02fc1bab80192aa96e24d6babe879a278c093e642e02e7",
"regression.json": "3cb8d648249e22c00447602107c1939abc03650173a6d11ccb0f23df59e0fe44",
"http-proof.json": "86783db1c62563f7e718297d1cbefa5d850dc00cd1f85db83491cee040f1b27a",
"native-post.json": "b7952b8c7f6dae5fa0ae4a38d5c3fc29c87d77ed4d4f345a9e72dd7bc401c812",
"sgf-post.json": "a9507f617e22ec497c2d7b9a62a2f8bab6ae4218d4290708b4cd41ac88ecc6af"
},
"source_provenance": {
"actual_native_receipt_and_invoice_workflows": true,
"actual_original_payment_registration_and_independent_review": true,
"native_history_capture_by_existing_engine": true,
"native_common_obligation_recognised": false,
"source_only_fresh_owned_qa_database": true,
"bank_details_and_encrypted_references_not_exported": true,
"receipt_checksum_proves_integrity_not_external_authenticity": true,
"sgf_receipt_mapping_explicit_in_qa_seed": true
},
"scenario": {
"currency": "MZN",
"principal_minor": 6000,
"confirmed_minor": 3000,
"pending_minor": 1000,
"rejected_minor": 500,
"balance_minor": 3000,
"due_on": null,
"days_overdue": null,
"no_pending_payment_decision": true,
"no_new_financial_engine": true
},
"concurrency": {
"processes": 2,
"company_row_blocker_observed_with_pg_blocking_pids": true,
"second_waited_then_replayed_original": true,
"obligations": 1,
"history_imports": 1,
"imported_payments": 3
},
"isolation": {
"dedicated_native_and_sgf_databases": true,
"port": 55439,
"restricted_qa_roles": true,
"read_write_permission_and_company_context_revalidated": true,
"no_real_or_demo_access_grants": true
},
"source_sha256": {
"app/Modules/Purchasing/SupplierHistoryReceipts.php": "002966f5559261d79d57c600d8cdde31d701e0beb812e04b4ac5cea48f6cfc47",
"app/Modules/Purchasing/SupplierPayables.php": "5f5c11df105400c7f658bb0c0b91cb23d4fd54104ceadfc3432846b5ba66d573",
"config/supplier_payable_history.php": "5331b7987fdb5f8fdb9647e6cf74145f91aca333a7e4c21f98092827893b85ce",
"app/Modules/Purchasing/SupplierPayablesController.php": "a2adad624794a96d22358ff8e9a5e64846b68111674ed2cef9fd8cf7afafb883",
"routes/web.php": "33f1e1c11d978d018e33dd57e284d0038b95cdb2bf91a99bd4bfcbabc6d80993",
"packages/payables/src/Payables.php": "dafc76371767b0a9794f0822553e60392a8aa2c270dea8d78ff701a56f5f5bc9",
"packages/payables/src/HistoricalPayments.php": "59576afb1b2209fe08e4d1d45be22e364746a815316749ddcfa19930281dbb3d",
"packages/payables/ui/page.php": "a6757dda5b59eea4ae8565bbbfb2eba6cdd56b1e11ccff4a3943323a520deb9e",
"scripts/payable-history-sgf-run.mjs": "677621591056e057f2e76625f22030e7a5099739424b60e1d45b2628ad616622",
"scripts/payable-history-sgf-proof.php": "0abd69b6595959413c3a33150c6cdde1add8a81ea378fec4d56f42c103b2d1b8",
"scripts/payable-history-sgf-cases.php": "22324185e398e62b3d7207dea4dbb74b7e47f5a581d6335f10e1fd7114e2ec11",
"scripts/payable-history-sgf-http.mjs": "ff2f965d27e3ff60cb02fa87bedf00ea17362dbde032972e574a4749905d3fb0",
"scripts/payable-history-sgf-http-router.php": "82b110af26e4dcfcdf1b078108adb701ca51711485c7a385c726a5812a8b9afe"
},
"reused_proofs": {
"docs/proofs/workshop-stock-closure-20261102.json": "261d5502f6905d53ef8046e0e900c9bee159c8c9d7e1bae4fddd8ec698313bf7",
"docs/proofs/native-warehouse-return-20261102.json": "587795ab4d2b2e65d51feaf7ed5e368df715d69cb7a0480f5f2b1d802d019869",
"docs/proofs/module-association-http-lock-summary-20261102.json": "67547007f8f9df853639751983c5a6fd0841044cb0e04a7628db04c4b67692c6"
},
"verification_scope": "Ten directed scenarios (56 assertions) plus 17 actual HTTP checks. Current adapter callbacks, shared controller/UI, receipt validation and concurrency exercised. Native original facts postchecked read-only. Earlier suites not repeated; no JavaScript or Vite build required for this PHP/template change.",
"preservation": {
"six_pending_associations_untouched": true,
"blocked_cache_untouched": true,
"demos_and_installed_databases_untouched": true,
"previous_proofs_preserved": true,
"no_real_migration_or_rights": true,
"qa_databases_and_evidence_retained": true,
"purchasing_activation": false,
"publication": false,
"checkpoint": false
},
"limits": [
"Reads explicitly seeded immutable historical receipts, not live native payment history.",
"No operational receipt publisher/importer, authentication of external provenance or responsibility cutover installed. Hashes alone do not authenticate an external source.",
"No common financial obligation was recognised in the native source; this is QA adapter evidence, not proof that simultaneously operated native/SGF installations share financial authority.",
"Pending/rejected original payments retain state; imported pending-payment decisions, new payments and banking are not added in SGF.",
"Existing financial listing remains unpaginated; no load/capacity claim or general financial consolidation claim.",
"No accounting postings, operational activation, browser interaction or visual review."
],
"visual_review_pending": true,
"deployment_capacity_validated": false
}