{ "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 }