Files
SGF/docs/proofs/purchasing-installation-proposal-20261102.json
2026-11-02 20:29:34 +02:00

285 lines
11 KiB
JSON

{
"proposal_id": "SGF-IR-INSTALL-5FAE-20261102",
"date": "2026-11-02",
"state": "proposed_not_authorised",
"destination": {
"root": "C:/laragon/www/sgf-tempo",
"environment": "local",
"database": "sgf_tempo_dev",
"host": "127.0.0.1",
"port": 55432,
"application_role": "sgf_dev_app",
"migration_role": "sgf_dev_owner",
"postgres_admin_for_isolated_restore": "sgf_local_admin",
"expected_existing_tables": 87,
"backup_root": "C:/laragon/data/sgf-tempo/backups/SGF-IR-INSTALL-5FAE-20261102",
"restore_before": "sgf_restore_ir_5fae_pre",
"restore_after": "sgf_restore_ir_5fae_post",
"candidate_staging": "C:/laragon/data/sgf-tempo/install/SGF-IR-INSTALL-5FAE-20261102",
"expected_existing_grants": 89,
"expected_existing_memberships": 2
},
"candidate": {
"id": "OPERATIONAL-CANDIDATE-5fae7cf7f99c42ba",
"format": "tempo.operational-review.v1",
"manifest_sha256": "b1ec47f7a9ad87e0b232bac41e402d4a00ee5f03f00a79b93effc692ce8b39a2",
"archive": "C:/laragon/www/compras/storage/app/private/candidate-archives/OPERATIONAL-CANDIDATE-5fae7cf7f99c42ba.zip",
"archive_sha256": "d14a3261d5aaab80f96250af781c700ab53376021f4638e3aee43c15ff37ceed",
"support_files_verified": 36,
"package_pointer_before": "0.1.1",
"package_pointer_after": "0.1.1"
},
"read_only_plans": {
"code": {
"target_sha256": "bab719ee4e08555a8e1de694dd3a93df82680c7aba653613f0714dd76e4065d6",
"pointer_sha256": "81899e531e9eec449717e694d8bdc106a9e220a828f5491ce918c1d2dc612787",
"host_files": {
"app/Modules/Identity/Services/Permissions.php": "97a860b632de0cb5022b2d9153261ecfa2211c100961eb6b9e6a09d30f798e63",
"app/Modules/Identity/Services/IdentityWorkflow.php": "c4f4af9a7625778a408d881ba087502b116fa0ccb15f2f0311f5a0e8ad40ce73",
"app/Modules/Purchasing/BudgetAdapter.php": "e8f261e2e6535973c72266cf5f448e24794e5c896a9910ca85468001fbc37116",
"app/Providers/AppServiceProvider.php": "42705455c3f12233369275cbfd7d80781109135ca1ef2d3e3adc2fac8d675e8e",
"app/Shared/Context/ModuleNavigation.php": "f75f323940e25826792dc88848fd2b77eb3325634100a86b14c60c5d381917a3"
},
"manifest_sha256": "b1ec47f7a9ad87e0b232bac41e402d4a00ee5f03f00a79b93effc692ce8b39a2",
"previous": null,
"deployment_id": "b1ec47f7a9ad87e0b232bac4",
"writes": false
},
"schema": {
"target_sha256": "169e6e863f28b67740f07b6e7cbc664fbe585a7760a83dccebc8d482ad8ab792",
"manifest_sha256": "b1ec47f7a9ad87e0b232bac41e402d4a00ee5f03f00a79b93effc692ce8b39a2",
"schema_prepared": false,
"activated": false
}
},
"migration_sha256": "c9e9f0ab3a561578de18c17d149d414640a4e594ef918ff393aecd8eee16e775",
"navigation": {
"functional_commit": "2a4169162bb4621a42a2ea1df627d52f860e7176",
"documentary_acceptance_commit": "fcf0ada22701337acd4c84b404207b8400f490a2",
"files": {
"app/Shared/Context/ModuleNavigation.php": {
"working_sha256": "f75f323940e25826792dc88848fd2b77eb3325634100a86b14c60c5d381917a3",
"matches_functional_commit_normalized": true,
"overlay": {
"before_sha256": "f75f323940e25826792dc88848fd2b77eb3325634100a86b14c60c5d381917a3",
"after_sha256": "f15a8dc725aa4c1c6ab7eab6799446b7c79b35df237c2791791e7fe3c3830568"
}
},
"app/Shared/Context/ModuleRecords.php": {
"working_sha256": "1813591487e3fb1885622f1078e80734d1745f427d2bf8fa93ebc0d96974b0d6",
"matches_functional_commit_normalized": true,
"overlay": null
},
"app/Shared/Context/RequireModuleContext.php": {
"working_sha256": "610b65868ad25d1e6f736d03d7c1da44245648ff22873f1c957c794490009192",
"matches_functional_commit_normalized": true,
"overlay": null
},
"app/Modules/Identity/Http/RequireCompanyContext.php": {
"working_sha256": "3fcc9d4d4466d3b6883dd60cc3e63e9bb2f58a43d13ca550d79e35882562db71",
"matches_functional_commit_normalized": true,
"overlay": null
},
"app/Modules/Identity/Http/ModuleRecordsController.php": {
"working_sha256": "f10ee4a14ed19e461bfc819288cd2f701e9d73ce4421a18f1b11e1ca545726fb",
"matches_functional_commit_normalized": true,
"overlay": null
},
"app/Modules/Identity/Services/Audit.php": {
"working_sha256": "89d69975b3059a3aedbeff0aca1febbb92c6c135030c31b0cc4bdd8d7e602ecb",
"matches_functional_commit_normalized": true,
"overlay": null
},
"app/Modules/Identity/Services/IdentityWorkflow.php": {
"working_sha256": "c4f4af9a7625778a408d881ba087502b116fa0ccb15f2f0311f5a0e8ad40ce73",
"matches_functional_commit_normalized": true,
"overlay": {
"before_sha256": "c4f4af9a7625778a408d881ba087502b116fa0ccb15f2f0311f5a0e8ad40ce73",
"after_sha256": "e568e578dfc090a8df29b215c0196eacf3d472c32952c8422597b14c3a4a4038"
}
},
"resources/js/ModuleNavigation.jsx": {
"working_sha256": "b53ee2d9f69a96bdabf1d3074f8662fd204c447caf8f354aea4dcf921bd336be",
"matches_functional_commit_normalized": true,
"overlay": null
},
"resources/js/WorkspaceNavigation.jsx": {
"working_sha256": "7be946f915e3dabfb511445f169fe822c2e558ca15fef6331c247af2a1643ebf",
"matches_functional_commit_normalized": true,
"overlay": null
},
"resources/js/app.jsx": {
"working_sha256": "33f087da73fe80ca0ae6e7609e107b805b2c8a1f1863cc3a1b2c7886fe7d3c44",
"matches_functional_commit_normalized": true,
"overlay": null
},
"resources/js/WorkspaceHome.jsx": {
"working_sha256": "c02d71c6e630f942c13562427c7256e1b7602c75b80b462d184d45852d9ea34a",
"matches_functional_commit_normalized": true,
"overlay": null
},
"resources/js/ModuleRecordsWorkspace.jsx": {
"working_sha256": "24399a5e6a08c78357f23fc6d304a706f477f33db879a4cf52fc53511541b78c",
"matches_functional_commit_normalized": true,
"overlay": null
},
"resources/js/ContextTransitionDialog.jsx": {
"working_sha256": "04bde71f2ea5d26185aae930bfcf8978e5d38d1637915073cacbc12033fe9780",
"matches_functional_commit_normalized": true,
"overlay": null
},
"resources/js/context-transition.js": {
"working_sha256": "3d76e21eca185ae97c1a6a6f5965ab33c242a28391c8c50f5af30dfc0a4a3c6a",
"matches_functional_commit_normalized": true,
"overlay": null
},
"resources/css/tempo-theme.css": {
"working_sha256": "4b961ce49b2bb50072ea1fcae0c0d168c9ada207f59323cc52205353b7871df9",
"matches_functional_commit_normalized": true,
"overlay": null
},
"public/sgf-module-context.js": {
"working_sha256": "f465ea30ecea0acf3fc7b838b602ea881260d73b90aa48f587327b8ee1581dc7",
"matches_functional_commit_normalized": true,
"overlay": null
},
"config/modules.php": {
"working_sha256": "31330076b98ca423acfef0fa4e1c87a3762e53a750bd3f94c2b5a7d53e3edde4",
"matches_functional_commit_normalized": true,
"overlay": null
},
"routes/web.php": {
"working_sha256": "aa314a92c7f926c56699880d795286a0dd9659e6fbc0f653529e2f58a1bb326c",
"matches_functional_commit_normalized": true,
"overlay": null
},
"tests/Feature/ModuleNavigationTest.php": {
"working_sha256": "7f7655950d5847ed5702f95613061e7591a353f97d3349921625b8805822bfd4",
"matches_functional_commit_normalized": true,
"overlay": null
}
}
},
"permissions": {
"functional_user_grants": [],
"new_users": [],
"initialisation_scopes": [],
"operational_scopes": [],
"operational_enabled": false,
"application_ddl_privileges_added": false
},
"cache_policy": "Preserve uncached multi-environment host; do not run global config:cache, route:cache or event:cache. Preserve/check existing packages.php and services.php.",
"proofs_reused": [
"modular-navigation-completion.json",
"modular-navigation-recheck-20261102.json",
"internal-requisitions-sgf.json",
"internal-requisitions-validation.json",
"sgf-access-delivery.json",
"sgf-operational-delivery.json",
"sgf-composition-delivery.json",
"sgf-code-deploy-delivery.json",
"sgf-update-cache-delivery.json"
],
"executed": {
"read_only_plans": true,
"installation": false,
"migration": false,
"grants": false,
"maintenance": false,
"service_stops": false,
"backup": false,
"publication": false,
"owner_transaction_read_only": true
},
"schema": {
"new_tables": [
"cb_centres",
"cb_origins",
"cb_budgets",
"cb_budget_entries",
"cb_budget_consumptions",
"cb_budget_reinforcements",
"cb_audit",
"ir_requests",
"ir_steps",
"ir_events",
"ir_commands",
"ir_policies",
"ir_policy_versions",
"sgc_installations"
],
"permission_column_after": "varchar(100)",
"revision": 1,
"expected_tables_after": 101,
"transactional": true,
"automatic_down": false
},
"operational_readiness": {
"enabled": false,
"basic_supported_types": [
"consumable",
"service",
"other"
],
"equipment_parts_supported": false,
"equipment_parts_block_basic_types": false,
"backend_catalogue_included": true,
"initial_authority_screen_included": true,
"native_react_unit_permission_choices": [
"unit.view",
"unit.edit"
],
"native_admin_ui_complete_for_new_rights": false,
"public_user_grants_proposed": 0,
"open_for_business": false,
"centres_and_approved_budget_bootstrap_available": false,
"budget_workspace_support_tables_in_candidate": false,
"missing_budget_workspace_tables": [
"cb_ui_commands",
"cb_consumption_sources"
]
},
"recovery": {
"fresh_before_dump_and_full_restore_required": true,
"fresh_prepared_dump_and_full_restore_required": true,
"restores_reconcile_tables": [
87,
101
],
"historical_restore_proof_tables": 22,
"keep_additive_schema_on_code_rollback": true,
"destructive_restore_over_live_database": false
},
"maintenance": {
"stop_shared_postgres": false,
"preserve_other_hosts": true,
"stop_only_identified_destination_writers": true,
"global_laravel_cache_build": false,
"unknown_writer_or_restart_environment": "abort_before_changes"
},
"reused_proof_check_counts": {
"internal-requisitions-sgf.json": 43,
"sgf-access-delivery.json": 24,
"sgf-operational-delivery.json": 20,
"sgf-composition-delivery.json": 27,
"sgf-code-deploy-delivery.json": 42,
"sgf-update-cache-delivery.json": 32
},
"database_preflight": {
"owner_connection_checked_read_only": true,
"owner": "sgf_dev_owner",
"database": "sgf_tempo_dev",
"owner_can_create_schema": true,
"owner_owns_permission_grants": true,
"runtime_schema_usage": true,
"runtime_schema_create": false,
"verified_default_privileges": {
"tables": "sgf_dev_app=arwd",
"sequences": "sgf_dev_app=rU"
},
"new_object_privileges_must_match_verified_defaults": true
},
"superseded_by": "SGF-IR-USABLE-401C-20261102",
"historical_only_do_not_execute": true
}