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

293 lines
13 KiB
JSON

{
"date": "2026-11-03T17:34:15.059Z",
"increment": "SGF-PURCHASING-USABLE-CONTINUITY-QA-v1",
"passed": true,
"functional_code": true,
"checks": 55,
"tests": {
"real_ui": {
"file": "private/receipt-composition-ce4c9bef1a51/receipt-ui-http.json",
"sha256": "351bf5c239cc48771fd18dd702286f962d7ea7a8fd2a1fd663803a784ba6f06b",
"checks": 17,
"result": {
"passed": true,
"checks": [
"opening real receipt form performs no preview or confirmation",
"unchecked line does not load article catalogue",
"warehouse menu does not advertise inaccessible financial continuation",
"checking line activates actual per-line native catalogue without type error",
"catalogue browsing chooses no article automatically",
"explicit catalogue choice survives model publication",
"editing article search invalidates previous choice",
"search control sends actual literal code to catalogue endpoint",
"real UI prepares valid native receipt preview",
"preview transmits explicit article and current selection fingerprint",
"preview does not submit confirmation automatically",
"editing form invalidates ready confirmation",
"lost response after real commit preserves same preview for explicit recovery",
"second UI confirmation recovers committed result without another receipt",
"same UI refresh shows exactly one completed receipt",
"native read verifies chosen article and one physical movement of1UN",
"UI flow invokes only existing receipt commands"
],
"dom_simulation": true,
"real_http": true,
"source_workflow_setup_only": true,
"receipt_id": 1,
"receipt_count": 1,
"movements": 1,
"quantity_milli": 1000,
"concurrency": false,
"lost_response_statuses": [
201,
200
],
"visual_review": false,
"deployment_capacity_validated": false
}
},
"boundaries": {
"file": "private/receipt-composition-ce4c9bef1a51/continuity-boundaries.json",
"sha256": "b4b26a9205fe8c6597a91386537cc8776e61b8d89bbe6eeb5ed08a2ecfdf4bf7",
"checks": 8,
"result": {
"passed": true,
"checks": [
"supplier empty initial search equals omitted search and returns native paginated eligible directory",
"trimmed blank supplier search keeps unfiltered initial-page semantics",
"nullable empty filter still rejects array search and unsupported page size",
"empty search does not bypass sourcing preparation right",
"empty search does not reopen proposals closed by actual award",
"empty article filter equals omitted filter in actual receipt catalogue",
"article catalogue keeps strict parameter types and allowlist",
"catalogue checks preserve one UI receipt and physical movement without invoice debt or payment"
],
"open_request_fixture_minor": 100,
"supplier_rows": 3,
"new_right_names": [],
"visual_review": false
}
},
"history": {
"file": "private/purchasing-continuity-read-e266c0e778c2/purchasing-continuity-read-result.json",
"sha256": "23efe4e994153ff156e202985d8422262010cfa24c7b68c9fef30e07d8690d09",
"checks": 12,
"result": {
"passed": true,
"checks": [
"completed read fixture contains downstream payloads that old unfiltered histories would disclose",
"request history is scoped before limit and retains exact own-stage evidence for requester",
"request history is scoped before limit and retains exact own-stage evidence for actor",
"request history is scoped before limit and retains exact own-stage evidence for issuer",
"sourcing summary contains only upstream and sourcing-stage events",
"sourcing pagination total counts only authorised stage history",
"all sourcing pages preserve unique own-stage evidence without financial payload events",
"finance retains authorised invoice history in its own endpoint",
"stage history filtering does not grant access to another stage",
"request-only dossier remains scoped independently of inline histories",
"foreign request cannot expose sourcing history",
"142 original regression tables and all sequences remain unchanged by stage-history verification"
],
"reused_proof": "purchasing-integrated-composition-20261103.json",
"financial_commands_repeated": 0,
"before_sha256": "7d462b3aa3eb941cc83ca61ef4272478cc5554fa8f8660378786764c704a7a5c",
"after_sha256": "7d462b3aa3eb941cc83ca61ef4272478cc5554fa8f8660378786764c704a7a5c",
"tables_checked": 142,
"new_right_names": [],
"visual_review": false,
"deployment_capacity_validated": false
}
},
"inline_ui": {
"file": "private/receipt-composition-ce4c9bef1a51/continuity-ui.json",
"sha256": "0f84c58e8779da22082cd70a7afba8ab38491302cafb86f90300adfe75ff8a58",
"checks": 9,
"result": {
"passed": true,
"checks": [
"receipt carries actual order into invoice consultation",
"receipt continuation adds no hidden cross-stage request",
"invoice links retain exact receipt order dossier request and document responsibility",
"obligation returns to exact original invoice and physical order",
"physical-only menu does not advertise invoice destination",
"missing obligation and dossier menu entries suppress only those contextual links",
"disabled continuity feature leaves previous focused screen without inline links",
"default dossier link rendering remains independent of optional menu filter",
"all inline-link startup probes perform reads only"
],
"dom_simulation": true,
"business_commands": 0,
"visual_review": false
}
},
"demo": {
"file": "private/receipt-composition-2d2d938a3bec/purchasing-continuity-demo.json",
"sha256": "424b7ae18b179df29809bba79d7a117f769423034cecb05b17ad6cfe16194cf8",
"checks": 9,
"result": {
"passed": true,
"checks": [
"new continuity demonstration begins without main business operations",
"inline continuity is enabled in new receipts screen",
"inline continuity is enabled in new invoices screen",
"inline continuity is enabled in new obligations screen",
"served affected static module matches purchasing-focus.mjs",
"served affected static module matches receipt-workspace.mjs",
"served affected static module matches supplier-invoice-workspace.mjs",
"served affected static module matches supplier-obligation-workspace.mjs",
"live probes preserve selected business tables permission grants and audit"
],
"before": "2b15a0df98940b8c9b8f960889bfc1d03ac28e6def87670201e879464bf71f29",
"after": "2b15a0df98940b8c9b8f960889bfc1d03ac28e6def87670201e879464bf71f29",
"visual_review": false
}
}
},
"sources": [
{
"file": "app/Modules/Purchasing/ProcessHistory.php",
"sha256": "255a4ca5901cf323e3fd16e2fb16509962710c5d5b67e2e425cdc1f7e7a257a2"
},
{
"file": "app/Modules/Purchasing/RequestController.php",
"sha256": "1cb75d7bc03105e0df4211b4470bdc8837f4a659bc65318286228949779d9dc6"
},
{
"file": "app/Modules/Purchasing/SourcingController.php",
"sha256": "84d807fe841a47335836e281677813157d78ed28c4e46cf1a4267121b7aedf17"
},
{
"file": "app/Modules/Purchasing/ReceiptController.php",
"sha256": "0226b354db20a0eab19598ff35dbb35e0fa7f117de0c477e0b870159024d49df"
},
{
"file": "config/receipt_qa.php",
"sha256": "fc74192b6042a1d36b2eebe29ad58e971b1103d4fde722cb41177971f11b3d9c"
},
{
"file": "public/purchasing-focus.mjs",
"sha256": "434319b8de23f5d6892666bd53232d463a0d458fe948cc6d7b476ad1228fafb6"
},
{
"file": "public/receipt-workspace.mjs",
"sha256": "86421d30dc9868b10da2153f8bf0b50d9904ab5ccccbf9813464083ae1e20bd2"
},
{
"file": "resources/views/receipt-workspace.blade.php",
"sha256": "57018d5cc586e2ff03bbf09f97853a2eb297fc1ad7e7f3b8b3dc2f8d76008d3d"
},
{
"file": "public/supplier-invoice-workspace.mjs",
"sha256": "f767347371e2dc1573ec29a926509c87bcdea3ec09257a6b22395fc0cf01366f"
},
{
"file": "resources/views/supplier-invoice-workspace.blade.php",
"sha256": "916c7243f78953a9afa2d495f5dc0a4ea687dd876598bd880a60875913ab2063"
},
{
"file": "public/supplier-obligation-workspace.mjs",
"sha256": "c2608e3cab7cd1810437a3a978e6f6ccbf2600a83dd0a39bd38510db8249f551"
},
{
"file": "resources/views/supplier-obligation-workspace.blade.php",
"sha256": "ce0dc4159d42efcff9e09ec99a2ce5a2d378a215d4a853a37417a0ebf5445506"
}
],
"pinned_native_manifests": {
"bundle": "7709a3d447d54c17d2fb4be4f9a0f70455c4a38c34e4bb8c643f6b5169071556",
"economic": "8b2d3aa61054e0edc54fcd818467eb2bacb5e1178f903b12ab44119e0f2e8d2e",
"internal": "2343af71f72259dd705f4cc3a3b163c90edf331a5b6ebe173531aeb341649e1b"
},
"unchanged_mutation_blocks": [
{
"file": "app/Modules/Purchasing/RequestController.php",
"sha256": "31d00fff9d8e16f26705665f440512546f6d9f63d887b9c0f2b81251ca2a5346",
"unchanged_since_demo8078": true
},
{
"file": "app/Modules/Purchasing/SourcingController.php",
"sha256": "37bd725271aa94d19415742a3c354de2249a427ebe388013b1ad09f471bb1806",
"unchanged_since_demo8078": true
},
{
"file": "app/Modules/Purchasing/ReceiptController.php",
"sha256": "92bc6c1692235e7042cb6af5b911548eff7817856b471107f852a8ab28db721d",
"unchanged_since_demo8078": true
}
],
"authority": {
"new_right_names": [],
"new_business_writers": 0,
"inline_links_use_present_menu_as_presentation_hint": true,
"destination_api_remains_authority": true,
"stage_history_filtered_in_sql_before_pagination": true,
"original_audit_records_preserved": true
},
"regression": {
"receipt_form_uses_real_http": true,
"dom_simulation_not_browser": true,
"explicit_article_choice_and_revision": true,
"receipt_count": 1,
"physical_quantity_milli": 1000,
"physical_movements": 1,
"lost_response_statuses": [
201,
200
],
"new_concurrency_trial": false,
"additional_open_request_fixture_minor": 100,
"history_uses_completed_canonical_book_without_commands": true,
"tables_and_sequences_preserved": 142,
"prior_suites_not_repeated": true
},
"demo": {
"port": 8079,
"entry": "http://127.0.0.1:8079/qa/enter/requester?open=1",
"warehouse": "http://127.0.0.1:8079/qa/enter/validator?open=1",
"finance": "http://127.0.0.1:8079/qa/enter/issuer?open=1",
"initial_main_requests": 0,
"initial_receipts": 0,
"initial_invoices": 0,
"initial_obligations": 0
},
"prior_proofs_preserved": [
{
"file": "docs/proofs/purchasing-focus-composition-20261103.json",
"sha256": "dd5a086443bbf0a0f327b0c2dd2d4d56eb028bd1f1e471bbae236e03048adcbf"
},
{
"file": "docs/proofs/receipt-workspace-completion-20261103.json",
"sha256": "59bb66df5d5e12f898045669a0ad24664c3d09f2d3ab6cf70f4f13d6a34c6548"
},
{
"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": [
"DOM-to-real-HTTP validation is functional evidence, not browser rendering, accessibility or visual acceptance.",
"The lost-response recovery is sequential201/200, not a new concurrency measurement. Existing valid concurrency proofs are retained.",
"The additional1MZN open request is targeted supplier-picker fixture preparation, not another full order or payable cycle.",
"Menu visibility controls presentation only; a stale or modified menu cannot grant destination API authority.",
"Request direct history remains its latest25 own-stage events. Sourcing remains paginated; the dossier keeps independently filtered transversal evidence.",
"No new React/Vite build: affected UI is served as static ES modules and Blade views. Syntax and served hashes of the affected modules are checked; prior valid React build proof is retained.",
"Sustained load, visual review, general installation and deployment capacity remain pending."
],
"visual_review_pending": true,
"deployment_capacity_validated": false
}