commit14
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"checked_at": "2026-11-01T16:31:19.533Z",
|
||||
"checked_at": "2026-11-02T10:11:34.369Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"profile_task_catalogue": "passed",
|
||||
"workflow_notices": "ready",
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T16:52:13.253Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"routes": [
|
||||
{
|
||||
"role": "procurement",
|
||||
"total_purchase_tasks": 0,
|
||||
"shown_award_tasks": 0,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"total_purchase_tasks": 0,
|
||||
"shown_award_tasks": 0,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"total_purchase_tasks": 0,
|
||||
"shown_award_tasks": 0,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"existing_accounts_used": true,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"visual_review": false,
|
||||
"note": "Only current first-page tasks are followed; disposable tests cover pending approval and issuance."
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T16:53:11+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":4,\"passed\":4,\"assertions\":217,\"duration_ms\":11934}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T16:55:21.5246476Z",
|
||||
"scope": "Native SGC award decisions and order issuance task routing",
|
||||
"regression": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 98,
|
||||
"passed": 98,
|
||||
"assertions": 2070,
|
||||
"duration_ms": 76232
|
||||
},
|
||||
"postgres": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 4,
|
||||
"passed": 4,
|
||||
"assertions": 217,
|
||||
"duration_ms": 11934
|
||||
},
|
||||
"targeted_revocation": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 1,
|
||||
"passed": 1,
|
||||
"assertions": 32,
|
||||
"duration_ms": 2740
|
||||
},
|
||||
"typescript": "passed",
|
||||
"lint_build": "passed",
|
||||
"phpstan": "passed",
|
||||
"pint": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"http_proof": "award-task-integration-http.json",
|
||||
"persistent_accounts_or_grants_changed": false,
|
||||
"persistent_business_commands": false,
|
||||
"sgf_installation_changed": false,
|
||||
"visual_review": false,
|
||||
"general_suite_rerun": false,
|
||||
"limitations": [
|
||||
"Issuance task means review required, not guaranteed issuance readiness",
|
||||
"Quotation, documentary and contractual tasks remain outside this increment",
|
||||
"Existing QA profiles had no current purchase task",
|
||||
"Overlapping suites must not be summed"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T16:38:36.337Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"routes": [
|
||||
{
|
||||
"role": "admin",
|
||||
"path": "/facturas",
|
||||
"shown": 1,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"path": "/pagamentos",
|
||||
"shown": 0,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"path": "/requisicoes/tarefas?module=finance",
|
||||
"total": 0,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"path": "/facturas",
|
||||
"shown": 1,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"path": "/pagamentos",
|
||||
"shown": 0,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"path": "/requisicoes/tarefas?module=finance",
|
||||
"total": 0,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"existing_accounts_used": true,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"visual_review": false,
|
||||
"note": "Payment consultation retains its existing access audit; no financial decision is executed."
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T16:45:16+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":83,\"passed\":83,\"assertions\":623,\"duration_ms\":112485}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T16:46:16.6004450Z",
|
||||
"scope": "native SGC invoice, external payment and task integration",
|
||||
"regression": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 81,
|
||||
"passed": 81,
|
||||
"assertions": 800,
|
||||
"duration_ms": 76021
|
||||
},
|
||||
"authority": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 23,
|
||||
"passed": 23,
|
||||
"assertions": 357,
|
||||
"duration_ms": 40232
|
||||
},
|
||||
"postgres": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 83,
|
||||
"passed": 83,
|
||||
"assertions": 623,
|
||||
"duration_ms": 112485
|
||||
},
|
||||
"typescript": "passed",
|
||||
"frontend_lint_and_build": "passed",
|
||||
"phpstan": "passed",
|
||||
"pint": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"http_proof": "finance-integration-http.json",
|
||||
"visual_review": false,
|
||||
"general_suite_rerun": false,
|
||||
"persistent_accounts_or_grants_changed": false,
|
||||
"persistent_business_decisions": false,
|
||||
"sgf_installation_changed": false,
|
||||
"limitations": [
|
||||
"No full visual review or commercial certification",
|
||||
"QA current data contains no pending financial task",
|
||||
"Existing payment access audit preserved",
|
||||
"Suites overlap and must not be summed"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T18:21:22.559Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"result": "passed",
|
||||
"routes": [
|
||||
{
|
||||
"role": "procurement",
|
||||
"formal_tasks_shown": 0,
|
||||
"task_links_followed": 0,
|
||||
"components": [
|
||||
{
|
||||
"component": "purchases/qualification",
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"component": "purchases/admission",
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"component": "purchases/recommendation",
|
||||
"result": "passed"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"formal_tasks_shown": 0,
|
||||
"task_links_followed": 0,
|
||||
"components": [
|
||||
{
|
||||
"component": "purchases/qualification",
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"component": "purchases/admission",
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"component": "purchases/recommendation",
|
||||
"result": "passed"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"formal_tasks_shown": 0,
|
||||
"task_links_followed": 0,
|
||||
"components": [
|
||||
{
|
||||
"component": "purchases/qualification",
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"component": "purchases/admission",
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"component": "purchases/recommendation",
|
||||
"result": "passed"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"visual_review": false,
|
||||
"coverage": "Existing current scope and first-page tasks only; pending decisions tested in disposable databases."
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T18:16:10+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":11,\"passed\":11,\"assertions\":383,\"duration_ms\":35159}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T15:23:04.604Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"result": "passed",
|
||||
"internal_sgc_only": true,
|
||||
"warehouse_index": true,
|
||||
"existing_request_details_checked": 0,
|
||||
"synthetic_journeys_in_disposable_tests": true,
|
||||
"persistent_business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T15:22:15+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":7,\"passed\":7,\"assertions\":105,\"duration_ms\":36419}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T15:29:13.7856940Z",
|
||||
"scope": "internal SGC modules only, explicitly selected by owner",
|
||||
"module": "warehouse replenishment purchasing receipts trace",
|
||||
"regression": {
|
||||
"tests": 52,
|
||||
"assertions": 668,
|
||||
"result": "passed",
|
||||
"log": "storage/logs/internal-supply-integration-regression.txt"
|
||||
},
|
||||
"disposable_postgresql": {
|
||||
"tests": 7,
|
||||
"assertions": 105,
|
||||
"proof": "internal-supply-integration-pg.json",
|
||||
"result": "passed"
|
||||
},
|
||||
"http": "internal-supply-integration-http.json",
|
||||
"source_sha256": {
|
||||
"app/Services/InternalSupplyTrace.php": "f705434f8db45b671f370e228db3b49f308abe1483aed2878e883f9fa04b147d",
|
||||
"app/Services/WarehouseWorkdesk.php": "a4312b5395a1ab64003a84f54c813f70ae5f08c0acb9f506948098ceb5bac6b1",
|
||||
"app/Http/Controllers/WarehouseRequestController.php": "2b5df44456424f7bac0657b62496d2297b372bdcb794e2889352bbce0c841a72",
|
||||
"app/Http/Controllers/RequisitionController.php": "8f1ce0790ed738682f2d1a178c373e545e7a6f7a8c07d2a256b11a34539c37c1",
|
||||
"resources/js/pages/stock/request.tsx": "d0de70b8ff4c67247f38885fa9e1ca69432073961d2bffc6b6da61c36f47e02f",
|
||||
"resources/js/pages/requisitions/show.tsx": "8db5e514e70532ad8eabc559834eed63127d10050ce8b714fb45ada646c40951"
|
||||
},
|
||||
"types": "passed",
|
||||
"phpstan": "passed",
|
||||
"frontend_lint": "passed",
|
||||
"frontend_build": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"canonical_purchase_draft_and_human_submission_tested": true,
|
||||
"full_new_purchase_to_order_journey_claimed": false,
|
||||
"documentary_receipt_projection_fixture": true,
|
||||
"reversal_classification_mocked_in_projection_test": true,
|
||||
"new_persistent_schema_accounts_grants_or_business_records": false,
|
||||
"remote_access_activated": false,
|
||||
"sgf_installation_changed": false,
|
||||
"full_general_suite_rerun": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T17:20:38.379Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"result": "passed",
|
||||
"version": 1,
|
||||
"active": false,
|
||||
"users": 12,
|
||||
"losing_access": 12,
|
||||
"permanent_administrators": 0,
|
||||
"can_activate": false,
|
||||
"provisional_rules": true,
|
||||
"existing_account_used": true,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T17:19:58+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":19,\"passed\":19,\"assertions\":215,\"duration_ms\":27349}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"verification": {
|
||||
"checked_at": "2026-11-02T17:28:38.0997373Z",
|
||||
"typescript": "passed",
|
||||
"lint_build": "passed",
|
||||
"phpstan": "passed",
|
||||
"pint": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"visual_review": false,
|
||||
"general_suite_rerun": false,
|
||||
"persistent_accounts_or_grants_changed": false,
|
||||
"persistent_business_commands": false,
|
||||
"sgf_installation_changed": false,
|
||||
"overlapping_suites_must_not_be_summed": true
|
||||
},
|
||||
"regression": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 89,
|
||||
"passed": 89,
|
||||
"assertions": 1394,
|
||||
"duration_ms": 75748
|
||||
},
|
||||
"postgres": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 19,
|
||||
"passed": 19,
|
||||
"assertions": 215,
|
||||
"duration_ms": 27349
|
||||
},
|
||||
"http_proof": "organization-activation-preview-http.json",
|
||||
"scope": "Read-only activation effects using canonical permissions, context and permanent-administrator sources",
|
||||
"activation_applied": false
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"checked_at": "2026-11-01T14:26:12.336Z",
|
||||
"checked_at": "2026-11-02T10:11:38.749Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"pages": [
|
||||
{
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T17:55:28.896Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"result": "passed",
|
||||
"active": true,
|
||||
"version": 27,
|
||||
"users": 12,
|
||||
"profiles": 11,
|
||||
"memberships": 17,
|
||||
"permanent_administrators": 2,
|
||||
"original_access_and_contexts_preserved": true,
|
||||
"first_limit": "25000.00",
|
||||
"second_limit": "150000.00",
|
||||
"includes_tax": true,
|
||||
"provisional_rules": false,
|
||||
"participants_separated": true,
|
||||
"roles": [
|
||||
{
|
||||
"role": "requester",
|
||||
"route": "/stock/requisicoes",
|
||||
"result": "passed",
|
||||
"tasks": 0
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"route": "/stock/requisicoes?view=review",
|
||||
"result": "passed",
|
||||
"tasks": 0
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"route": "/stock/requisicoes?view=delivery",
|
||||
"result": "passed",
|
||||
"tasks": 0
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"route": "/stock/reposicao",
|
||||
"result": "passed",
|
||||
"tasks": 0
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"route": "/stock/reposicao",
|
||||
"result": "passed",
|
||||
"tasks": 0
|
||||
}
|
||||
],
|
||||
"readiness": {
|
||||
"warehouse_scenario_ready": false,
|
||||
"replenishment_scenario_ready": false,
|
||||
"client_configuration_complete": false,
|
||||
"checks": [
|
||||
{
|
||||
"key": "installation",
|
||||
"ok": true,
|
||||
"detail": "Requisições, reservas, catálogo e recuperação durável instalados."
|
||||
},
|
||||
{
|
||||
"key": "participants",
|
||||
"ok": true,
|
||||
"detail": "Há combinação elegível de requisitante, autorizador e entregador distintos, com centro de custo do departamento."
|
||||
},
|
||||
{
|
||||
"key": "catalogue",
|
||||
"ok": false,
|
||||
"detail": "1 armazém(ns), 0 artigo(s) publicado(s) com origem actual e 0 publicação(ões) a rever."
|
||||
},
|
||||
{
|
||||
"key": "replenishment",
|
||||
"ok": false,
|
||||
"detail": "0 política(s) interna(s) aprovada(s), 0 regra(s) activa(s) válida(s) e 0 a rever. Falta de stock não é, por si, erro de configuração."
|
||||
},
|
||||
{
|
||||
"key": "scheduler",
|
||||
"ok": true,
|
||||
"detail": "Há uma passagem recente conhecida do serviço."
|
||||
},
|
||||
{
|
||||
"key": "administration",
|
||||
"ok": false,
|
||||
"detail": "Perfis próprios activos; 2 administrador(es) permanente(s). Conferir também o contexto interno contratado/activado."
|
||||
},
|
||||
{
|
||||
"key": "recovery",
|
||||
"ok": true,
|
||||
"detail": "0 sinal(is) por processar e 0 trabalho(s) com recuperação pendente. Necessidades funcionais sem configuração válida continuam visíveis na reposição."
|
||||
}
|
||||
]
|
||||
},
|
||||
"business_commands_executed": false,
|
||||
"new_accounts": false,
|
||||
"sgf_changes": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"result": "applied",
|
||||
"checked_at": "2026-11-02T17:52:30+00:00",
|
||||
"environment": "http:\/\/127.0.0.1:8005",
|
||||
"proposal_sha256": "ff45883f1a0e1e3ab228f8bc4e6c03a66e9a5953b04af44b2e26cd6b74b60a44",
|
||||
"source_version": 1,
|
||||
"active_version": 27,
|
||||
"users_preserved": 12,
|
||||
"profiles_created": 11,
|
||||
"memberships_created": 17,
|
||||
"administrators_preserved": [
|
||||
6,
|
||||
8
|
||||
],
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-pilot-access-20261102-175214-d26e4c\/before.dump",
|
||||
"backup_sha256": "afa964b52ea6c552466360a2ebc2523126f37ccf0a3aecd21f822a0767d35d75",
|
||||
"restore_verified_tables": 112,
|
||||
"protected_tables_preserved": 107,
|
||||
"tenant_other_fields_preserved": true,
|
||||
"business_data_preserved": true,
|
||||
"payables_specific_grants_preserved": true,
|
||||
"new_accounts": false,
|
||||
"new_stock_publications_or_policies": false,
|
||||
"business_decisions_executed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"atomic_transaction": true
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"recorded_at": "2026-11-02T17:50:38.2941267Z",
|
||||
"owner_reply": "autorizo",
|
||||
"authorization_source": "Resposta expressa do proprietário à pergunta de activação da proposta concreta neste chat",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"scope": "synthetic_local_pilot_only",
|
||||
"proposal_sha256": "ff45883f1a0e1e3ab228f8bc4e6c03a66e9a5953b04af44b2e26cd6b74b60a44",
|
||||
"new_accounts_authorized": false,
|
||||
"sgf_changes_authorized": false
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"verification": {
|
||||
"checked_at": "2026-11-02T17:28:38.0997373Z",
|
||||
"typescript": "passed",
|
||||
"lint_build": "passed",
|
||||
"phpstan": "passed",
|
||||
"pint": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"visual_review": false,
|
||||
"general_suite_rerun": false,
|
||||
"persistent_accounts_or_grants_changed": false,
|
||||
"persistent_business_commands": false,
|
||||
"sgf_installation_changed": false,
|
||||
"overlapping_suites_must_not_be_summed": true
|
||||
},
|
||||
"proposal_status": "pending_owner_authorization",
|
||||
"proposal_sha256": "FF45883F1A0E1E3AB228F8BC4E6C03A66E9A5953B04AF44B2E26CD6B74B60A44",
|
||||
"sqlite": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 1,
|
||||
"passed": 1,
|
||||
"assertions": 156,
|
||||
"duration_ms": 9139
|
||||
},
|
||||
"postgres": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 1,
|
||||
"passed": 1,
|
||||
"assertions": 156,
|
||||
"duration_ms": 15787
|
||||
},
|
||||
"scope": "Disposable simulation of all proposed profile, assignment, rule, context and explicit activation commands",
|
||||
"users_preserved": 12,
|
||||
"base_profiles": 6,
|
||||
"task_profiles": 5,
|
||||
"existing_administrators_preserved": [
|
||||
6,
|
||||
8
|
||||
],
|
||||
"local_application_changed": false
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T17:25:11+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":1,\"passed\":1,\"assertions\":156,\"duration_ms\":15787}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,459 @@
|
||||
{
|
||||
"status": "pending_owner_authorization",
|
||||
"scope": "synthetic_local_pilot_only",
|
||||
"environment": "http:\/\/127.0.0.1:8005",
|
||||
"prepared_at": "2026-11-02T17:24:12+00:00",
|
||||
"source_captured_at": "2026-11-02T17:20:38.379Z",
|
||||
"source_sha256": "c3192a7ab7f52b5220ebbb1d739ad4745433f6a0023cd163466246b1b1a90548",
|
||||
"source_version": 1,
|
||||
"current_rules": {
|
||||
"first_limit": "25000.00",
|
||||
"second_limit": "150000.00",
|
||||
"includes_tax": true,
|
||||
"provisional": true,
|
||||
"default_tax_rate": "16.00"
|
||||
},
|
||||
"proposed_rules": {
|
||||
"first_limit": "25000.00",
|
||||
"second_limit": "150000.00",
|
||||
"includes_tax": true,
|
||||
"provisional": false,
|
||||
"default_tax_rate": "16.00"
|
||||
},
|
||||
"enabled_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales",
|
||||
"people.internal",
|
||||
"people.third_party"
|
||||
],
|
||||
"profiles": [
|
||||
{
|
||||
"key": "base.department_head",
|
||||
"name": "Piloto sintético — base department_head",
|
||||
"permissions": [
|
||||
"department_head",
|
||||
"requester"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "task.10",
|
||||
"name": "Piloto sintético — Autorizar requisições internas",
|
||||
"permissions": [
|
||||
"warehouse_request_review"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "base.finance",
|
||||
"name": "Piloto sintético — base finance",
|
||||
"permissions": [
|
||||
"finance",
|
||||
"requester"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "task.12",
|
||||
"name": "Piloto sintético — Conferir reposição",
|
||||
"permissions": [
|
||||
"supply_review"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "base.procurement",
|
||||
"name": "Piloto sintético — base procurement",
|
||||
"permissions": [
|
||||
"procurement",
|
||||
"requester"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "base.warehouse",
|
||||
"name": "Piloto sintético — base warehouse",
|
||||
"permissions": [
|
||||
"warehouse",
|
||||
"requester"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "base.admin",
|
||||
"name": "Piloto sintético — base admin",
|
||||
"permissions": [
|
||||
"admin",
|
||||
"requester"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales",
|
||||
"people.internal",
|
||||
"people.third_party"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "task.11",
|
||||
"name": "Piloto sintético — Preparar reposição",
|
||||
"permissions": [
|
||||
"supply_prepare"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "task.13",
|
||||
"name": "Piloto sintético — Entregar requisições internas",
|
||||
"permissions": [
|
||||
"warehouse_request_deliver"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "base.requester",
|
||||
"name": "Piloto sintético — base requester",
|
||||
"permissions": [
|
||||
"requester"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "task.9",
|
||||
"name": "Piloto sintético — Requisitar ao armazém",
|
||||
"permissions": [
|
||||
"warehouse_request_prepare"
|
||||
],
|
||||
"work_contexts": [
|
||||
"procurement.internal"
|
||||
]
|
||||
}
|
||||
],
|
||||
"users": [
|
||||
{
|
||||
"id": 10,
|
||||
"name": "Chefe de departamento — avaliação local",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"department_head"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.department_head",
|
||||
"task.10"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"department_head",
|
||||
"requester",
|
||||
"warehouse_request_review"
|
||||
],
|
||||
"added_task_permissions": [
|
||||
"warehouse_request_review"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"name": "Finanças — avaliação local",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"finance"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.finance",
|
||||
"task.12"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"finance",
|
||||
"requester",
|
||||
"supply_review"
|
||||
],
|
||||
"added_task_permissions": [
|
||||
"supply_review"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Joan Volkman",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"procurement"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.procurement"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"procurement",
|
||||
"requester"
|
||||
],
|
||||
"added_task_permissions": []
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "Kira Rowe",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"warehouse"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.warehouse"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"warehouse",
|
||||
"requester"
|
||||
],
|
||||
"added_task_permissions": []
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Newell Oberbrunner",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"warehouse"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.warehouse"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"warehouse",
|
||||
"requester"
|
||||
],
|
||||
"added_task_permissions": []
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "Obrigações — consulta",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"admin"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales",
|
||||
"people.internal",
|
||||
"people.third_party"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.admin"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"admin",
|
||||
"requester"
|
||||
],
|
||||
"added_task_permissions": []
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "Obrigações — preparacao",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"finance"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.finance"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"finance",
|
||||
"requester"
|
||||
],
|
||||
"added_task_permissions": []
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "Obrigações — validacao",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"finance"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.finance"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"finance",
|
||||
"requester"
|
||||
],
|
||||
"added_task_permissions": []
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"name": "Procurement — avaliação local",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"procurement"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.procurement",
|
||||
"task.11"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"procurement",
|
||||
"requester",
|
||||
"supply_prepare"
|
||||
],
|
||||
"added_task_permissions": [
|
||||
"supply_prepare"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"name": "Proprietário — avaliação local",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"admin"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales",
|
||||
"people.internal",
|
||||
"people.third_party"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.admin"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"admin",
|
||||
"requester"
|
||||
],
|
||||
"added_task_permissions": []
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"name": "Recepção \/ Armazém — avaliação local",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"warehouse"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.warehouse",
|
||||
"task.13"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"warehouse",
|
||||
"requester",
|
||||
"warehouse_request_deliver"
|
||||
],
|
||||
"added_task_permissions": [
|
||||
"warehouse_request_deliver"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"name": "Solicitante — avaliação local",
|
||||
"department_id": 1,
|
||||
"current_permissions": [
|
||||
"requester"
|
||||
],
|
||||
"current_contexts": [
|
||||
"procurement.internal",
|
||||
"procurement.sales"
|
||||
],
|
||||
"current_can_request": true,
|
||||
"profile_keys": [
|
||||
"base.requester",
|
||||
"task.9"
|
||||
],
|
||||
"planned_permissions": [
|
||||
"requester",
|
||||
"warehouse_request_prepare"
|
||||
],
|
||||
"added_task_permissions": [
|
||||
"warehouse_request_prepare"
|
||||
]
|
||||
}
|
||||
],
|
||||
"permanent_administrator_source_ids": [
|
||||
6,
|
||||
8
|
||||
],
|
||||
"effects": {
|
||||
"activate_saved_profiles": true,
|
||||
"preserve_existing_permissions_and_contexts": true,
|
||||
"preserve_legacy_request_preparation": true,
|
||||
"make_existing_approval_limits_explicit_for_synthetic_pilot": true,
|
||||
"new_accounts": false,
|
||||
"change_existing_process_snapshots": false,
|
||||
"change_payables_specific_grants": false,
|
||||
"publish_stock_or_set_minimum_quantities": false,
|
||||
"change_sgf": false
|
||||
},
|
||||
"departments": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Operações"
|
||||
}
|
||||
],
|
||||
"cost_centers": [
|
||||
{
|
||||
"id": 1,
|
||||
"code": "OPS",
|
||||
"name": "Operações"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:09:52.229Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"csv": "passed",
|
||||
"dated_configuration_checks": true,
|
||||
"account_register_exported": false,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"visual_print_review": false
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:11:33.4980997Z",
|
||||
"scope": "SGC synthetic pilot diagnostics export",
|
||||
"tests": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 10,
|
||||
"passed": 10,
|
||||
"assertions": 161,
|
||||
"duration_ms": 3994
|
||||
},
|
||||
"http": {
|
||||
"checked_at": "2026-11-02T12:09:52.229Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"csv": "passed",
|
||||
"dated_configuration_checks": true,
|
||||
"account_register_exported": false,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"visual_print_review": false
|
||||
},
|
||||
"checks": {
|
||||
"types": "passed",
|
||||
"formatting_and_lint": "passed",
|
||||
"build": "passed",
|
||||
"scoped_php_analysis": "passed",
|
||||
"common_runtime_sha256_files": 18
|
||||
},
|
||||
"administration_only": true,
|
||||
"account_register_exported": false,
|
||||
"spreadsheet_formula_text_handled": true,
|
||||
"configuration_or_business_commands": false,
|
||||
"new_persistent_accounts_or_grants": false,
|
||||
"sgf_real_changed": false,
|
||||
"visual_print_review": false,
|
||||
"historical_general_suite_rerun": false
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T17:10:47.106Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"routes": [
|
||||
{
|
||||
"role": "procurement",
|
||||
"purchase_tasks": 0,
|
||||
"shown_quotation_tasks": 0,
|
||||
"followed": 0,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"purchase_tasks": 0,
|
||||
"shown_quotation_tasks": 0,
|
||||
"followed": 0,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"purchase_tasks": 0,
|
||||
"shown_quotation_tasks": 0,
|
||||
"followed": 0,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"existing_accounts_used": true,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"visual_review": false,
|
||||
"coverage": "Current first-page tasks only; complete pending journeys covered by disposable tests."
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T17:10:35+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":11,\"passed\":11,\"assertions\":353,\"duration_ms\":36918}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"verification": {
|
||||
"checked_at": "2026-11-02T17:28:38.0997373Z",
|
||||
"typescript": "passed",
|
||||
"lint_build": "passed",
|
||||
"phpstan": "passed",
|
||||
"pint": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"visual_review": false,
|
||||
"general_suite_rerun": false,
|
||||
"persistent_accounts_or_grants_changed": false,
|
||||
"persistent_business_commands": false,
|
||||
"sgf_installation_changed": false,
|
||||
"overlapping_suites_must_not_be_summed": true
|
||||
},
|
||||
"regression": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 169,
|
||||
"passed": 169,
|
||||
"assertions": 2924,
|
||||
"duration_ms": 145167
|
||||
},
|
||||
"postgres": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 11,
|
||||
"passed": 11,
|
||||
"assertions": 353,
|
||||
"duration_ms": 36918
|
||||
},
|
||||
"http_proof": "quotation-task-integration-http.json",
|
||||
"scope": "Native quotation preparation, qualified pending evaluation, comparison and award routing",
|
||||
"limitations": [
|
||||
"No automatic selection or approval",
|
||||
"Formal admission, documentary and contractual tasks remain distinct",
|
||||
"Current persistent QA profiles had no pending quotation task"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T11:45:30.639Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"component": "stock/replenishment",
|
||||
"recovery_installed": true,
|
||||
"pagination": [
|
||||
"rules",
|
||||
"needs",
|
||||
"history",
|
||||
"workItems"
|
||||
],
|
||||
"filter": "pending",
|
||||
"scheduler": {
|
||||
"started_at": "2026-11-02T11:44:58+00:00",
|
||||
"finished_at": "2026-11-02T11:45:00+00:00",
|
||||
"pid": 24528,
|
||||
"scope": "SGC evaluation 8005",
|
||||
"result": "passed",
|
||||
"exit_code": 0
|
||||
},
|
||||
"administrator_read_only": true,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"visual_browser_review": false
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T10:40:05+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":33,\"passed\":33,\"assertions\":310,\"duration_ms\":25855}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_operation",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_operations",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "automatic_purchase_activation_retry",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "abrupt_exit_after_physical_commit_then_two_recovery_workers",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"no_authenticated_human": true,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T10:43:28.0372487Z",
|
||||
"scope": "SGC standalone controlled pilot",
|
||||
"delivered": [
|
||||
"transactional durable replenishment signal",
|
||||
"atomic draft and processing checkpoint",
|
||||
"retry after interruption without duplicate drafts",
|
||||
"scheduled minimum and validity reevaluation without stock movement",
|
||||
"separate pagination and pending filters",
|
||||
"authorized recovery of interrupted work",
|
||||
"explicit system execution attribution without human login"
|
||||
],
|
||||
"regression": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 198,
|
||||
"passed": 198,
|
||||
"assertions": 1579,
|
||||
"duration_ms": 51432
|
||||
},
|
||||
"final_replenishment": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 18,
|
||||
"passed": 18,
|
||||
"assertions": 155,
|
||||
"duration_ms": 4866
|
||||
},
|
||||
"postgresql": {
|
||||
"checked_at": "2026-11-02T12:40:05+02:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":33,\"passed\":33,\"assertions\":310,\"duration_ms\":25855}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_operation",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_operations",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "automatic_purchase_activation_retry",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "abrupt_exit_after_physical_commit_then_two_recovery_workers",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"no_authenticated_human": true,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
},
|
||||
"installation": "replenishment-recovery-install.json",
|
||||
"http": {
|
||||
"checked_at": "2026-11-02T10:40:17.957Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"component": "stock/replenishment",
|
||||
"recovery_installed": true,
|
||||
"pagination": [
|
||||
"rules",
|
||||
"needs",
|
||||
"history",
|
||||
"workItems"
|
||||
],
|
||||
"filter": "pending",
|
||||
"scheduler": {
|
||||
"started_at": "2026-11-02T12:39:47+02:00",
|
||||
"finished_at": "2026-11-02T12:39:48+02:00",
|
||||
"pid": 24528,
|
||||
"scope": "SGC evaluation 8005",
|
||||
"result": "passed",
|
||||
"exit_code": 0
|
||||
},
|
||||
"administrator_read_only": true,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"visual_browser_review": false
|
||||
},
|
||||
"runtime": {
|
||||
"observed_passes": 7,
|
||||
"last_pass": {
|
||||
"started_at": "2026-11-02T12:42:50+02:00",
|
||||
"finished_at": "2026-11-02T12:42:51+02:00",
|
||||
"pid": 24528,
|
||||
"scope": "SGC evaluation 8005",
|
||||
"result": "passed",
|
||||
"exit_code": 0
|
||||
},
|
||||
"windows_startup_service_installed": false,
|
||||
"technical_interval_minutes": 5
|
||||
},
|
||||
"checks": {
|
||||
"types": "passed",
|
||||
"common_runtime_sha256_files": 18,
|
||||
"build": "passed",
|
||||
"scoped_php_analysis": "passed",
|
||||
"formatting_and_lint": "passed"
|
||||
},
|
||||
"historical_evidence_preserved_without_rerun": [
|
||||
"assessment 33 tests / 314 assertions",
|
||||
"general 918 passed / 2 skipped"
|
||||
],
|
||||
"human_acceptance": "prepared script; not performed",
|
||||
"complete_visual_review": false,
|
||||
"sgf_real_installation_changed": false,
|
||||
"persistent_accounts_or_grants_created": false,
|
||||
"restrictions": [
|
||||
"SGF installation remains 0.1.1",
|
||||
"additional synthetic identity proposal remains unauthorized"
|
||||
],
|
||||
"next": [
|
||||
"warehouse reservation workdesk notices and expressly configured priorities/expiry",
|
||||
"controlled acceptance with existing authorized users"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T10:36:06+00:00",
|
||||
"migration": "2026_11_02_000050_create_replenishment_work",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-supply-20261102-103601\/before.dump",
|
||||
"backup_sha256": "8680431889ff5c9cd157813cb592e45bcc92092de6c7932e3d9bfe64a35af390",
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 110,
|
||||
"new_tables": {
|
||||
"replenishment_work": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"Host expl\u00edcito obrigat\u00f3rio",
|
||||
"Bundle expl\u00edcito obrigat\u00f3rio",
|
||||
"plan is read-only",
|
||||
"Manifesto divergente",
|
||||
"Cache Laravel personalizado",
|
||||
"manuten\u00e7\u00e3o activa",
|
||||
"servi\u00e7os de escrita parados",
|
||||
"Destino de c\u00f3digo divergente",
|
||||
"applied offline without activation",
|
||||
"invalidates known Laravel caches without touching unrelated files",
|
||||
"applied verified overlay app\/Modules\/Identity\/Services\/Permissions.php",
|
||||
"applied verified overlay app\/Modules\/Identity\/Services\/IdentityWorkflow.php",
|
||||
"applied verified overlay app\/Modules\/Purchasing\/BudgetAdapter.php",
|
||||
"applied verified overlay app\/Modules\/Purchasing\/BudgetWorkspace.php",
|
||||
"applied verified overlay app\/Providers\/AppServiceProvider.php",
|
||||
"applied verified overlay app\/Shared\/Context\/ModuleNavigation.php",
|
||||
"applied verified overlay resources\/js\/app.jsx",
|
||||
"applied verified overlay resources\/js\/PurchasingHome.jsx",
|
||||
"applied verified overlay public\/build\/manifest.json",
|
||||
"apply retry does not duplicate installation",
|
||||
"C\u00f3digo local alterado",
|
||||
"refused rollback preserves bundle and local code",
|
||||
"Cache recriado",
|
||||
"rollback preserves maintenance and never touches data schema",
|
||||
"rollback restores exact previous cache",
|
||||
"restored original overlay app\/Modules\/Identity\/Services\/Permissions.php",
|
||||
"restored original overlay app\/Modules\/Identity\/Services\/IdentityWorkflow.php",
|
||||
"restored original overlay app\/Modules\/Purchasing\/BudgetAdapter.php",
|
||||
"restored original overlay app\/Modules\/Purchasing\/BudgetWorkspace.php",
|
||||
"restored original overlay app\/Providers\/AppServiceProvider.php",
|
||||
"restored original overlay app\/Shared\/Context\/ModuleNavigation.php",
|
||||
"restored original overlay resources\/js\/app.jsx",
|
||||
"restored original overlay resources\/js\/PurchasingHome.jsx",
|
||||
"restored original overlay public\/build\/manifest.json",
|
||||
"withdrawn bundle preserved for diagnosis",
|
||||
"clone remains on original package pointer",
|
||||
"Injected deployment interruption",
|
||||
"interruption retains maintenance",
|
||||
"interrupted deployment recovers app\/Modules\/Identity\/Services\/Permissions.php",
|
||||
"interrupted deployment recovers app\/Modules\/Identity\/Services\/IdentityWorkflow.php",
|
||||
"interrupted deployment recovers app\/Modules\/Purchasing\/BudgetAdapter.php",
|
||||
"interrupted deployment recovers app\/Modules\/Purchasing\/BudgetWorkspace.php",
|
||||
"interrupted deployment recovers app\/Providers\/AppServiceProvider.php",
|
||||
"interrupted deployment recovers app\/Shared\/Context\/ModuleNavigation.php",
|
||||
"interrupted deployment recovers resources\/js\/app.jsx",
|
||||
"interrupted deployment recovers resources\/js\/PurchasingHome.jsx",
|
||||
"interrupted deployment recovers public\/build\/manifest.json",
|
||||
"destination pointer untouched",
|
||||
"Injected post-switch interruption",
|
||||
"post-switch interruption recovers without exposing partial code",
|
||||
"Outra implanta\u00e7\u00e3o em curso",
|
||||
"CLI plan verifies bundle without writes",
|
||||
"CLI apply leaves services and maintenance under operator control",
|
||||
"CLI rollback preserves 0.1.1 pointer"
|
||||
],
|
||||
"candidate": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidates\/OPERATIONAL-CANDIDATE-401ce31ae5f2dd20",
|
||||
"clones": [
|
||||
"C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-code-deploy-f2382065595e",
|
||||
"C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-code-deploy-1de2f989fa65",
|
||||
"C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-code-deploy-7dd4d6ad2e94",
|
||||
"C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-code-deploy-eeca8efbf821"
|
||||
],
|
||||
"checked_at": "2026-11-02T07:09:25+00:00",
|
||||
"destination_version": "0.1.1",
|
||||
"destination_applied": false,
|
||||
"old_suites_repeated": false,
|
||||
"database_opened": false,
|
||||
"services_restarted": false
|
||||
}
|
||||
@@ -0,0 +1,299 @@
|
||||
{
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"reproduced current 87-table schema without source rows",
|
||||
"no accounts or grants imported from destination",
|
||||
"runtime cannot create schema objects",
|
||||
"injected dependency migration failure",
|
||||
"failed migration restores original schema and identity data",
|
||||
"successful migration preserves existing identity and grants",
|
||||
"installation creates empty centres and allocations",
|
||||
"runtime module SQL access denied before test-only privilege plan",
|
||||
"minimal runtime excludes historical update and requisition deletion",
|
||||
"runtime reads corrected revision without ownership",
|
||||
"provider really loaded from isolated copy",
|
||||
"new bundle bootstrap accepted by installer integrity check",
|
||||
"anonymous direct initialisation URL denied",
|
||||
"native clone authentication 1",
|
||||
"native clone context 1",
|
||||
"native clone authentication 2",
|
||||
"native clone context 2",
|
||||
"provider registers initial authority page without prior functional rights",
|
||||
"initial authority CSRF enforced",
|
||||
"initial authority through normal middleware",
|
||||
"work page requires explicit module selection",
|
||||
"new requisition view right makes purchasing selectable",
|
||||
"stale module generation refused",
|
||||
"provider registers operational work page",
|
||||
"different enterprise option refused by operational composition",
|
||||
"native administrative delegation purchasing_requisitions.view",
|
||||
"native administrative delegation purchasing_requisitions.approve.department_head",
|
||||
"native administrative delegation purchasing_budget.view",
|
||||
"native administrative delegation purchasing_budget.approve",
|
||||
"empty installation exposes authorised centre and budget preparation",
|
||||
"centre created through authorised UI API with runtime role",
|
||||
"centre retries preserve one source",
|
||||
"existing budget API prepares synthetic allocation",
|
||||
"budget approval requires independent identity",
|
||||
"independent allocation approval uses existing budget kernel",
|
||||
"workspace dependencies available on reproduced schema",
|
||||
"direct budget movements cannot bypass requisition lifecycle",
|
||||
"operational policy configured via HTTP",
|
||||
"integrated operational draft",
|
||||
"integrated submit uses existing budget adapter",
|
||||
"integrated independent identity enforced",
|
||||
"integrated approval by another identity",
|
||||
"integrated authorised consultation and history",
|
||||
"native administration receives complete unit catalogue",
|
||||
"native administration receives canonical server labels",
|
||||
"reviewer cannot inspect administrative catalogue without management right",
|
||||
"forged delegation of an unowned catalogue right refused",
|
||||
"packaged frontend dependency served before authentication",
|
||||
"packaged frontend dependency served before authentication",
|
||||
"native SGF entry renders the packaged frontend manifest",
|
||||
"undeclared frontend asset refused",
|
||||
"minimal plan removes inherited update and delete on new append-only sources",
|
||||
"runtime cannot truncate requisitions",
|
||||
"existing table ACL preserved a_billing_drafts",
|
||||
"existing table ACL preserved a_clients",
|
||||
"existing table ACL preserved a_commands",
|
||||
"existing table ACL preserved a_events",
|
||||
"existing table ACL preserved a_history",
|
||||
"existing table ACL preserved a_outbox",
|
||||
"existing table ACL preserved a_pending",
|
||||
"existing table ACL preserved a_service_drafts",
|
||||
"existing table ACL preserved a_services",
|
||||
"existing table ACL preserved b_internal_confirmations",
|
||||
"existing table ACL preserved ca_commands",
|
||||
"existing table ACL preserved ca_decisions",
|
||||
"existing table ACL preserved ca_proposals",
|
||||
"existing table ACL preserved ca_resolutions",
|
||||
"existing table ACL preserved ca_submissions",
|
||||
"existing table ACL preserved cache",
|
||||
"existing table ACL preserved cache_locks",
|
||||
"existing table ACL preserved companies",
|
||||
"existing table ACL preserved company_memberships",
|
||||
"existing table ACL preserved dc_calculations",
|
||||
"existing table ACL preserved dc_commands",
|
||||
"existing table ACL preserved dc_decisions",
|
||||
"existing table ACL preserved dc_events",
|
||||
"existing table ACL preserved dc_outbox",
|
||||
"existing table ACL preserved dc_rates",
|
||||
"existing table ACL preserved doc_history",
|
||||
"existing table ACL preserved doc_records",
|
||||
"existing table ACL preserved document_preview_model_history",
|
||||
"existing table ACL preserved document_preview_models",
|
||||
"existing table ACL preserved failed_jobs",
|
||||
"existing table ACL preserved ib_budgets",
|
||||
"existing table ACL preserved ib_commands",
|
||||
"existing table ACL preserved ib_comparisons",
|
||||
"existing table ACL preserved ib_decisions",
|
||||
"existing table ACL preserved ib_events",
|
||||
"existing table ACL preserved ib_outbox",
|
||||
"existing table ACL preserved ic_commands",
|
||||
"existing table ACL preserved ic_decisions",
|
||||
"existing table ACL preserved ic_events",
|
||||
"existing table ACL preserved ic_inputs",
|
||||
"existing table ACL preserved ic_lots",
|
||||
"existing table ACL preserved ic_outbox",
|
||||
"existing table ACL preserved ic_products",
|
||||
"existing table ACL preserved ic_results",
|
||||
"existing table ACL preserved identity_audit",
|
||||
"existing table ACL preserved job_batches",
|
||||
"existing table ACL preserved jobs",
|
||||
"existing table ACL preserved migrations",
|
||||
"existing table ACL preserved password_reset_tokens",
|
||||
"existing table ACL preserved permission_grants",
|
||||
"existing table ACL preserved service_calculation_profiles",
|
||||
"existing table ACL preserved service_calculation_results",
|
||||
"existing table ACL preserved sessions",
|
||||
"existing table ACL preserved sf_activation_events",
|
||||
"existing table ACL preserved sf_decisions",
|
||||
"existing table ACL preserved sf_proposals",
|
||||
"existing table ACL preserved si_commands",
|
||||
"existing table ACL preserved si_correction_requests",
|
||||
"existing table ACL preserved si_counters",
|
||||
"existing table ACL preserved si_decisions",
|
||||
"existing table ACL preserved si_events",
|
||||
"existing table ACL preserved si_invoices",
|
||||
"existing table ACL preserved si_outbox",
|
||||
"existing table ACL preserved si_proposals",
|
||||
"existing table ACL preserved sr_commands",
|
||||
"existing table ACL preserved sr_deliveries",
|
||||
"existing table ACL preserved sr_effects",
|
||||
"existing table ACL preserved sr_events",
|
||||
"existing table ACL preserved sr_outbox",
|
||||
"existing table ACL preserved sr_records",
|
||||
"existing table ACL preserved tenants",
|
||||
"existing table ACL preserved units",
|
||||
"existing table ACL preserved users",
|
||||
"existing table ACL preserved wb_claims",
|
||||
"existing table ACL preserved wb_commands",
|
||||
"existing table ACL preserved wb_decisions",
|
||||
"existing table ACL preserved wb_events",
|
||||
"existing table ACL preserved wb_generations",
|
||||
"existing table ACL preserved wb_outbox",
|
||||
"existing table ACL preserved wb_proposals",
|
||||
"existing table ACL preserved wo_commands",
|
||||
"existing table ACL preserved wo_decisions",
|
||||
"existing table ACL preserved wo_entries",
|
||||
"existing table ACL preserved wo_equipment",
|
||||
"existing table ACL preserved wo_events",
|
||||
"existing table ACL preserved wo_orders",
|
||||
"existing table ACL preserved wo_outbox",
|
||||
"actual runtime CREATE denied",
|
||||
"actual runtime ALTER of identity catalogue denied",
|
||||
"centre creation requires own configuration and budget rights",
|
||||
"centre context cannot be forged",
|
||||
"refused centre operations leave original source intact",
|
||||
"unsupported requisition type refused equipment",
|
||||
"unsupported requisition type refused part",
|
||||
"approved lifecycle covers the three supported basic types",
|
||||
"unsupported types create neither a second request nor reservation",
|
||||
"native revocation applies to direct module URL",
|
||||
"uncontracted module refused at server",
|
||||
"disabled composition exposes no executable work page",
|
||||
"code-only successor installed over existing provenance",
|
||||
"code-only successor rollback restores exact candidate",
|
||||
"code update and rollback preserve every reproduced data table",
|
||||
"code recovery preserves submitted origin decision and reservation",
|
||||
"code recovery leaves baseline and maintenance intact"
|
||||
],
|
||||
"clone": "C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-update-625f1bba6e30",
|
||||
"data_fingerprints": {
|
||||
"a_billing_drafts": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"a_clients": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"a_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"a_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"a_history": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"a_outbox": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"a_pending": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"a_service_drafts": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"a_services": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"b_internal_confirmations": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ca_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ca_decisions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ca_proposals": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ca_resolutions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ca_submissions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"cache": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"cache_locks": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"cb_audit": "ccf5b17cacb6e9d1cbbebdc55baca6b2b51103f3573c32dd1bddb24a055d2e2b",
|
||||
"cb_budget_consumptions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"cb_budget_entries": "ba73d3b7eb20c25d833df7b3b85f7f1f7575d78365ee1a3c2246e7749f2448ad",
|
||||
"cb_budget_reinforcements": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"cb_budgets": "8df00e7e6b821e2767118c352f58391d4c44bb8df1fcc38a3d40a6a9989543a5",
|
||||
"cb_centres": "45bebc4ca0d417711e2a428b360c343e6dba17a64a4d799639165815e5aaef45",
|
||||
"cb_consumption_sources": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"cb_origins": "f470bed486f1955724e99cde0404445c4b9753320faee2d202289fedffc4d561",
|
||||
"cb_ui_commands": "424c4f2f643087911333a3ecf002bbb5fc5055c5ccf24f5cefd94c9db56b398b",
|
||||
"companies": "e5098861f02b2904e068c604ecbe1379ec6597b39fcdc9575c9d9eaa3b459aec",
|
||||
"company_memberships": "562084217604e0bd153e36375251db9e4e87f92c744c69d38d2a39c7821454e5",
|
||||
"dc_calculations": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"dc_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"dc_decisions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"dc_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"dc_outbox": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"dc_rates": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"doc_history": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"doc_records": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"document_preview_model_history": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"document_preview_models": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"failed_jobs": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ib_budgets": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ib_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ib_comparisons": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ib_decisions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ib_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ib_outbox": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ic_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ic_decisions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ic_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ic_inputs": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ic_lots": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ic_outbox": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ic_products": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"ic_results": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"identity_audit": "b714264c1c89e456f9217c285169fa91bc379bb744684e39c2028bb48a025ca7",
|
||||
"ir_commands": "fa90f00d334ae11e38a4aea327720569da50f196ad5aa4876fcaa0b6154d78ad",
|
||||
"ir_events": "8379dcb6a4fb3d1cad80cab5a4afe9a49b86a7145e2dc613d6d5371d18e96051",
|
||||
"ir_policies": "7ff4f648cbf36386f78743ed2394eb12e6328fb6e7722c6ba1acb5fab36ca1d1",
|
||||
"ir_policy_versions": "7ff4f648cbf36386f78743ed2394eb12e6328fb6e7722c6ba1acb5fab36ca1d1",
|
||||
"ir_requests": "874bbaa494e41ddc2bee527f3660909123a19c270f7eaee0e19d534d8c355fd6",
|
||||
"ir_steps": "dcde70900864b1e974f66a4778e80e8317907c14a3dc0545afadb468c6f9eef6",
|
||||
"job_batches": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"jobs": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"migrations": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"password_reset_tokens": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"permission_grants": "2219ad7945c6cd3d4e28bfc4a06c04eb6141ceaa53097efd01ab5f89811fec13",
|
||||
"service_calculation_profiles": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"service_calculation_results": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sessions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sf_activation_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sf_decisions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sf_proposals": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sgc_installations": "75449b61764076870970ddf93e9b987e6b7b24889de47fb8d9046a5345065f1c",
|
||||
"si_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"si_correction_requests": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"si_counters": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"si_decisions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"si_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"si_invoices": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"si_outbox": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"si_proposals": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sr_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sr_deliveries": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sr_effects": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sr_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sr_outbox": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"sr_records": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"tenants": "0487a4884eb77b28bd8c052e9d2bd1a8177bab511463657d326a17c0c77b3619",
|
||||
"units": "c0a43a3bf8907bcbebf727f089e8c75399ed7a94049ad85b666fe6b90851842e",
|
||||
"users": "ea313e4a8b0a16e17dc1b61cea28c6832a76feed78540fe40ab61bbf88c6200c",
|
||||
"wb_claims": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wb_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wb_decisions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wb_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wb_generations": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wb_outbox": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wb_proposals": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wo_commands": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wo_decisions": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wo_entries": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wo_equipment": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wo_events": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wo_orders": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"wo_outbox": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
|
||||
},
|
||||
"destination_activated": false,
|
||||
"normal_provider_routes": true,
|
||||
"browser_used": false,
|
||||
"data_recovery": {
|
||||
"verified": true,
|
||||
"tables_reconciled": 103,
|
||||
"approved_origin_reservation_versions_preserved": true,
|
||||
"runtime_read_verified": true,
|
||||
"runtime_ddl_denied": true,
|
||||
"schema_and_triggers_verified": true,
|
||||
"sql_acl_reapplied_only_to_isolated_role": true
|
||||
},
|
||||
"destination_security_and_schema_preserved": true,
|
||||
"artifact": {
|
||||
"directory": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidates\/OPERATIONAL-CANDIDATE-401ce31ae5f2dd20",
|
||||
"archive": {
|
||||
"file": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidate-archives\/OPERATIONAL-CANDIDATE-401ce31ae5f2dd20.zip",
|
||||
"sha256": "59dbdc64c4d9f14dfb4025a6177b829d136a4e2cb633ca036b10b5ae3197e703",
|
||||
"manifest_sha256": "a6478223e17a5430652f0fcbf31a44a931ae2a99cd90b151c98d2df5df43c10b"
|
||||
},
|
||||
"installed": false
|
||||
},
|
||||
"source_schema_tables": 87,
|
||||
"source_rows_exported": 0,
|
||||
"source_schema_sha256": "b530e03c759305247f46cdad5013e64a6caae00bded3d9d5ae5b7b5aa06a4647",
|
||||
"runtime_and_migrator_separate": true,
|
||||
"destination_version": "0.1.1",
|
||||
"destination_changed": false,
|
||||
"prior_proofs_reused": true,
|
||||
"checked_at": "2026-11-02T07:10:03+00:00",
|
||||
"test_database_and_roles_removed": true
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"runtime_role": "sgf_dev_app",
|
||||
"confirmation_required": true,
|
||||
"automatically_applied": false,
|
||||
"statements": [
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_centres\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_centres\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT ON TABLE public.\"cb_centres\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_centres_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_centres_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"cb_centres_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_origins\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_origins\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT ON TABLE public.\"cb_origins\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_origins_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_origins_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"cb_origins_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_budgets\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_budgets\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT, UPDATE ON TABLE public.\"cb_budgets\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_budgets_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_budgets_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"cb_budgets_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_budget_entries\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_budget_entries\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT ON TABLE public.\"cb_budget_entries\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_budget_entries_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_budget_entries_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"cb_budget_entries_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_audit\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_audit\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT ON TABLE public.\"cb_audit\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_audit_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_audit_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"cb_audit_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_ui_commands\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_ui_commands\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT ON TABLE public.\"cb_ui_commands\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_ui_commands_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_ui_commands_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"cb_ui_commands_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_budget_consumptions\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_budget_consumptions\" FROM PUBLIC",
|
||||
"GRANT SELECT ON TABLE public.\"cb_budget_consumptions\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_budget_consumptions_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_budget_consumptions_id_seq\" FROM PUBLIC",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_budget_reinforcements\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_budget_reinforcements\" FROM PUBLIC",
|
||||
"GRANT SELECT ON TABLE public.\"cb_budget_reinforcements\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_budget_reinforcements_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_budget_reinforcements_id_seq\" FROM PUBLIC",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_consumption_sources\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"cb_consumption_sources\" FROM PUBLIC",
|
||||
"GRANT SELECT ON TABLE public.\"cb_consumption_sources\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_consumption_sources_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"cb_consumption_sources_id_seq\" FROM PUBLIC",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_requests\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_requests\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT, UPDATE ON TABLE public.\"ir_requests\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_requests_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_requests_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"ir_requests_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_steps\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_steps\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT, UPDATE ON TABLE public.\"ir_steps\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_steps_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_steps_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"ir_steps_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_policies\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_policies\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT, UPDATE ON TABLE public.\"ir_policies\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_policies_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_policies_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"ir_policies_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_events\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_events\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT ON TABLE public.\"ir_events\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_events_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_events_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"ir_events_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_commands\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_commands\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT ON TABLE public.\"ir_commands\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_commands_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_commands_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"ir_commands_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_policy_versions\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"ir_policy_versions\" FROM PUBLIC",
|
||||
"GRANT SELECT, INSERT ON TABLE public.\"ir_policy_versions\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_policy_versions_id_seq\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON SEQUENCE public.\"ir_policy_versions_id_seq\" FROM PUBLIC",
|
||||
"GRANT USAGE ON SEQUENCE public.\"ir_policy_versions_id_seq\" TO \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"sgc_installations\" FROM \"sgf_dev_app\"",
|
||||
"REVOKE ALL PRIVILEGES ON TABLE public.\"sgc_installations\" FROM PUBLIC",
|
||||
"GRANT SELECT ON TABLE public.\"sgc_installations\" TO \"sgf_dev_app\""
|
||||
],
|
||||
"excluded": [
|
||||
"CREATE",
|
||||
"ownership",
|
||||
"DELETE",
|
||||
"UPDATE on append-only history",
|
||||
"all-tables\/default-privileges grants"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,206 @@
|
||||
{
|
||||
"passed": true,
|
||||
"identity": {
|
||||
"db": "sgf_modules_dev_2576427d1939",
|
||||
"role": "sgf_modules_qa_2576427d1939",
|
||||
"cluster": "sgf_modular_regression_2576427d1939",
|
||||
"port": 55439
|
||||
},
|
||||
"scope": "1:1:1",
|
||||
"added_grants": [
|
||||
{
|
||||
"id": 103,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_budget.approve",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 104,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_budget.create",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 105,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_budget.record",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 106,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_budget.view",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 107,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_requisitions.approve.department_head",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 108,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_requisitions.configure",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 109,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_requisitions.prepare",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 110,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_requisitions.view",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 111,
|
||||
"user_id": 2,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_requisitions.view",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 112,
|
||||
"user_id": 2,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_requisitions.approve.department_head",
|
||||
"created_at": "2026-11-02 07:25:53",
|
||||
"updated_at": "2026-11-02 07:25:53"
|
||||
},
|
||||
{
|
||||
"id": 113,
|
||||
"user_id": 2,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_budget.view",
|
||||
"created_at": "2026-11-02 07:25:54",
|
||||
"updated_at": "2026-11-02 07:25:54"
|
||||
},
|
||||
{
|
||||
"id": 114,
|
||||
"user_id": 2,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_budget.approve",
|
||||
"created_at": "2026-11-02 07:25:54",
|
||||
"updated_at": "2026-11-02 07:25:54"
|
||||
},
|
||||
{
|
||||
"id": 115,
|
||||
"user_id": 3,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_requisitions.view",
|
||||
"created_at": "2026-11-02 07:25:54",
|
||||
"updated_at": "2026-11-02 07:25:54"
|
||||
},
|
||||
{
|
||||
"id": 116,
|
||||
"user_id": 3,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_budget.view",
|
||||
"created_at": "2026-11-02 07:25:54",
|
||||
"updated_at": "2026-11-02 07:25:54"
|
||||
}
|
||||
],
|
||||
"existing_grants_preserved": true,
|
||||
"existing_accounts_preserved": true,
|
||||
"single_approved_request": true,
|
||||
"single_reservation": true,
|
||||
"reservation": {
|
||||
"id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"budget_id": 1,
|
||||
"requisition_id": 1,
|
||||
"created_by": 1,
|
||||
"kind": "reserve",
|
||||
"reserved_minor": 10000,
|
||||
"committed_minor": 0,
|
||||
"created_at": "2026-11-02 07:26:06"
|
||||
},
|
||||
"budget": {
|
||||
"id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"cost_center_id": 1,
|
||||
"year": 2026,
|
||||
"kind": "operating",
|
||||
"amount_minor": 1000000,
|
||||
"includes_tax": true,
|
||||
"reason": "Owner-authorised synthetic 10000 MZN allocation for 2026.",
|
||||
"created_by": 1,
|
||||
"approved_by": 2,
|
||||
"approved_at": "2026-11-02 07:26:05",
|
||||
"created_at": "2026-11-02 07:26:04",
|
||||
"updated_at": "2026-11-02 07:26:05"
|
||||
},
|
||||
"decision": {
|
||||
"id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"request_id": 1,
|
||||
"position": 1,
|
||||
"role": "department_head",
|
||||
"decision": "approved",
|
||||
"approver_id": 2,
|
||||
"comment": null,
|
||||
"decided_at": "2026-11-02 07:26:19"
|
||||
},
|
||||
"pointer_preserved": true,
|
||||
"backup_sha256": "2eed6d9f775d8d5dc8c7b1606e230b8782c09a69098d31e659d9ad28a4d608fa",
|
||||
"recovery_directory": "C:\/laragon\/data\/sgf-tempo\/run\/modular-regression-2576427d1939\/private\/requisitions-recovery",
|
||||
"checked_at": "2026-11-02T07:27:43+00:00",
|
||||
"owner_runtime_limitation": true,
|
||||
"visual_review": false,
|
||||
"read_only_record_visibility_limitation": true
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"passed": true,
|
||||
"url": "http://127.0.0.1:8039",
|
||||
"scope": "1:1:1",
|
||||
"rights": {
|
||||
"1": [
|
||||
"purchasing_requisitions.view",
|
||||
"purchasing_requisitions.prepare",
|
||||
"purchasing_requisitions.configure",
|
||||
"purchasing_requisitions.approve.department_head",
|
||||
"purchasing_budget.view",
|
||||
"purchasing_budget.create",
|
||||
"purchasing_budget.approve",
|
||||
"purchasing_budget.record"
|
||||
],
|
||||
"2": [
|
||||
"purchasing_requisitions.view",
|
||||
"purchasing_requisitions.approve.department_head",
|
||||
"purchasing_budget.view",
|
||||
"purchasing_budget.approve"
|
||||
],
|
||||
"3": [
|
||||
"purchasing_requisitions.view",
|
||||
"purchasing_budget.view"
|
||||
]
|
||||
},
|
||||
"centre_id": 1,
|
||||
"budget_id": 1,
|
||||
"request_id": 1,
|
||||
"checks": [
|
||||
"Existing three synthetic identities authenticate without password changes",
|
||||
"Eight plus four plus two explicit authorised grants",
|
||||
"Synthetic allocation 10000 MZN approved by second identity; self and read-only approvals refused",
|
||||
"Full request lifecycle, independent approval and three-event history consulted by preparer and reviewer",
|
||||
"Existing record visibility rule returns 404 to read-only third identity; listing remains accessible; no extra rights granted",
|
||||
"Read-only profile refused centre, budget approval, policy, preparation, submission, decision and access administration"
|
||||
],
|
||||
"checked_at": "2026-11-02T07:26:58.680Z",
|
||||
"visual_review": false,
|
||||
"real_installation_changed": false
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T06:43:39+00:00",
|
||||
"host": "C:\\laragon\\www\\sgf-tempo",
|
||||
"app_url": "http://127.0.0.1:8000",
|
||||
"environment": "local",
|
||||
"php": "8.4.27",
|
||||
"database": {
|
||||
"driver": "pgsql",
|
||||
"configured_host": "127.0.0.1",
|
||||
"configured_port": "55432",
|
||||
"configured_database": "sgf_tempo_dev",
|
||||
"actual": {
|
||||
"database": "sgf_tempo_dev",
|
||||
"address": "127.0.0.1/32",
|
||||
"port": 55432
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"public_table_count": 87,
|
||||
"missing_foundation": [
|
||||
|
||||
],
|
||||
"existing_budget_tables": [
|
||||
|
||||
],
|
||||
"existing_integration_tables": [
|
||||
|
||||
],
|
||||
"budget_ui_support_tables_present": [
|
||||
|
||||
],
|
||||
"permission_column_length": 40,
|
||||
"scope_constraint_present": true,
|
||||
"scope_constraint_sha256": "25044df129dc69efe8e9411c6b2f82558982cc37da7b478b771d1e58842025e0",
|
||||
"ddl_privileges": {
|
||||
"can_create": false,
|
||||
"can_alter_permissions": false
|
||||
}
|
||||
},
|
||||
"database_roles": {
|
||||
"runtime_role": "sgf_dev_app",
|
||||
"permissions_owner": "sgf_dev_owner"
|
||||
},
|
||||
"config_cached": false,
|
||||
"owner_capabilities": {
|
||||
"can_login": true,
|
||||
"can_create_public": true
|
||||
},
|
||||
"preservation_baseline": {
|
||||
"permission_grants": {
|
||||
"rows": 89,
|
||||
"sha256": "714dfbbbed4a19c1d3e10077b020ec6d06334cbc2b538820808f73d06593bd59"
|
||||
},
|
||||
"company_memberships": {
|
||||
"rows": 2,
|
||||
"sha256": "562084217604e0bd153e36375251db9e4e87f92c744c69d38d2a39c7821454e5"
|
||||
},
|
||||
"identity_audit": {
|
||||
"rows": 162,
|
||||
"sha256": "6d05de68554ab9a06d8c6a8132bb3f1ff99e19d06ed6294353b40e6084a9e4b1"
|
||||
}
|
||||
},
|
||||
"organisation_counts": {
|
||||
"companies": 1,
|
||||
"units": 1,
|
||||
"company_admin_grants": 1
|
||||
},
|
||||
"purchasing_pointer": {
|
||||
"version": "0.1.1",
|
||||
"manifest_sha256": "91ba35ee3aa1ca226052c94ed682e430cb7870beb241f16b17d889046e1f711d",
|
||||
"source_sha256": "692921d9e7e57579df876fbd9239d37790fc49d7b96b92fa10514bdc9a1dc250",
|
||||
"previous": "0.1.0",
|
||||
"audit_id": "8d922d5b757723be97f7c5f7"
|
||||
},
|
||||
"pointer_sha256": "81899e531e9eec449717e694d8bdc106a9e220a828f5491ce918c1d2dc612787",
|
||||
"bundle_exists": false,
|
||||
"maintenance_marker_present": false,
|
||||
"operational_config_file_present": false,
|
||||
"read_only_transaction": true,
|
||||
"installed": false
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"passed": true,
|
||||
"identity": {
|
||||
"db": "sgf_modules_dev_2576427d1939",
|
||||
"role": "sgf_modules_qa_2576427d1939",
|
||||
"port": 55439,
|
||||
"cluster": "sgf_modular_regression_2576427d1939"
|
||||
},
|
||||
"data_tables_reconciled": 109,
|
||||
"audit_appended_only": true,
|
||||
"request_id": 1,
|
||||
"request_version": 3,
|
||||
"amount_minor": 10000,
|
||||
"reservation_count": 1,
|
||||
"rights_and_accounts_unchanged": true,
|
||||
"config_unchanged": true,
|
||||
"pointer_unchanged": true,
|
||||
"candidate_manifest_sha256": "166e397e3ca63f02d3dc57651c8eecf50e1fc314410c78e05386b518d3a661de",
|
||||
"backup_sha256": "e07756b650d44361c0b2fce0eb170d0b54e7753b61c624a21b2524104e397055",
|
||||
"checked_at": "2026-11-02T07:55:35+00:00"
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"passed": true,
|
||||
"scope": "8039 / 55439 / 1:1:1",
|
||||
"candidate": {
|
||||
"directory": "C:\\laragon\\www\\compras/storage/app/private/candidates/OPERATIONAL-CANDIDATE-166e397e3ca63f02",
|
||||
"archive": {
|
||||
"file": "C:\\laragon\\www\\compras/storage/app/private/candidate-archives/OPERATIONAL-CANDIDATE-166e397e3ca63f02.zip",
|
||||
"sha256": "620660d76329c800f3c6b18a521c03ccdadce09502d2a7744e1e91b77560f785",
|
||||
"manifest_sha256": "166e397e3ca63f02d3dc57651c8eecf50e1fc314410c78e05386b518d3a661de"
|
||||
},
|
||||
"prior_manifest_sha256": "a6478223e17a5430652f0fcbf31a44a931ae2a99cd90b151c98d2df5df43c10b",
|
||||
"changed_files": [
|
||||
"integrations/sgf/internal-requisitions/Port.php"
|
||||
],
|
||||
"schema_changed": false,
|
||||
"rights_changed": false,
|
||||
"installed_real": false
|
||||
},
|
||||
"initial_update": {
|
||||
"deployment_id": "166e397e3ca63f02d3dc5765",
|
||||
"state": "applied",
|
||||
"restart_required": true,
|
||||
"maintenance_preserved": true,
|
||||
"configuration_changed": false,
|
||||
"activation_performed": false
|
||||
},
|
||||
"rollback": {
|
||||
"deployment_id": "166e397e3ca63f02d3dc5765",
|
||||
"state": "rolled-back",
|
||||
"restart_required": true,
|
||||
"maintenance_preserved": true,
|
||||
"data_schema_changed": false
|
||||
},
|
||||
"final_update": {
|
||||
"deployment_id": "3afbba5e3ed60b853d62b869",
|
||||
"state": "applied",
|
||||
"restart_required": true,
|
||||
"maintenance_preserved": true,
|
||||
"configuration_changed": false,
|
||||
"activation_performed": false
|
||||
},
|
||||
"http_proof": "sgf-read-8039-http.json",
|
||||
"previous_version_proof": "sgf-read-8039-rollback.json",
|
||||
"data_proof": "sgf-read-8039-data.json",
|
||||
"schema_changed": false,
|
||||
"sql_grants_changed": false,
|
||||
"accounts_or_rights_changed": false,
|
||||
"request_recreated": false,
|
||||
"visual_review": false,
|
||||
"real_installation_changed": false,
|
||||
"prior_proofs_reused": true
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"passed": true,
|
||||
"mode": "corrected-version",
|
||||
"url": "http://127.0.0.1:8039",
|
||||
"scope": "1:1:1",
|
||||
"request_id": 1,
|
||||
"request_recreated": false,
|
||||
"reservation_commands_executed": false,
|
||||
"rights_changed": false,
|
||||
"checks": [
|
||||
"preparador: existing request 1 listed, detail and three-event history readable",
|
||||
"revisor: existing request 1 listed, detail and three-event history readable",
|
||||
"consulta: existing request 1 listed, detail and three-event history readable",
|
||||
"Consulta: no allowed actions; creation, save, submission, decision, policy, centre, budget approval and administration refused",
|
||||
"Consulta: forged context, wrong option, missing record and unauthorised company/unit refused"
|
||||
],
|
||||
"checked_at": "2026-11-02T07:55:34.002Z",
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"passed": true,
|
||||
"mode": "previous-version-recovery",
|
||||
"url": "http://127.0.0.1:8039",
|
||||
"scope": "1:1:1",
|
||||
"request_id": 1,
|
||||
"request_recreated": false,
|
||||
"reservation_commands_executed": false,
|
||||
"rights_changed": false,
|
||||
"checks": [
|
||||
"preparador: existing request 1 listed, detail and three-event history readable",
|
||||
"revisor: existing request 1 listed, detail and three-event history readable",
|
||||
"Previous version reproduces missing read-only listing/detail"
|
||||
],
|
||||
"checked_at": "2026-11-02T07:55:20.187Z",
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"directory": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidates\/OPERATIONAL-CANDIDATE-166e397e3ca63f02",
|
||||
"archive": {
|
||||
"file": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidate-archives\/OPERATIONAL-CANDIDATE-166e397e3ca63f02.zip",
|
||||
"sha256": "620660d76329c800f3c6b18a521c03ccdadce09502d2a7744e1e91b77560f785",
|
||||
"manifest_sha256": "166e397e3ca63f02d3dc57651c8eecf50e1fc314410c78e05386b518d3a661de"
|
||||
},
|
||||
"prior_manifest_sha256": "a6478223e17a5430652f0fcbf31a44a931ae2a99cd90b151c98d2df5df43c10b",
|
||||
"changed_files": [
|
||||
"integrations\/sgf\/internal-requisitions\/Port.php"
|
||||
],
|
||||
"schema_changed": false,
|
||||
"rights_changed": false,
|
||||
"installed_real": false
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"directory": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidates\/OPERATIONAL-CANDIDATE-040fb0cb67a77d61",
|
||||
"archive": {
|
||||
"file": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidate-archives\/OPERATIONAL-CANDIDATE-040fb0cb67a77d61.zip",
|
||||
"sha256": "dfb122bc4532ce730d500ddec0112fe4d93cb1197fa5aef21b576f4049e7312a",
|
||||
"manifest_sha256": "040fb0cb67a77d618011bc7ab365c53d3d4b1a787c4c0c0a2d54f315b3658e58"
|
||||
},
|
||||
"prior_manifest_sha256": "166e397e3ca63f02d3dc57651c8eecf50e1fc314410c78e05386b518d3a661de",
|
||||
"schema_extension": "sourcing revision 1; four ss_* tables and explicit catalogue extension",
|
||||
"real_activated": false
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"Existing minimum independent evaluations retained",
|
||||
"Requester cannot evaluate",
|
||||
"Existing weighted scoring identifies best eligible quote",
|
||||
"Requester cannot propose award",
|
||||
"Proposer cannot confirm own award",
|
||||
"Requester cannot confirm award",
|
||||
"Quote revision invalidates existing award basis and evaluations",
|
||||
"Evaluator revocation invalidates confirmation basis",
|
||||
"Expired quote invalidates confirmation",
|
||||
"Independent confirmation preserves exact proposed comparison",
|
||||
"Confirmed process cannot be rewritten",
|
||||
"Comparison snapshot and justification preserved"
|
||||
],
|
||||
"synthetic_only": true,
|
||||
"persistent_demo_accounts_created": false,
|
||||
"checked_at": "2026-11-02T09:45:33+00:00"
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"candidate": {
|
||||
"directory": "C:\\laragon\\www\\compras/storage/app/private/candidates/OPERATIONAL-CANDIDATE-040fb0cb67a77d61",
|
||||
"archive": {
|
||||
"file": "C:\\laragon\\www\\compras/storage/app/private/candidate-archives/OPERATIONAL-CANDIDATE-040fb0cb67a77d61.zip",
|
||||
"sha256": "dfb122bc4532ce730d500ddec0112fe4d93cb1197fa5aef21b576f4049e7312a",
|
||||
"manifest_sha256": "040fb0cb67a77d618011bc7ab365c53d3d4b1a787c4c0c0a2d54f315b3658e58"
|
||||
},
|
||||
"prior_manifest_sha256": "166e397e3ca63f02d3dc57651c8eecf50e1fc314410c78e05386b518d3a661de",
|
||||
"schema_extension": "sourcing revision 1; four ss_* tables and explicit catalogue extension",
|
||||
"real_activated": false
|
||||
},
|
||||
"changed_files": [
|
||||
"integrations/sgf/access/AccessOverlay.php",
|
||||
"integrations/sgf/internal-requisitions/Controller.php",
|
||||
"integrations/sgf/internal-requisitions/screen.mjs",
|
||||
"integrations/sgf/operational/CodeDeployment.php",
|
||||
"integrations/sgf/operational/Installation.php",
|
||||
"integrations/sgf/operational/routes.php",
|
||||
"bootstrap.php",
|
||||
"app/Modules/Identity/Services/Permissions.php",
|
||||
"integrations/sgf/sourcing/bootstrap.php",
|
||||
"integrations/sgf/sourcing/Controller.php",
|
||||
"integrations/sgf/sourcing/routes.php",
|
||||
"integrations/sgf/sourcing/Schema.php",
|
||||
"integrations/sgf/sourcing/screen.mjs",
|
||||
"integrations/sgf/sourcing/screen.php",
|
||||
"integrations/sgf/sourcing/Workspace.php",
|
||||
"packages/purchasing/src/Sourcing.php",
|
||||
"scripts/sgf-sourcing-install.php",
|
||||
"integrations/sgf/sourcing/comparison-defaults.json"
|
||||
],
|
||||
"core_proof": "sgf-sourcing-core.json",
|
||||
"isolated_proof": "sgf-sourcing-isolated.json",
|
||||
"demo_proof": "sgf-sourcing-demo.json",
|
||||
"demo_http_proof": "sgf-sourcing-demo-http.json",
|
||||
"final_code_update": {
|
||||
"deployment_id": "040fb0cb67a77d618011bc7a",
|
||||
"state": "applied",
|
||||
"restart_required": true,
|
||||
"maintenance_preserved": true,
|
||||
"configuration_changed": false,
|
||||
"activation_performed": false
|
||||
},
|
||||
"implemented_and_tested_in_isolation": true,
|
||||
"demo_award_completed": false,
|
||||
"fourth_persistent_account_created": false,
|
||||
"owner_declined_fourth_account": true,
|
||||
"new_authorised_grants_count": 3,
|
||||
"sql_grant_revoke_executed": false,
|
||||
"real_pointer_sha256": "81899e531e9eec449717e694d8bdc106a9e220a828f5491ce918c1d2dc612787",
|
||||
"real_pointer_preserved": true,
|
||||
"real_version": "0.1.1",
|
||||
"visual_review": false,
|
||||
"prior_proofs_reused": true
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"passed": true,
|
||||
"url": "http://127.0.0.1:8039",
|
||||
"scope": "1:1:1",
|
||||
"request_id": 1,
|
||||
"checks": [
|
||||
"Existing request reused with version 3 and unchanged three-event history",
|
||||
"Three selected synthetic suppliers, three quotes and one eligible evaluation per quote",
|
||||
"Comparison and award proposal remain blocked without second eligible evaluator",
|
||||
"Quoted amount differing from reserved amount is signalled without a budget movement",
|
||||
"Consulta retains full sourcing read and no preparation/evaluation/proposal/confirmation",
|
||||
"No persistent identity has award-confirmation right; no award created",
|
||||
"Protected sourcing screen is accessible to all three existing profiles"
|
||||
],
|
||||
"confirmation_completed": false,
|
||||
"owner_decision_no_fourth_account": true,
|
||||
"visual_review": false,
|
||||
"checked_at": "2026-11-02T09:45:33.016Z"
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"passed": true,
|
||||
"identity": {
|
||||
"db": "sgf_modules_dev_2576427d1939",
|
||||
"role": "sgf_modules_qa_2576427d1939",
|
||||
"port": 55439,
|
||||
"cluster": "sgf_modular_regression_2576427d1939"
|
||||
},
|
||||
"scope": "1:1:1",
|
||||
"candidate": {
|
||||
"directory": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidates\/OPERATIONAL-CANDIDATE-040fb0cb67a77d61",
|
||||
"archive": {
|
||||
"file": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidate-archives\/OPERATIONAL-CANDIDATE-040fb0cb67a77d61.zip",
|
||||
"sha256": "dfb122bc4532ce730d500ddec0112fe4d93cb1197fa5aef21b576f4049e7312a",
|
||||
"manifest_sha256": "040fb0cb67a77d618011bc7ab365c53d3d4b1a787c4c0c0a2d54f315b3658e58"
|
||||
},
|
||||
"prior_manifest_sha256": "166e397e3ca63f02d3dc57651c8eecf50e1fc314410c78e05386b518d3a661de",
|
||||
"schema_extension": "sourcing revision 1; four ss_* tables and explicit catalogue extension",
|
||||
"real_activated": false
|
||||
},
|
||||
"protected_users_requisition_reservation_consumption_unchanged": true,
|
||||
"previous_grants_preserved": true,
|
||||
"new_grants": [
|
||||
{
|
||||
"id": 141,
|
||||
"user_id": 1,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_sourcing.prepare",
|
||||
"created_at": "2026-11-02 09:09:01",
|
||||
"updated_at": "2026-11-02 09:09:01"
|
||||
},
|
||||
{
|
||||
"id": 142,
|
||||
"user_id": 2,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_sourcing.evaluate",
|
||||
"created_at": "2026-11-02 09:09:01",
|
||||
"updated_at": "2026-11-02 09:09:01"
|
||||
},
|
||||
{
|
||||
"id": 143,
|
||||
"user_id": 2,
|
||||
"tenant_id": 1,
|
||||
"company_id": 1,
|
||||
"unit_id": 1,
|
||||
"permission": "purchasing_sourcing.propose",
|
||||
"created_at": "2026-11-02 09:09:01",
|
||||
"updated_at": "2026-11-02 09:09:01"
|
||||
}
|
||||
],
|
||||
"persistent_accounts_created": false,
|
||||
"proposals": 0,
|
||||
"confirmed": false,
|
||||
"suppliers_selected": 3,
|
||||
"quotations": 3,
|
||||
"pending": "Second eligible evaluator and independent confirmer absent; no account created by owner decision.",
|
||||
"backup_sha256": "cb9d55db5fee08cb36e3af4c962556b465be9e14071b5c3505c834d2ef4d7bcd",
|
||||
"recovery_directory": "C:\/laragon\/data\/sgf-tempo\/run\/modular-regression-2576427d1939\/private\/sourcing-recovery",
|
||||
"checked_at": "2026-11-02T09:54:58+00:00"
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"passed": true,
|
||||
"database": "sgf_sourcing_test_305bd6827f3d",
|
||||
"work": "C:/laragon/data/sgf-tempo/run/modular-regression-2576427d1939/private/sourcing-305bd6827f3d",
|
||||
"setup": {
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"Injected migration failure surfaced",
|
||||
"Migration failure rolls back tables and catalogue",
|
||||
"Additive migration accepted",
|
||||
"Migration replay is stable",
|
||||
"Schema-changing update refuses missing migration receipt",
|
||||
"Packaged migration CLI produces exact receipt without activation or grants"
|
||||
],
|
||||
"fixture_user_only_in_disposable_copy": true,
|
||||
"deployment": {
|
||||
"deployment_id": "7cf6250a6e8d87add3b096ff",
|
||||
"state": "applied",
|
||||
"restart_required": true,
|
||||
"maintenance_preserved": true,
|
||||
"configuration_changed": false,
|
||||
"activation_performed": false
|
||||
}
|
||||
},
|
||||
"http": {
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"Source request reused; three suppliers and quotes; consultation is read-only; context and direct access protected",
|
||||
"Concurrent identical commands return one committed version",
|
||||
"Concurrent distinct commands use compare-and-swap; stale version refused",
|
||||
"Proposal retry is idempotent",
|
||||
"Changed quote blocks stale confirmation and invalidates evaluations",
|
||||
"Revocation is effective for existing sessions, replay and qualified evaluations",
|
||||
"Injected failure after event rolls back state, event and receipt",
|
||||
"Concurrent confirmations produce one immutable independent award",
|
||||
"Independent confirmation references exact comparison and final state is immutable",
|
||||
"Accepted requisition read path remains intact",
|
||||
"Authenticated read-only screen and module script served through protected routes"
|
||||
],
|
||||
"request_id": 1,
|
||||
"confirmed_only_in_isolated_copy": true,
|
||||
"account_fixture_only_in_copy": true
|
||||
},
|
||||
"recovery": {
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"Origin request unchanged",
|
||||
"Origin budget unchanged",
|
||||
"Origin consumption unchanged",
|
||||
"Exactly one sourcing process",
|
||||
"One event per committed command",
|
||||
"Independent award confirmed in isolated copy",
|
||||
"Database rejects event tampering",
|
||||
"Code rollback preserves award data"
|
||||
],
|
||||
"code_recovery": {
|
||||
"deployment_id": "7cf6250a6e8d87add3b096ff",
|
||||
"state": "rolled-back",
|
||||
"restart_required": true,
|
||||
"maintenance_preserved": true,
|
||||
"data_schema_changed": false
|
||||
},
|
||||
"old_code_requires_schema_recovery": true,
|
||||
"data_schema_restore_verified": true,
|
||||
"pre_recovery_state_archived": true,
|
||||
"restored_requests_reservations_accounts_grants_match": true
|
||||
},
|
||||
"persistent_demo_unchanged": true,
|
||||
"synthetic_copy_only": true,
|
||||
"checked_at": "2026-11-02T09:08:34.188Z"
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"passed": true,
|
||||
"database": "sgf_sourcing_test_58750b506dff",
|
||||
"work": "C:/laragon/data/sgf-tempo/run/modular-regression-2576427d1939/private/sourcing-58750b506dff",
|
||||
"setup": {
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"Injected migration failure surfaced",
|
||||
"Migration failure rolls back tables and catalogue",
|
||||
"Additive migration accepted",
|
||||
"Migration replay is stable",
|
||||
"Schema-changing update refuses missing migration receipt",
|
||||
"Packaged migration CLI produces exact receipt without activation or grants"
|
||||
],
|
||||
"fixture_user_only_in_disposable_copy": true,
|
||||
"deployment": {
|
||||
"deployment_id": "040fb0cb67a77d618011bc7a",
|
||||
"state": "applied",
|
||||
"restart_required": true,
|
||||
"maintenance_preserved": true,
|
||||
"configuration_changed": false,
|
||||
"activation_performed": false
|
||||
}
|
||||
},
|
||||
"http": {
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"Source request reused; three suppliers and quotes; consultation is read-only; context and direct access protected",
|
||||
"Concurrent identical commands return one committed version",
|
||||
"Concurrent distinct commands use compare-and-swap; stale version refused",
|
||||
"Proposal retry is idempotent",
|
||||
"Changed quote blocks stale confirmation and invalidates evaluations",
|
||||
"Revocation is effective for existing sessions, replay and qualified evaluations",
|
||||
"Injected failure after event rolls back state, event and receipt",
|
||||
"Concurrent confirmations produce one immutable independent award",
|
||||
"Independent confirmation references exact comparison and final state is immutable",
|
||||
"Accepted requisition read path remains intact",
|
||||
"Authenticated read-only screen and module script served through protected routes"
|
||||
],
|
||||
"request_id": 1,
|
||||
"confirmed_only_in_isolated_copy": true,
|
||||
"account_fixture_only_in_copy": true
|
||||
},
|
||||
"recovery": {
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"Origin request unchanged",
|
||||
"Origin budget unchanged",
|
||||
"Origin consumption unchanged",
|
||||
"Exactly one sourcing process",
|
||||
"One event per committed command",
|
||||
"Independent award confirmed in isolated copy",
|
||||
"Database rejects event tampering",
|
||||
"Code rollback preserves award data"
|
||||
],
|
||||
"code_recovery": {
|
||||
"deployment_id": "040fb0cb67a77d618011bc7a",
|
||||
"state": "rolled-back",
|
||||
"restart_required": true,
|
||||
"maintenance_preserved": true,
|
||||
"data_schema_changed": false
|
||||
},
|
||||
"old_code_requires_schema_recovery": true,
|
||||
"data_schema_restore_verified": true,
|
||||
"pre_recovery_state_archived": true,
|
||||
"restored_requests_reservations_accounts_grants_match": true
|
||||
},
|
||||
"persistent_demo_unchanged": true,
|
||||
"synthetic_copy_only": true,
|
||||
"checked_at": "2026-11-02T09:39:55.200Z"
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"passed": true,
|
||||
"checks": [
|
||||
"portable review ZIP matches approved bundle and manifest",
|
||||
"sem proveni\u00eancia",
|
||||
"Transi\u00e7\u00e3o de schema",
|
||||
"plan binds update to active installation",
|
||||
"new version applied without source connection",
|
||||
"previous version preserved locally",
|
||||
"fora de ordem",
|
||||
"vers\u00e3o activa",
|
||||
"C\u00f3digo aplicado alterado",
|
||||
"Conte\u00fado extra",
|
||||
"rollback restores previous bundle exactly",
|
||||
"rollback restores active provenance",
|
||||
"new attempt preserves rolled-back journal",
|
||||
"Injected update switch failure",
|
||||
"interrupted transition recovers previous version",
|
||||
"reapply creates a separate audited attempt",
|
||||
"complete rollback restores original host composition",
|
||||
"native Laravel config route and event caches built",
|
||||
"version update invalidates previous native caches",
|
||||
"Injected cache compilation interruption",
|
||||
"partial native cache build is journalled under maintenance",
|
||||
"cache CLI recovers interrupted native compilation",
|
||||
"invalid partial config cache cannot block native recovery",
|
||||
"cached deployment remains in native maintenance",
|
||||
"cached module route survives restart and denies anonymous access",
|
||||
"Cache mudou ap\u00f3s compila\u00e7\u00e3o",
|
||||
"rollback invalidates registered rebuilt caches",
|
||||
"repeated rollback preserves previous-version rebuilt caches",
|
||||
"previous version restarts with native caches and maintenance",
|
||||
"restarted baseline exposes no removed module route",
|
||||
"baseline starts after cached deployment rollback",
|
||||
"destination remains untouched on 0.1.1"
|
||||
],
|
||||
"old_candidate": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidates\/OPERATIONAL-CANDIDATE-10dce6cd57fa1f31",
|
||||
"new_candidate": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidates\/OPERATIONAL-CANDIDATE-5fae7cf7f99c42ba",
|
||||
"archive": {
|
||||
"file": "C:\\laragon\\www\\compras\/storage\/app\/private\/candidate-archives\/OPERATIONAL-CANDIDATE-5fae7cf7f99c42ba.zip",
|
||||
"sha256": "d14a3261d5aaab80f96250af781c700ab53376021f4638e3aee43c15ff37ceed",
|
||||
"manifest_sha256": "b1ec47f7a9ad87e0b232bac41e402d4a00ee5f03f00a79b93effc692ce8b39a2"
|
||||
},
|
||||
"copies": [
|
||||
"C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-update-46398e665d32",
|
||||
"C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-update-21bc02db1fe2",
|
||||
"C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-update-d88b6daafc0a",
|
||||
"C:\\Users\\macbook\\AppData\\Local\\Temp\/sgf-update-schema-2df473386fc1"
|
||||
],
|
||||
"checked_at": "2026-11-02T06:32:56+00:00",
|
||||
"destination_version": "0.1.1",
|
||||
"destination_applied": false,
|
||||
"prior_suites_repeated": false,
|
||||
"actual_destination_services_touched": false,
|
||||
"native_caches_built": true,
|
||||
"isolated_server_restarts_verified": true
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"checked_at": "2026-11-01T16:29:30+00:00",
|
||||
"checked_at": "2026-11-02T06:24:01+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":12,\"passed\":12,\"assertions\":122,\"duration_ms\":6270}",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":24,\"passed\":24,\"assertions\":232,\"duration_ms\":20682}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_operation",
|
||||
@@ -12,6 +12,12 @@
|
||||
"scenario": "different_operations",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "automatic_purchase_activation_retry",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:40:19.981Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"result": "passed",
|
||||
"cursor_roundtrip": true,
|
||||
"limit_validated": true,
|
||||
"observed_first_page_items": 0,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:23:42+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":10,\"passed\":10,\"assertions\":83,\"duration_ms\":11967}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:25:08.1678651Z",
|
||||
"module": "standalone SGC warehouse fulfilment read interface",
|
||||
"endpoint": "/stock/integracao/entregas",
|
||||
"contract": "integrations/contracts/warehouse-fulfilment-v1.json",
|
||||
"regression": {
|
||||
"tests": 41,
|
||||
"assertions": 523,
|
||||
"result": "passed",
|
||||
"log": "storage/logs/warehouse-exchange-regression.txt"
|
||||
},
|
||||
"disposable_postgresql": {
|
||||
"tests": 10,
|
||||
"proof": "warehouse-exchange-pg.json",
|
||||
"assertions": 83,
|
||||
"result": "passed"
|
||||
},
|
||||
"http": "warehouse-exchange-http.json",
|
||||
"phpstan": "passed",
|
||||
"pint": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"contract_json_syntax": "passed",
|
||||
"external_schema_validator": false,
|
||||
"new_frontend_build": false,
|
||||
"full_suite_rerun": false,
|
||||
"visual_review": false,
|
||||
"persistent_business_or_access_changes": false,
|
||||
"new_migration": false,
|
||||
"sgf_installation_changed": false,
|
||||
"remote_connector_implemented": false
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T14:27:55.972Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"result": "passed",
|
||||
"transport": "native PHP cURL to existing QA session",
|
||||
"pages": 1,
|
||||
"received_facts": 0,
|
||||
"receiver_checkpoint_version": 1,
|
||||
"cursor_roundtrip": true,
|
||||
"unauthenticated_read_denied": true,
|
||||
"receiver": "disposable SQLite memory",
|
||||
"persistent_business_commands": false,
|
||||
"persistent_accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"credentials_recorded": false,
|
||||
"technical_credential_issued": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T14:26:48+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":44,\"passed\":44,\"assertions\":306,\"duration_ms\":15985}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_page",
|
||||
"real_lock_contention": true,
|
||||
"facts": 1,
|
||||
"checkpoint_version": 2,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_pages",
|
||||
"real_lock_contention": true,
|
||||
"facts": 1,
|
||||
"checkpoint_version": 2,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "process_exit_after_commit_before_acknowledgement",
|
||||
"result": "passed",
|
||||
"facts": 1,
|
||||
"checkpoint_version": 2
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T14:30:00.2561262Z",
|
||||
"module": "authenticated warehouse HTTP session client",
|
||||
"regression": {
|
||||
"result": "passed",
|
||||
"assertions": 746,
|
||||
"log": "storage/logs/warehouse-http-source-regression.txt",
|
||||
"tests": 75
|
||||
},
|
||||
"disposable_postgresql": {
|
||||
"real_lock_races": 2,
|
||||
"tests": 44,
|
||||
"process_exit_after_commit_recovered": true,
|
||||
"proof": "warehouse-http-source-pg.json",
|
||||
"result": "passed",
|
||||
"assertions": 306
|
||||
},
|
||||
"http": "warehouse-http-source-http.json",
|
||||
"phpstan": "passed",
|
||||
"pint": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"source_sha256": {
|
||||
"packages/integration/bootstrap.php": "ee68ac5052dd2c11ce7d81ee8c0b01d2ec3a9e6898ff129775a8f13dd38c70ed",
|
||||
"packages/integration/src/WarehouseHttpSource.php": "b56d71e82fe026914d569b6f90e12f06085337e4eeb6e1dc7ee4c51c1b3a3fe8",
|
||||
"packages/integration/src/WarehouseTransportFailure.php": "22b0cf2a00e550c8f0c78a5c9fb45d723a9f6a2f9db5e2fa08c9f7c0eae6fc8e",
|
||||
"packages/integration/src/WarehouseFeed.php": "7252e93168460964907038ea979e1932d605cb935be46d4f119e4f974d8e13fc",
|
||||
"packages/integration/src/WarehouseInbox.php": "5c45508ebb9050266aa8d8a5ee9119ce446fd1eecea71aa50bb354369637a034",
|
||||
"packages/integration/src/WarehousePull.php": "8dcf20c6464e9cb6da712eb1d9fba89dd8e82b6218cd41c71be1b33913a4f3e3"
|
||||
},
|
||||
"remote_session_transport_implemented": true,
|
||||
"permanent_technical_authentication_implemented": false,
|
||||
"host_configuration_ui_implemented": false,
|
||||
"host_business_projection_implemented": false,
|
||||
"persistent_receiver_schema_installed": false,
|
||||
"persistent_business_accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"commercial_tls_connection_tested": false,
|
||||
"full_suite_rerun": false,
|
||||
"frontend_build": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:40:43+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":25,\"passed\":25,\"assertions\":188,\"duration_ms\":17052}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_page",
|
||||
"real_lock_contention": true,
|
||||
"facts": 1,
|
||||
"checkpoint_version": 2,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_pages",
|
||||
"real_lock_contention": true,
|
||||
"facts": 1,
|
||||
"checkpoint_version": 2,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "process_exit_after_commit_before_acknowledgement",
|
||||
"result": "passed",
|
||||
"facts": 1,
|
||||
"checkpoint_version": 2
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:43:36.6891210Z",
|
||||
"module": "warehouse receiving journal and bounded pull",
|
||||
"regression": {
|
||||
"assertions": 628,
|
||||
"log": "storage/logs/warehouse-inbox-regression.txt",
|
||||
"tests": 56,
|
||||
"result": "passed"
|
||||
},
|
||||
"disposable_postgresql": {
|
||||
"real_lock_races": 2,
|
||||
"proof": "warehouse-inbox-pg.json",
|
||||
"assertions": 188,
|
||||
"process_exit_after_commit_recovered": true,
|
||||
"tests": 25,
|
||||
"result": "passed"
|
||||
},
|
||||
"http": "warehouse-exchange-http.json",
|
||||
"phpstan": "passed",
|
||||
"pint": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"source_sha256": {
|
||||
"packages/integration/bootstrap.php": "deb81b6651ba6e26d105dd7fe97935390a859d0265423d160834fdb4e98d06f5",
|
||||
"packages/integration/src/WarehouseFeed.php": "7252e93168460964907038ea979e1932d605cb935be46d4f119e4f974d8e13fc",
|
||||
"packages/integration/src/WarehouseInbox.php": "5c45508ebb9050266aa8d8a5ee9119ce446fd1eecea71aa50bb354369637a034",
|
||||
"packages/integration/src/WarehousePull.php": "8dcf20c6464e9cb6da712eb1d9fba89dd8e82b6218cd41c71be1b33913a4f3e3",
|
||||
"app/Services/WarehouseExchange.php": "422f6aa4c654f1f0e859e1983297291c9085c4e60236c2e576a630523d744be0"
|
||||
},
|
||||
"remote_transport_implemented": false,
|
||||
"host_business_projection_implemented": false,
|
||||
"persistent_receiver_schema_installed": false,
|
||||
"persistent_business_accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"full_suite_rerun": false,
|
||||
"frontend_build": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:00:27.791Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"component": "stock/pilot",
|
||||
"synthetic_evaluation": true,
|
||||
"registered_count": 12,
|
||||
"warehouse_scenario_ready": false,
|
||||
"replenishment_scenario_ready": false,
|
||||
"client_configuration_complete": false,
|
||||
"checks": [
|
||||
{
|
||||
"key": "installation",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"key": "participants",
|
||||
"ok": false
|
||||
},
|
||||
{
|
||||
"key": "catalogue",
|
||||
"ok": false
|
||||
},
|
||||
{
|
||||
"key": "replenishment",
|
||||
"ok": false
|
||||
},
|
||||
{
|
||||
"key": "scheduler",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"key": "administration",
|
||||
"ok": false
|
||||
},
|
||||
{
|
||||
"key": "recovery",
|
||||
"ok": true
|
||||
}
|
||||
],
|
||||
"accounts_or_grants_changed": false,
|
||||
"business_commands": false,
|
||||
"visual_browser_review": false
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T11:58:49+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":46,\"passed\":46,\"assertions\":659,\"duration_ms\":47975}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_operation",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_operations",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "automatic_purchase_activation_retry",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T12:02:47.6766865Z",
|
||||
"scope": "SGC standalone controlled synthetic pilot",
|
||||
"implemented": [
|
||||
"administrator read-only pilot diagnostics",
|
||||
"independence and cost-center checks",
|
||||
"current catalogue and automatic-rule source inspection",
|
||||
"shared resilient scheduler telemetry",
|
||||
"pending technical work is not hidden by a recent heartbeat",
|
||||
"integrated synthetic warehouse/replenishment-draft journey"
|
||||
],
|
||||
"regression": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 53,
|
||||
"passed": 53,
|
||||
"assertions": 705,
|
||||
"duration_ms": 17606
|
||||
},
|
||||
"final": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 8,
|
||||
"passed": 8,
|
||||
"assertions": 142,
|
||||
"duration_ms": 5102
|
||||
},
|
||||
"postgresql": {
|
||||
"checked_at": "2026-11-02T13:58:49+02:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":46,\"passed\":46,\"assertions\":659,\"duration_ms\":47975}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_operation",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_operations",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "automatic_purchase_activation_retry",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
},
|
||||
"http": {
|
||||
"checked_at": "2026-11-02T12:00:27.791Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"component": "stock/pilot",
|
||||
"synthetic_evaluation": true,
|
||||
"registered_count": 12,
|
||||
"warehouse_scenario_ready": false,
|
||||
"replenishment_scenario_ready": false,
|
||||
"client_configuration_complete": false,
|
||||
"checks": [
|
||||
{
|
||||
"key": "installation",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"key": "participants",
|
||||
"ok": false
|
||||
},
|
||||
{
|
||||
"key": "catalogue",
|
||||
"ok": false
|
||||
},
|
||||
{
|
||||
"key": "replenishment",
|
||||
"ok": false
|
||||
},
|
||||
{
|
||||
"key": "scheduler",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"key": "administration",
|
||||
"ok": false
|
||||
},
|
||||
{
|
||||
"key": "recovery",
|
||||
"ok": true
|
||||
}
|
||||
],
|
||||
"accounts_or_grants_changed": false,
|
||||
"business_commands": false,
|
||||
"visual_browser_review": false
|
||||
},
|
||||
"checks": {
|
||||
"types": "passed",
|
||||
"build": "passed",
|
||||
"common_runtime_sha256_files": 18,
|
||||
"formatting_and_lint": "passed",
|
||||
"scoped_php_analysis": "passed"
|
||||
},
|
||||
"journey": {
|
||||
"initial_usable_milli": 120000,
|
||||
"final_physical_milli": 103000,
|
||||
"automatic_drafts": 1,
|
||||
"requested_milli": 125000,
|
||||
"incoming_source": "pre-existing issued order, not automatic approval of the new draft",
|
||||
"last_delivery_milli": 25000,
|
||||
"remaining_reservation_milli": 0,
|
||||
"first_delivery_milli": 100000,
|
||||
"draft_quantity_milli": 108000,
|
||||
"automatic_approval_or_budget": false,
|
||||
"reservation_refill_milli": 5000,
|
||||
"warehouse_state": "closed",
|
||||
"internal_invoice_created": false,
|
||||
"incoming_receipt_milli": 108000,
|
||||
"purchase_state": "draft"
|
||||
},
|
||||
"synthetic_validation_only": true,
|
||||
"persistent_accounts_or_grants_changed": false,
|
||||
"new_migration": false,
|
||||
"sgf_real_changed": false,
|
||||
"real_persons_created": false,
|
||||
"full_visual_review": false,
|
||||
"historical_general_suite_rerun": false,
|
||||
"client_readiness_not_certified": true
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T06:29:42.3293983Z",
|
||||
"environment": "SGC local evaluation 8005",
|
||||
"functionality": [
|
||||
"physical reservation at independent authorization",
|
||||
"atomic reservation consumption and physical delivery",
|
||||
"authorized cancellation of outstanding balance",
|
||||
"protection in the common stock engine",
|
||||
"article and warehouse automatic purchase configuration",
|
||||
"independent activation without automatic financial approval",
|
||||
"source destination and equipment preserved",
|
||||
"pending need when configuration is missing or invalid",
|
||||
"replenishment coverage and duplicate prevention"
|
||||
],
|
||||
"full_suite": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 920,
|
||||
"passed": 918,
|
||||
"assertions": 9620,
|
||||
"duration_ms": 188408,
|
||||
"skipped": 2
|
||||
},
|
||||
"targeted_suite": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 24,
|
||||
"passed": 24,
|
||||
"assertions": 259,
|
||||
"duration_ms": 11151
|
||||
},
|
||||
"postgresql": {
|
||||
"checked_at": "2026-11-02T08:24:01+02:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":24,\"passed\":24,\"assertions\":232,\"duration_ms\":20682}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_operation",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_operations",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "automatic_purchase_activation_retry",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
},
|
||||
"installation_proof": "warehouse-reservations-install.json",
|
||||
"http_proof": "approval-routing-http.json",
|
||||
"verification": {
|
||||
"types": "passed",
|
||||
"build": "passed",
|
||||
"scoped_php_analysis": "passed",
|
||||
"common_runtime_files_sha256": 18,
|
||||
"formatting_and_lint": "passed",
|
||||
"screenshots": false
|
||||
},
|
||||
"existing_data_preserved": true,
|
||||
"accounts_or_grants_created": false,
|
||||
"invoice_created_for_internal_use": false,
|
||||
"automatic_submission_or_approval": false,
|
||||
"limitations": [
|
||||
"reservation refill after new stock requires explicit reviewer action",
|
||||
"no durable outbox recovery or scheduled time-only validity scan yet",
|
||||
"new equipment and services retain their dedicated workflows",
|
||||
"sales invoicing remains SGF composition",
|
||||
"manual purchases without authorized article and warehouse provenance are not inferred",
|
||||
"warehouse-specific workflow notices are a separate increment"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T06:15:55+00:00",
|
||||
"migration": "2026_11_02_000049_create_warehouse_reservations",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-supply-20261102-061551\/before.dump",
|
||||
"backup_sha256": "061bf1eee629dcc24c71cefc138b1a4dd25a26567090d5e9a155bd8e1fa33ba5",
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 109,
|
||||
"new_tables": {
|
||||
"warehouse_reservations": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T11:23:59.699Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"component": "stock/requests",
|
||||
"read_only_administrator": true,
|
||||
"task_views_enforce_permissions": true,
|
||||
"filters_and_pagination": true,
|
||||
"profile_tasks_present": true,
|
||||
"accounts_or_grants_changed": false,
|
||||
"business_commands": false,
|
||||
"visual_browser_review": false
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T11:19:30+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":38,\"passed\":38,\"assertions\":517,\"duration_ms\":42347}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_operation",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_operations",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "automatic_purchase_activation_retry",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T11:26:23.4111887Z",
|
||||
"scope": "SGC standalone / synthetic development",
|
||||
"implemented": [
|
||||
"permission-scoped live warehouse task views",
|
||||
"complete state counts and filters before pagination",
|
||||
"outstanding reservations and availability/source attention",
|
||||
"current eligible people without new grants",
|
||||
"unconfirmed receipt remains visible after balance cancellation",
|
||||
"read-only coherent PostgreSQL list and detail",
|
||||
"collapsed draft form without additional mandatory fields"
|
||||
],
|
||||
"regression": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 111,
|
||||
"passed": 111,
|
||||
"assertions": 1008,
|
||||
"duration_ms": 28991
|
||||
},
|
||||
"final_requests": {
|
||||
"tool": "pest",
|
||||
"result": "passed",
|
||||
"tests": 18,
|
||||
"passed": 18,
|
||||
"assertions": 326,
|
||||
"duration_ms": 6521
|
||||
},
|
||||
"postgresql": {
|
||||
"checked_at": "2026-11-02T13:19:30+02:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":38,\"passed\":38,\"assertions\":517,\"duration_ms\":42347}",
|
||||
"races": [
|
||||
{
|
||||
"scenario": "same_operation",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "different_operations",
|
||||
"real_lock_contention": true,
|
||||
"result": "passed"
|
||||
},
|
||||
{
|
||||
"scenario": "automatic_purchase_activation_retry",
|
||||
"real_lock_contention": true,
|
||||
"single_draft": true,
|
||||
"result": "passed"
|
||||
}
|
||||
],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
},
|
||||
"http": {
|
||||
"checked_at": "2026-11-02T11:23:59.699Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"component": "stock/requests",
|
||||
"read_only_administrator": true,
|
||||
"task_views_enforce_permissions": true,
|
||||
"filters_and_pagination": true,
|
||||
"profile_tasks_present": true,
|
||||
"accounts_or_grants_changed": false,
|
||||
"business_commands": false,
|
||||
"visual_browser_review": false
|
||||
},
|
||||
"verification": {
|
||||
"types": "passed",
|
||||
"common_runtime_sha256_files": 18,
|
||||
"formatting_and_lint": "passed",
|
||||
"scoped_php_analysis": "passed",
|
||||
"build": "passed"
|
||||
},
|
||||
"synthetic_tests_only": true,
|
||||
"persistent_accounts_or_grants_changed": false,
|
||||
"new_migration": false,
|
||||
"sgf_real_changed": false,
|
||||
"real_persons_created": false,
|
||||
"full_visual_review": false,
|
||||
"historical_full_suite_rerun": false,
|
||||
"limitations": [
|
||||
"live workdesk alerts; no external delivery or persisted unread notifications",
|
||||
"no inferred reservation expiry or allocation priority",
|
||||
"persistent evaluation accounts retain their existing explicit permissions"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T15:58:04.242Z",
|
||||
"environment": "http://127.0.0.1:8005",
|
||||
"routes": [
|
||||
{
|
||||
"area": "procurement",
|
||||
"result": "passed",
|
||||
"total": 0,
|
||||
"shown": 0
|
||||
},
|
||||
{
|
||||
"area": "people",
|
||||
"result": "passed",
|
||||
"total": 0,
|
||||
"shown": 0
|
||||
}
|
||||
],
|
||||
"existing_account_used": true,
|
||||
"business_commands": false,
|
||||
"accounts_or_grants_changed": false,
|
||||
"sgf_installation_changed": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T15:55:05+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"result": "{\"tool\":\"pest\",\"result\":\"passed\",\"tests\":15,\"passed\":15,\"assertions\":362,\"duration_ms\":76212}",
|
||||
"races": [],
|
||||
"persistent_data_changed": false,
|
||||
"database_removed_in_finally": true
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"checked_at": "2026-11-02T16:05:12.1783616Z",
|
||||
"scope": "internal SGC tasks by area and current authority",
|
||||
"regression": {
|
||||
"assertions": 925,
|
||||
"tests": 60,
|
||||
"log": "storage/logs/workflow-task-inbox-regression.txt",
|
||||
"result": "passed"
|
||||
},
|
||||
"disposable_postgresql": {
|
||||
"assertions": 362,
|
||||
"tests": 15,
|
||||
"proof": "workflow-task-inbox-pg.json",
|
||||
"result": "passed"
|
||||
},
|
||||
"new_tests": {
|
||||
"tests": 8,
|
||||
"assertions": 257
|
||||
},
|
||||
"http": "workflow-task-inbox-http.json",
|
||||
"source_sha256": {
|
||||
"app/Services/WorkflowTaskInbox.php": "05c2677fbc34d4bafaeff21fe05705c3752b4ab7895193f5990586cd516ad82c",
|
||||
"app/Http/Controllers/WorkflowTaskInboxController.php": "554bfda1eef003db64ae8e6f1ae57af2e31615cd4f8c29780733008e90cb0967",
|
||||
"resources/js/pages/workflow/tasks.tsx": "0ea91998ecb78809efc731135c14d302ddc7982be1119ef71a02bf80deb69674",
|
||||
"resources/js/pages/stock/request.tsx": "4c9d2e5854159e0e4a0022065cae76bdc5ad1ab683e4397ea920f5065372862c",
|
||||
"resources/js/lib/procurement-navigation.ts": "0aa7a29ae31dcfb9204325cae441e70c89c6422c52196e041fd1cda8422d0cbd"
|
||||
},
|
||||
"types": "passed",
|
||||
"phpstan": "passed",
|
||||
"frontend_lint": "passed",
|
||||
"frontend_build": "passed",
|
||||
"runtime_hashes": 18,
|
||||
"new_persistent_schema_accounts_grants_or_business_records": false,
|
||||
"new_workflow_engine": false,
|
||||
"external_notifications_sent": false,
|
||||
"sgf_installation_changed": false,
|
||||
"full_suite_rerun": false,
|
||||
"new_concurrency_races": false,
|
||||
"visual_review": false
|
||||
}
|
||||
Reference in New Issue
Block a user