510 lines
18 KiB
JSON
510 lines
18 KiB
JSON
{
|
|
"increment": "NATIVE-PAYABLE-PAGED-READ-SIM-v1",
|
|
"date": "2026-11-02",
|
|
"synthetic_only": true,
|
|
"tests": {
|
|
"new": {
|
|
"cases": 9,
|
|
"assertions": 113
|
|
},
|
|
"affected_compatibility": {
|
|
"distinct_cases": 26,
|
|
"assertions": 183,
|
|
"consolidation": "25 passing initial cases and one corrected target; failed/empty diagnostic runs excluded"
|
|
}
|
|
},
|
|
"http": {
|
|
"kind": "native_financial_page_actual_http",
|
|
"checks": 18,
|
|
"passed": true,
|
|
"documents": 10000,
|
|
"invoice_filter_preserved": true,
|
|
"live_native_history": true,
|
|
"read_role_write_refused": true,
|
|
"csrf_enforced": true,
|
|
"visual_review": false,
|
|
"browser_interactions_tested": false
|
|
},
|
|
"preservation": {
|
|
"read_only": true,
|
|
"native_workflow_invoice_preserved": true,
|
|
"originals_sha256": "ce35f40046aaee85931aa9e26b094c73cbd48aa09c6800270320675e62258a39",
|
|
"original_source_stock_and_budget_unchanged": true,
|
|
"one_obligation": true,
|
|
"principal_minor": 6000,
|
|
"confirmed_minor": 3000,
|
|
"statuses": [
|
|
"confirmed",
|
|
"pending",
|
|
"rejected"
|
|
],
|
|
"invoices": 10000,
|
|
"new_paged_read_default": false
|
|
},
|
|
"concurrency": {
|
|
"reader_completed_before_writer_release": true,
|
|
"uncommitted_audit_not_observed": true,
|
|
"balance_minor": 3000,
|
|
"reader_time_ms": 287.022125
|
|
},
|
|
"query_shape": {
|
|
"documents": 51,
|
|
"page_sizes": [
|
|
25,
|
|
100
|
|
],
|
|
"page25_queries": 76,
|
|
"page100_queries": 78,
|
|
"extra_queries_reason": "Proposal/event data SELECTs skipped by paginator for empty evidence windows.",
|
|
"audit_selects": 2,
|
|
"payment_selects": 1,
|
|
"no_writer_lock": true
|
|
},
|
|
"analysis": {
|
|
"tool": "phpstan",
|
|
"result": "passed",
|
|
"errors": 0
|
|
},
|
|
"measurements": [
|
|
{
|
|
"volume": 1000,
|
|
"strategies": {
|
|
"legacy": {
|
|
"volume": 1000,
|
|
"strategy": "legacy",
|
|
"time_ms": 17059.737,
|
|
"queries": 8060,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 33554432,
|
|
"documents": 1000,
|
|
"obligations": 1,
|
|
"document_fingerprints": {
|
|
"25": "a874bb3175a134e17dc273d37de023ca6bec120501ea9865cda097f469e70981",
|
|
"100": "d12811368fa727f5afc549c6c0053eb1b35568b043d250794b9c2df528dd67ac"
|
|
},
|
|
"original_position_fingerprint": "404586a57f4da12f502a0a1ff13d9abfe0b1e439d2f669ebc079c6fb55c11a7b",
|
|
"original_balance_minor": 3000,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"page25": {
|
|
"volume": 1000,
|
|
"strategy": "page25",
|
|
"time_ms": 171.758,
|
|
"queries": 76,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 25,
|
|
"obligations": 0,
|
|
"document_fingerprints": {
|
|
"25": "a874bb3175a134e17dc273d37de023ca6bec120501ea9865cda097f469e70981"
|
|
},
|
|
"original_position_fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"original_balance_minor": null,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"page100": {
|
|
"volume": 1000,
|
|
"strategy": "page100",
|
|
"time_ms": 192.259,
|
|
"queries": 76,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 100,
|
|
"obligations": 0,
|
|
"document_fingerprints": {
|
|
"100": "d12811368fa727f5afc549c6c0053eb1b35568b043d250794b9c2df528dd67ac"
|
|
},
|
|
"original_position_fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"original_balance_minor": null,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"invoice": {
|
|
"volume": 1000,
|
|
"strategy": "invoice",
|
|
"time_ms": 113.647,
|
|
"queries": 79,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 1,
|
|
"obligations": 1,
|
|
"document_fingerprints": [],
|
|
"original_position_fingerprint": "404586a57f4da12f502a0a1ff13d9abfe0b1e439d2f669ebc079c6fb55c11a7b",
|
|
"original_balance_minor": 3000,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"volume": 5000,
|
|
"strategies": {
|
|
"legacy": {
|
|
"volume": 5000,
|
|
"strategy": "legacy",
|
|
"time_ms": 74118.294,
|
|
"queries": 40060,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 50331648,
|
|
"documents": 5000,
|
|
"obligations": 1,
|
|
"document_fingerprints": {
|
|
"25": "96e54e0dc6663962273d2f6a9862a2ed074ebb30c243d14bf1727c802007a572",
|
|
"100": "7531a6a1d3b57d03c98e40fbfb8501bbad1333c6c5ca33fcd71321a3a2f7f9e2"
|
|
},
|
|
"original_position_fingerprint": "404586a57f4da12f502a0a1ff13d9abfe0b1e439d2f669ebc079c6fb55c11a7b",
|
|
"original_balance_minor": 3000,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"page25": {
|
|
"volume": 5000,
|
|
"strategy": "page25",
|
|
"time_ms": 124.051,
|
|
"queries": 76,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 25,
|
|
"obligations": 0,
|
|
"document_fingerprints": {
|
|
"25": "96e54e0dc6663962273d2f6a9862a2ed074ebb30c243d14bf1727c802007a572"
|
|
},
|
|
"original_position_fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"original_balance_minor": null,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"page100": {
|
|
"volume": 5000,
|
|
"strategy": "page100",
|
|
"time_ms": 127.19,
|
|
"queries": 76,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 100,
|
|
"obligations": 0,
|
|
"document_fingerprints": {
|
|
"100": "7531a6a1d3b57d03c98e40fbfb8501bbad1333c6c5ca33fcd71321a3a2f7f9e2"
|
|
},
|
|
"original_position_fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"original_balance_minor": null,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"invoice": {
|
|
"volume": 5000,
|
|
"strategy": "invoice",
|
|
"time_ms": 91.986,
|
|
"queries": 79,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 1,
|
|
"obligations": 1,
|
|
"document_fingerprints": [],
|
|
"original_position_fingerprint": "404586a57f4da12f502a0a1ff13d9abfe0b1e439d2f669ebc079c6fb55c11a7b",
|
|
"original_balance_minor": 3000,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"volume": 10000,
|
|
"strategies": {
|
|
"legacy": {
|
|
"volume": 10000,
|
|
"strategy": "legacy",
|
|
"time_ms": 122903.707,
|
|
"queries": 80060,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 65011712,
|
|
"documents": 10000,
|
|
"obligations": 1,
|
|
"document_fingerprints": {
|
|
"25": "88c6690d723ebd87593c92f83cdf2ad5a97954128f9120f7c4e57bcdbce0e4e7",
|
|
"100": "cb4c2c49228263bbe079f4a8683a8804b04f8930f547410863ae3093b6158c2f"
|
|
},
|
|
"original_position_fingerprint": "404586a57f4da12f502a0a1ff13d9abfe0b1e439d2f669ebc079c6fb55c11a7b",
|
|
"original_balance_minor": 3000,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"page25": {
|
|
"volume": 10000,
|
|
"strategy": "page25",
|
|
"time_ms": 75.117,
|
|
"queries": 76,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 25,
|
|
"obligations": 0,
|
|
"document_fingerprints": {
|
|
"25": "88c6690d723ebd87593c92f83cdf2ad5a97954128f9120f7c4e57bcdbce0e4e7"
|
|
},
|
|
"original_position_fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"original_balance_minor": null,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"page100": {
|
|
"volume": 10000,
|
|
"strategy": "page100",
|
|
"time_ms": 91.089,
|
|
"queries": 76,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 100,
|
|
"obligations": 0,
|
|
"document_fingerprints": {
|
|
"100": "cb4c2c49228263bbe079f4a8683a8804b04f8930f547410863ae3093b6158c2f"
|
|
},
|
|
"original_position_fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"original_balance_minor": null,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
},
|
|
"invoice": {
|
|
"volume": 10000,
|
|
"strategy": "invoice",
|
|
"time_ms": 72.009,
|
|
"queries": 79,
|
|
"php_heap_baseline_bytes": 29360128,
|
|
"php_heap_peak_bytes": 29360128,
|
|
"documents": 1,
|
|
"obligations": 1,
|
|
"document_fingerprints": [],
|
|
"original_position_fingerprint": "404586a57f4da12f502a0a1ff13d9abfe0b1e439d2f669ebc079c6fb55c11a7b",
|
|
"original_balance_minor": 3000,
|
|
"php": "8.4.27",
|
|
"independent_php_process": true,
|
|
"indices_added": false,
|
|
"not_deployment_capacity": true
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"conditions": {
|
|
"php": "8.4.27",
|
|
"memory_limit": "512M",
|
|
"independent_php_process_per_strategy": true,
|
|
"same_point_invoice_warmup": true,
|
|
"samples_per_strategy": 1,
|
|
"strategy_order": [
|
|
"legacy",
|
|
"page25",
|
|
"page100",
|
|
"invoice"
|
|
],
|
|
"new_indices": false,
|
|
"workload": "One actual native workflow invoice with recognised obligation and three historical payments; remaining invoices are explicit unrecognised clones with one line and validation audit. First pages exclude oldest original; exact invoice lookup proves positive financial parity.",
|
|
"memory": "PHP allocated heap peak; not process RSS",
|
|
"deployment_capacity_validated": false,
|
|
"visual_review": false
|
|
},
|
|
"deployment": {
|
|
"native_default_flag": false,
|
|
"installed_native_package_unchanged": true,
|
|
"canonical_common_package_used_only_by_owned_QA": true,
|
|
"old_package_paging_request": "503",
|
|
"new_rights_or_real_migrations": false
|
|
},
|
|
"sources": [
|
|
{
|
|
"repository": "compras",
|
|
"file": "app/Services/SupplierPayables.php",
|
|
"sha256": "1f6afc26040f3a4dd583c3489292351358d213ff743c96f9fb2fd007f770ae0d"
|
|
},
|
|
{
|
|
"repository": "compras",
|
|
"file": "app/Services/SupplierPayablePage.php",
|
|
"sha256": "eaf57f4501b473485b7cf641d535f36f287e675206d812ec32cf5013cbb32f3c"
|
|
},
|
|
{
|
|
"repository": "compras",
|
|
"file": "app/Http/Controllers/SupplierPayablesController.php",
|
|
"sha256": "ce6c7f73a79b46dad8b1ca6e7c9f6bd59ec09b90eb3749697063c9bd7b2e1459"
|
|
},
|
|
{
|
|
"repository": "compras",
|
|
"file": "config/common-payables.php",
|
|
"sha256": "181179b763ff779dcb2d2204111823be50695c25214653e526eece70da78a3df"
|
|
},
|
|
{
|
|
"repository": "compras",
|
|
"file": "tests/Feature/NativePayablePageTest.php",
|
|
"sha256": "6467f18187e6d22f40d702da5ad5608e8856f0aa33b7f5a25347128ef1ea2b84"
|
|
},
|
|
{
|
|
"repository": "compras",
|
|
"file": "tests/Support/native-payable-page-worker.php",
|
|
"sha256": "2d9f9488cca56b02c22e240f3c84af0cd2b8fa0b190dfd94eb1886119678650e"
|
|
},
|
|
{
|
|
"repository": "compras",
|
|
"file": "tests/Feature/SupplierPayableIntegrationTest.php",
|
|
"sha256": "f0aafed7e07a2b4142a6e17bd99930646f9a0632af859857da14f5ebf563ae40"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "packages/payables/ui/page.php",
|
|
"sha256": "81f0fc4ecef7793f198c610287b0b0d3c4b6fb01e4091bd929c9f7b4cbec8335"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "scripts/native-payable-page-run.mjs",
|
|
"sha256": "491c96285c187d3228e4a0dd2708ee9f01bd72d8ed5b6517f085b99f65e28a5b"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "scripts/native-payable-page-proof.php",
|
|
"sha256": "4f5a145347f8f8b9004782a50b7cd47a6a5d1d14408311fe47b8c6092f2de7ca"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "scripts/native-payable-page-load.mjs",
|
|
"sha256": "e8037292a747400f2a3821823d460dc2c052522732fdf1464d1b69d793a18c04"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "scripts/native-payable-page-http.mjs",
|
|
"sha256": "4c31585ea7b5fa86a170be47b17e657676529106b231fc1aa1a874771d8147b2"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "scripts/native-payable-page-http-router.php",
|
|
"sha256": "3c315e4174ce0293ee6270bec6269710a5876ca1a11d1c4a1c175a832cbd132b"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "scripts/native-payable-page-analyze.mjs",
|
|
"sha256": "7bf0615762b2f73dc98c007cf35157c236b525fdd82b015cd339135568e703bf"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "scripts/payable-history-sgf-proof.php",
|
|
"sha256": "4fc1138090c668393077883487da8a657a0544e524d36ea4c2f3a18c1d7cff9a"
|
|
},
|
|
{
|
|
"repository": "sgf-tempo",
|
|
"file": "scripts/stock-receipt-composition.mjs",
|
|
"sha256": "b0759b80809b3413e7e7597ab727dbe89a3f8ba13de6ebcc9e42e304b507deea"
|
|
}
|
|
],
|
|
"previous": [
|
|
{
|
|
"file": "docs/proofs/sgf-payable-paged-read-20261102.json",
|
|
"sha256": "98ddb85c4819ad6e071ab69df3a19244c04e71c0d2e17539eac3c41a2d155b0b"
|
|
},
|
|
{
|
|
"file": "docs/proofs/module-association-http-lock-summary-20261102.json",
|
|
"sha256": "67547007f8f9df853639751983c5a6fd0841044cb0e04a7628db04c4b67692c6"
|
|
}
|
|
],
|
|
"evidence": [
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-page-http.json",
|
|
"sha256": "3dadec166238047805028e6c786c0fadc81b6341e7ce53ea5b7a251544cad253"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-page-post.json",
|
|
"sha256": "91d11dd40d5dd342315556c2e485473b4b6cc466e97adc0bd48a143549a9a69d"
|
|
},
|
|
{
|
|
"file": "private/stock-receipt-5b28d5dfd6a9/native-page-concurrency.json",
|
|
"sha256": "fa54caaf70e0d2ee6ddfbead1ddef065b008188c79b6ede9794c3b2d73536c5e"
|
|
},
|
|
{
|
|
"file": "private/stock-receipt-5b28d5dfd6a9/native-page-query.json",
|
|
"sha256": "9b3a532a8bb7ff7d3439101a7f9a82f0c3dc6873a75334a57da8312019c78ab5"
|
|
},
|
|
{
|
|
"file": "private/stock-receipt-5b28d5dfd6a9/native-payable-page-phpstan.json",
|
|
"sha256": "1997495ca8f04c2ec09798d55607d1a2f85e3338b772f258666465bf658032d2"
|
|
},
|
|
{
|
|
"file": "private/stock-receipt-5b28d5dfd6a9/native-payable-page-1793646797175-junit.xml",
|
|
"sha256": "e39ea3e048b193e127cc451565a023644603949aa75dc62ba89f9834769ab727"
|
|
},
|
|
{
|
|
"file": "private/stock-receipt-1d076320ce39/native-payable-compat-junit.xml",
|
|
"sha256": "8efcb5a35c08292f43c4a00581103c5116fe5689ff59783cce943ec4f419bfc4"
|
|
},
|
|
{
|
|
"file": "private/stock-receipt-3732cd3cf3c7/native-payable-compat-junit.xml",
|
|
"sha256": "5887c7c94eb1691c79c948cac4d6990f4b2bc2ee18985ed1b0b57b5eb7cbf7e4"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-1000-legacy.json",
|
|
"sha256": "bdc573ac6ae229b7763c6da6c0e5c0fba61d16a9d3064489f4dbd256b16dd748"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-1000-page25.json",
|
|
"sha256": "f6087909b1dfe85937cac827bee47fadca017605636903450aefa4385fbbf910"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-1000-page100.json",
|
|
"sha256": "c9acf6a6adf2bc247aabfcea6839a438175b0837d3772e50753925a951d9d67c"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-1000-invoice.json",
|
|
"sha256": "b0bc9ff909e174edea64e9230725b7fb3db691d9d8c502aecf32c55f973ce4a5"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-5000-legacy.json",
|
|
"sha256": "69b7f6c9d66d00102d9df49eef7995f590bb1b4046230c9b6b8b6d21e6ede6d6"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-5000-page25.json",
|
|
"sha256": "c0be1aa23309cc5f0157828a2a194911405414c293468c8cc5e57c0d9025a2df"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-5000-page100.json",
|
|
"sha256": "0a6efe29d1aec820fe378f07bcca901177279d019d92059ad85cc5cd89ebc12a"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-5000-invoice.json",
|
|
"sha256": "81e28df932974feee5442721b571abde8653f8f43ee299233aef75f22e552292"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-10000-legacy.json",
|
|
"sha256": "c633f9247a5a71f62633c4636d5465532727e7bff352d852e3a55048b3146920"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-10000-page25.json",
|
|
"sha256": "a9bbd29151d4d6e45d264d8d505e8088c3a35aeb7bc27c485a99a13ec4b7fb0f"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-10000-page100.json",
|
|
"sha256": "af79aa4c847be1eeff645377ddeaa7e96a16c11efb79387d14c95ac86230a49b"
|
|
},
|
|
{
|
|
"file": "private/payable-history-bf3c4eba3d11/native-bench-10000-invoice.json",
|
|
"sha256": "0d2c1f1843b046fe80376f456b7308fe4892c50b3e34caf7b2d723b91548e07c"
|
|
}
|
|
]
|
|
}
|