Permitir consulta pública dos ecrãs reais com dados privados protegidos
tests / ci (push) Canceled after 0s

This commit is contained in:
2026-10-30 20:14:24 +02:00
parent c6373365bf
commit 2134aa084b
83 changed files with 3894 additions and 3127 deletions
+7 -7
View File
@@ -1,9 +1,9 @@
{
"checked_at": "2026-10-30T15:45:53+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"scenario": "draft tenant AI plan configuration and permission-scoped previews for procurement and people, no external requests",
"original_evaluation_untouched": true,
"database_removed": true
"checked_at": "2026-10-30T15:45:53+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"scenario": "draft tenant AI plan configuration and permission-scoped previews for procurement and people, no external requests",
"original_evaluation_untouched": true,
"database_removed": true
}
+69 -69
View File
@@ -1,71 +1,71 @@
{
"checked_at": "2026-10-30T15:48:55.811028+00:00",
"environment": "local evaluation 8005",
"scope": [
"tenant scoped draft provider model domain and fact-category plan",
"planned monthly budget request count and per-request payload/output limits",
"optimistic version reason and atomic audit",
"preserve local brief settings and AI plan during reciprocal changes",
"previews use authorised redacted facts with no people identities free notes bank data or source hashes",
"excluded domain empty scope financial privacy and oversized input handling"
],
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 90,
"passed": 90,
"assertions": 1469,
"duration_ms": 10623
},
"react_inertia_tests": 40,
"postgresql_integration": {
"tool": "phpunit",
"result": "passed",
"tests": 1,
"passed": 1,
"assertions": 147,
"duration_ms": 3367
},
"postgresql_proof": "ai-plan-pg.json",
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"http_proof": "menu-links.json",
"runtime_sha256_files": 18,
"accepted_full_suite_reused": "people-clarifications.json",
"migrations_applied": false,
"schema_changed": false,
"business_records_changed": false,
"tenant_plan_choices_automatically_created": false,
"accounts_or_grants_changed": false,
"external_AI_calls_this_increment": 0,
"live_execution_enabled": false,
"consumption_ledger_or_budget_reservation_implemented": false,
"model_compatibility_verified_by_saving_plan": false,
"prior_authorised_synthetic_generation_repeated": false,
"visual_review": false,
"domain_installed": false,
"source_sha256": {
"app/Services/AiPreparationPlan.php": "3c6345376b3444f561207f1c8c781da214e87609f97d20255cdd79c419a406a9",
"app/Services/IntelligencePolicy.php": "07956aa32f585d00a1c9c4414c2baec9e037e243ff23e305aa4b70cf1ace7d95",
"app/Services/OrganizationConfiguration.php": "bbeae0c4bafad412830cd902842b4bf56158d9d004f8203825436954185cd793",
"app/Models/Tenant.php": "c503893033342a32f02dd89175b785af08a1061da2d5b9cb2d7bb45a1ff30f66",
"app/Http/Controllers/OrganizationConfigurationController.php": "3ce1931f6b793626a2faaa84a1f9be5f589c8cdd5e6dc2fa5730e72c095b3103",
"app/Http/Controllers/ProcurementReviewReportController.php": "a78ed469ed5e914d47a4afa2fcbd64afce9177aff80d59418b90c7bfc41f89ad",
"app/Http/Controllers/PeopleHiringController.php": "ef449c2f1e67454615ff8454d188590b6acac7966f61b6b697887b8d44b112f4",
"resources/js/components/ai-plan-settings.tsx": "d06682971acb274376e0986bf00bfd63fde2a7a72f75e90aca4fd2fedbee7621",
"resources/js/components/ai-preparation-preview.tsx": "0ba01e2f641a52baf8fbb9b52a1342c86289e6eb9946a3b7b4a71c970ff256be",
"resources/js/pages/company/parameters.tsx": "aa9f1f475961dc176f378f5851efbdaf43a0007f0cd233adaffdfb8d40906fdb",
"resources/js/pages/purchases/review-report.tsx": "2b1066bb2be52c945f58c143f48417754d4ad8772f04579a23c9fdef150a28ad",
"resources/js/pages/people/show.tsx": "10c59a01033094543458b00771faff70249994dc539fdeacd1eb786e561526f7",
"tests/Feature/OrganizationConfigurationTest.php": "4bfe5bfe83042c3285ebf5c0e2aa731e9cd02eaf73b1b8774bd2684d80ef71da",
"tests/Feature/AiPreparationTest.php": "cf84282b2e879a6d0eb9605d052de070ddf8b45ede07a969bd03d3155d796254",
"tests/Feature/PeopleHiringTest.php": "35f444dddaad5e2702c055ef8b02afbc757de2d6a58eb997b06d413f5bf82691",
"tests/Support/AiPlanFixture.php": "af62e4b7f46d5ceab5cfbfaadcc85a53d42db1c4e71da7b30427f02fd6deea74",
"tests/frontend/ai-plan.test.tsx": "14e6dac9e49ca7b6434f177e5456533275268a8f9f745b2c000b22376a9e1573",
"routes/web.php": "38fdd89d976f9b82369aef440cf64ef384a584bdaeb519c0ec24741a296f6868",
"docs/plano-ia.md": "aa1ce1186b2b6077b52d7ed7b749250bb7f013a059e4b9f652b0d989c67ee7f3"
}
"checked_at": "2026-10-30T15:48:55.811028+00:00",
"environment": "local evaluation 8005",
"scope": [
"tenant scoped draft provider model domain and fact-category plan",
"planned monthly budget request count and per-request payload/output limits",
"optimistic version reason and atomic audit",
"preserve local brief settings and AI plan during reciprocal changes",
"previews use authorised redacted facts with no people identities free notes bank data or source hashes",
"excluded domain empty scope financial privacy and oversized input handling"
],
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 90,
"passed": 90,
"assertions": 1469,
"duration_ms": 10623
},
"react_inertia_tests": 40,
"postgresql_integration": {
"tool": "phpunit",
"result": "passed",
"tests": 1,
"passed": 1,
"assertions": 147,
"duration_ms": 3367
},
"postgresql_proof": "ai-plan-pg.json",
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"http_proof": "menu-links.json",
"runtime_sha256_files": 18,
"accepted_full_suite_reused": "people-clarifications.json",
"migrations_applied": false,
"schema_changed": false,
"business_records_changed": false,
"tenant_plan_choices_automatically_created": false,
"accounts_or_grants_changed": false,
"external_AI_calls_this_increment": 0,
"live_execution_enabled": false,
"consumption_ledger_or_budget_reservation_implemented": false,
"model_compatibility_verified_by_saving_plan": false,
"prior_authorised_synthetic_generation_repeated": false,
"visual_review": false,
"domain_installed": false,
"source_sha256": {
"app/Services/AiPreparationPlan.php": "3c6345376b3444f561207f1c8c781da214e87609f97d20255cdd79c419a406a9",
"app/Services/IntelligencePolicy.php": "07956aa32f585d00a1c9c4414c2baec9e037e243ff23e305aa4b70cf1ace7d95",
"app/Services/OrganizationConfiguration.php": "bbeae0c4bafad412830cd902842b4bf56158d9d004f8203825436954185cd793",
"app/Models/Tenant.php": "c503893033342a32f02dd89175b785af08a1061da2d5b9cb2d7bb45a1ff30f66",
"app/Http/Controllers/OrganizationConfigurationController.php": "3ce1931f6b793626a2faaa84a1f9be5f589c8cdd5e6dc2fa5730e72c095b3103",
"app/Http/Controllers/ProcurementReviewReportController.php": "a78ed469ed5e914d47a4afa2fcbd64afce9177aff80d59418b90c7bfc41f89ad",
"app/Http/Controllers/PeopleHiringController.php": "ef449c2f1e67454615ff8454d188590b6acac7966f61b6b697887b8d44b112f4",
"resources/js/components/ai-plan-settings.tsx": "d06682971acb274376e0986bf00bfd63fde2a7a72f75e90aca4fd2fedbee7621",
"resources/js/components/ai-preparation-preview.tsx": "0ba01e2f641a52baf8fbb9b52a1342c86289e6eb9946a3b7b4a71c970ff256be",
"resources/js/pages/company/parameters.tsx": "aa9f1f475961dc176f378f5851efbdaf43a0007f0cd233adaffdfb8d40906fdb",
"resources/js/pages/purchases/review-report.tsx": "2b1066bb2be52c945f58c143f48417754d4ad8772f04579a23c9fdef150a28ad",
"resources/js/pages/people/show.tsx": "10c59a01033094543458b00771faff70249994dc539fdeacd1eb786e561526f7",
"tests/Feature/OrganizationConfigurationTest.php": "4bfe5bfe83042c3285ebf5c0e2aa731e9cd02eaf73b1b8774bd2684d80ef71da",
"tests/Feature/AiPreparationTest.php": "cf84282b2e879a6d0eb9605d052de070ddf8b45ede07a969bd03d3155d796254",
"tests/Feature/PeopleHiringTest.php": "35f444dddaad5e2702c055ef8b02afbc757de2d6a58eb997b06d413f5bf82691",
"tests/Support/AiPlanFixture.php": "af62e4b7f46d5ceab5cfbfaadcc85a53d42db1c4e71da7b30427f02fd6deea74",
"tests/frontend/ai-plan.test.tsx": "14e6dac9e49ca7b6434f177e5456533275268a8f9f745b2c000b22376a9e1573",
"routes/web.php": "38fdd89d976f9b82369aef440cf64ef384a584bdaeb519c0ec24741a296f6868",
"docs/plano-ia.md": "aa1ce1186b2b6077b52d7ed7b749250bb7f013a059e4b9f652b0d989c67ee7f3"
}
}
+16 -16
View File
@@ -1,18 +1,18 @@
{
"checked_at": "2026-10-30T15:08:33.102627+00:00",
"authorisation": "granted by owner after cost estimate",
"authorised_live_calls": 1,
"live_calls_executed": 1,
"destination": "https://api.openai.com/v1/responses",
"model": "gpt-5.6-terra",
"data_scope": "three built-in synthetic facts only",
"max_output_tokens": 1000,
"credential_presence_checked_without_value_output": true,
"dedicated_credential_configured": false,
"standard_openai_credential_available": false,
"rehearsal_enabled": false,
"execution_status": "completed: one successful synthetic generation, see ai-rehearsal-live.json",
"new_authorisation_required_for_same_call": false,
"successful_generations": 1,
"live_call_count_definition": "successful generation; transport and authentication failures separately recorded in ai-rehearsal-live.json"
"checked_at": "2026-10-30T15:08:33.102627+00:00",
"authorisation": "granted by owner after cost estimate",
"authorised_live_calls": 1,
"live_calls_executed": 1,
"destination": "https://api.openai.com/v1/responses",
"model": "gpt-5.6-terra",
"data_scope": "three built-in synthetic facts only",
"max_output_tokens": 1000,
"credential_presence_checked_without_value_output": true,
"dedicated_credential_configured": false,
"standard_openai_credential_available": false,
"rehearsal_enabled": false,
"execution_status": "completed: one successful synthetic generation, see ai-rehearsal-live.json",
"new_authorisation_required_for_same_call": false,
"successful_generations": 1,
"live_call_count_definition": "successful generation; transport and authentication failures separately recorded in ai-rehearsal-live.json"
}
+62 -62
View File
@@ -1,64 +1,64 @@
{
"checked_at": "2026-10-30T15:37:00+00:00",
"authorisation": "owner authorised one synthetic paid call",
"attempts": 3,
"destination": "https://api.openai.com/v1/responses",
"model": "gpt-5.6-terra",
"max_output_tokens": 1000,
"real_business_data_sent": false,
"status": "completed",
"automatic_retry": false,
"prior_transport_failure": {
"php_curl_errno": 60,
"diagnosis": "local issuer certificate unavailable before HTTPS establishment"
},
"tls_verification_disabled": false,
"trust_source": "Windows trusted root certificate stores; process-only CA configuration",
"prior_rejected_request": {
"http_status": 401,
"code": "invalid_api_key",
"local_cause": "duplicated setting and embedded assignment normalised without exposing key"
},
"http_status": 200,
"usage": {
"input_tokens": 204,
"output_tokens": 81,
"total_tokens": 285
},
"result_sha256": "d3412a0c4f7e34bfef51be924903c21e8724813e8cb7500a923a55fb0a96ebce",
"assessment": {
"method": "synthetic_ai_assessment_v1",
"facts": 3,
"claims": 3,
"cited_facts": 3,
"uncited_fact_ids": [],
"citation_coverage_complete": true,
"exact_source_text_matches": 1,
"requires_human_review": true,
"semantic_accuracy": "not_automatically_verified"
},
"reviewed_at": "2026-10-30T15:37:34.123863+00:00",
"human_content_review": {
"three_source_facts_preserved": true,
"invented_approval": false,
"invented_order": false,
"invented_delivery_or_payment": false,
"synthetic_scenario_accepted": true,
"general_model_quality_certified": false
},
"attempt_outcomes": [
"TLS trust failure before HTTPS establishment",
"HTTP 401 for malformed local credential setting",
"HTTP 200 completed after local corrections"
],
"successful_generations": 1,
"estimated_text_cost_usd": "0.001380",
"cost_basis": {
"input_tokens": 204,
"output_tokens": 81,
"input_usd_per_million": "2.00",
"output_usd_per_million": "12.00",
"billing_balance_or_credit_deduction_verified": false
},
"real_document_processing_enabled": false
"checked_at": "2026-10-30T15:37:00+00:00",
"authorisation": "owner authorised one synthetic paid call",
"attempts": 3,
"destination": "https://api.openai.com/v1/responses",
"model": "gpt-5.6-terra",
"max_output_tokens": 1000,
"real_business_data_sent": false,
"status": "completed",
"automatic_retry": false,
"prior_transport_failure": {
"php_curl_errno": 60,
"diagnosis": "local issuer certificate unavailable before HTTPS establishment"
},
"tls_verification_disabled": false,
"trust_source": "Windows trusted root certificate stores; process-only CA configuration",
"prior_rejected_request": {
"http_status": 401,
"code": "invalid_api_key",
"local_cause": "duplicated setting and embedded assignment normalised without exposing key"
},
"http_status": 200,
"usage": {
"input_tokens": 204,
"output_tokens": 81,
"total_tokens": 285
},
"result_sha256": "d3412a0c4f7e34bfef51be924903c21e8724813e8cb7500a923a55fb0a96ebce",
"assessment": {
"method": "synthetic_ai_assessment_v1",
"facts": 3,
"claims": 3,
"cited_facts": 3,
"uncited_fact_ids": [],
"citation_coverage_complete": true,
"exact_source_text_matches": 1,
"requires_human_review": true,
"semantic_accuracy": "not_automatically_verified"
},
"reviewed_at": "2026-10-30T15:37:34.123863+00:00",
"human_content_review": {
"three_source_facts_preserved": true,
"invented_approval": false,
"invented_order": false,
"invented_delivery_or_payment": false,
"synthetic_scenario_accepted": true,
"general_model_quality_certified": false
},
"attempt_outcomes": [
"TLS trust failure before HTTPS establishment",
"HTTP 401 for malformed local credential setting",
"HTTP 200 completed after local corrections"
],
"successful_generations": 1,
"estimated_text_cost_usd": "0.001380",
"cost_basis": {
"input_tokens": 204,
"output_tokens": 81,
"input_usd_per_million": "2.00",
"output_usd_per_million": "12.00",
"billing_balance_or_credit_deduction_verified": false
},
"real_document_processing_enabled": false
}
+35 -35
View File
@@ -1,37 +1,37 @@
{
"checked_at": "2026-10-30T14:55:29.383515+00:00",
"scope": "synthetic-only OpenAI Responses rehearsal, no web or business integration",
"tests": {
"tool": "pest",
"result": "passed",
"tests": 15,
"passed": 15,
"assertions": 41,
"duration_ms": 1041
},
"phpstan_errors": 0,
"pint": "passed",
"preview_executed": true,
"live_external_calls": 0,
"model": "gpt-5.6-terra",
"maximum_request_bytes": 4500,
"maximum_output_tokens": 1000,
"automatic_retries": 0,
"HTTP_redirects": false,
"server_credentials_changed": false,
"real_data_allowed": false,
"factual_accuracy_automatically_verified": false,
"live_authorisation": "pending",
"review_document": "../ensaio-ia.md",
"official_docs": [
"https://developers.openai.com/api/docs/guides/structured-outputs",
"https://developers.openai.com/api/docs/models/gpt-5.6-terra"
],
"source_sha256": {
"app/Services/SyntheticAiRehearsal.php": "96dee8e663b7b211f8b3be0b9c98ded1745a1019457dced413de62d265c35d41",
"app/Console/Commands/SgcAiRehearsal.php": "3003a8bcdd1cea5bc53dc4071ea22c970f59e802fe0deeb42abed7d963f5d1e7",
"config/sgc_intelligence.php": "ac385a06fd4c5a7421fa7ebc45185e81db790b17a5ef45cce469e769787587da",
"tests/Feature/SyntheticAiRehearsalTest.php": "ae03beda519ae06b175b0ad0a63848af831689153387aef5f1adc9d5105874f2",
"docs/ensaio-ia.md": "a1bef675b436f63b2f8ff434c73daeea53efc5a01b1374a53b8f0512e0a97b50"
}
"checked_at": "2026-10-30T14:55:29.383515+00:00",
"scope": "synthetic-only OpenAI Responses rehearsal, no web or business integration",
"tests": {
"tool": "pest",
"result": "passed",
"tests": 15,
"passed": 15,
"assertions": 41,
"duration_ms": 1041
},
"phpstan_errors": 0,
"pint": "passed",
"preview_executed": true,
"live_external_calls": 0,
"model": "gpt-5.6-terra",
"maximum_request_bytes": 4500,
"maximum_output_tokens": 1000,
"automatic_retries": 0,
"HTTP_redirects": false,
"server_credentials_changed": false,
"real_data_allowed": false,
"factual_accuracy_automatically_verified": false,
"live_authorisation": "pending",
"review_document": "../ensaio-ia.md",
"official_docs": [
"https://developers.openai.com/api/docs/guides/structured-outputs",
"https://developers.openai.com/api/docs/models/gpt-5.6-terra"
],
"source_sha256": {
"app/Services/SyntheticAiRehearsal.php": "96dee8e663b7b211f8b3be0b9c98ded1745a1019457dced413de62d265c35d41",
"app/Console/Commands/SgcAiRehearsal.php": "3003a8bcdd1cea5bc53dc4071ea22c970f59e802fe0deeb42abed7d963f5d1e7",
"config/sgc_intelligence.php": "ac385a06fd4c5a7421fa7ebc45185e81db790b17a5ef45cce469e769787587da",
"tests/Feature/SyntheticAiRehearsalTest.php": "ae03beda519ae06b175b0ad0a63848af831689153387aef5f1adc9d5105874f2",
"docs/ensaio-ia.md": "a1bef675b436f63b2f8ff434c73daeea53efc5a01b1374a53b8f0512e0a97b50"
}
}
+6 -6
View File
@@ -1,8 +1,8 @@
{
"checked_at": "2026-10-30T17:04:03.991Z",
"administration": 200,
"unconfigured_public_portal": 404,
"staff_session_does_not_authenticate_candidate": true,
"registration_open": false,
"accounts_created": 0
"checked_at": "2026-10-30T17:04:03.991Z",
"administration": 200,
"unconfigured_public_portal": 404,
"staff_session_does_not_authenticate_candidate": true,
"registration_open": false,
"accounts_created": 0
}
+61 -61
View File
@@ -1,63 +1,63 @@
{
"checked_at": "2026-10-30T17:04:58.049470+00:00",
"scope": [
"separate candidate authentication scoped by company",
"explicit portal registration policy and versioned notice acknowledgment",
"immutable own profile revisions including province district locality",
"no staff or cross-account access",
"atomic profile and audit rollback",
"login and logout history clearing"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 715,
"passed": 713,
"assertions": 6985,
"duration_ms": 149158,
"skipped": 2
},
"candidate_tests": 5,
"candidate_assertions": 81,
"disposable_postgresql_tests": 47,
"disposable_postgresql_assertions": 1163,
"react_inertia_tests": 52,
"phpstan_errors": 0,
"typescript": "passed",
"pint": "passed",
"targeted_lint": "passed",
"build_exit": 0,
"menu_entries_across_six_roles": 111,
"runtime_sha256_files": 18,
"postgresql_proof": "candidate-portal-pg.json",
"installation_proof": "candidate-portal-install.json",
"http_proof": "candidate-portal-http.json",
"visual_review": false,
"domain_installed": false,
"registration_open_in_evaluation": false,
"candidate_accounts_created_in_evaluation": 0,
"external_AI_calls": 0,
"emails_sent": 0,
"outstanding": [
"email/identity verification",
"password recovery",
"submission to opportunities and frozen profile documents",
"attachment security verification",
"triage complements revisions",
"retention deletion and privacy policy configuration before public use"
],
"source_sha256": {
"database/migrations/2026_10_30_000037_create_candidate_profiles.php": "159648252836af068226978666d8eb11148ed6890cba2082b0d5c8b415365e97",
"app/Models/CandidateAccount.php": "ab30a14616554bbe7d5ec0dec2347582754f846c0a4ade5455cfa095d73e4bec",
"app/Services/CandidateProfiles.php": "54e1e95e10c9004fef69fbdd14b54f85d617f3296cc27a7aba2f1f51552f2cad",
"app/Http/Controllers/CandidatePortalController.php": "9ff56978b43c4a2401c02ca3f7f2a95c7f3a550009b3385c682dafcecd6f2615",
"config/auth.php": "e3fd9d4244bc9dd92b6e8d76dc2e5163834ef21b4b9df7dd04f1015d82d32ba6",
"app/Http/Middleware/HandleInertiaRequests.php": "8db70b1500d683f1df3b7a26ce019c72b5c917ab51b020fdec59700100d588ed",
"resources/js/app.tsx": "5669117aa4b607b1d6c3b1f51af8b18650c80c75a5eb697ff7f89a3146c851a9",
"resources/js/pages/candidate/entry.tsx": "90b178c84d4a20ff4a1a8624f317d36eeb02ef017647fe524da03aee28a86e79",
"resources/js/pages/candidate/profile.tsx": "6a51689bc0bbe63255467c5c454593707c08bfd0e3867e59b50259eb20d1a306",
"resources/js/pages/company/candidate-portal.tsx": "07882a3695897d7cc184c1b09c7c616b76c362556e75f8e82d292925a5da9c09",
"tests/Feature/CandidatePortalTest.php": "b603113232db600105462577022da5018b76b8e852a50128e0bceb65e3e3e5b1",
"tests/frontend/candidate-portal.test.tsx": "81f3199e33bb46f16c8f73f2b641c1d9778579c12cd1f4f2d33e727f11d241af"
}
"checked_at": "2026-10-30T17:04:58.049470+00:00",
"scope": [
"separate candidate authentication scoped by company",
"explicit portal registration policy and versioned notice acknowledgment",
"immutable own profile revisions including province district locality",
"no staff or cross-account access",
"atomic profile and audit rollback",
"login and logout history clearing"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 715,
"passed": 713,
"assertions": 6985,
"duration_ms": 149158,
"skipped": 2
},
"candidate_tests": 5,
"candidate_assertions": 81,
"disposable_postgresql_tests": 47,
"disposable_postgresql_assertions": 1163,
"react_inertia_tests": 52,
"phpstan_errors": 0,
"typescript": "passed",
"pint": "passed",
"targeted_lint": "passed",
"build_exit": 0,
"menu_entries_across_six_roles": 111,
"runtime_sha256_files": 18,
"postgresql_proof": "candidate-portal-pg.json",
"installation_proof": "candidate-portal-install.json",
"http_proof": "candidate-portal-http.json",
"visual_review": false,
"domain_installed": false,
"registration_open_in_evaluation": false,
"candidate_accounts_created_in_evaluation": 0,
"external_AI_calls": 0,
"emails_sent": 0,
"outstanding": [
"email/identity verification",
"password recovery",
"submission to opportunities and frozen profile documents",
"attachment security verification",
"triage complements revisions",
"retention deletion and privacy policy configuration before public use"
],
"source_sha256": {
"database/migrations/2026_10_30_000037_create_candidate_profiles.php": "159648252836af068226978666d8eb11148ed6890cba2082b0d5c8b415365e97",
"app/Models/CandidateAccount.php": "ab30a14616554bbe7d5ec0dec2347582754f846c0a4ade5455cfa095d73e4bec",
"app/Services/CandidateProfiles.php": "54e1e95e10c9004fef69fbdd14b54f85d617f3296cc27a7aba2f1f51552f2cad",
"app/Http/Controllers/CandidatePortalController.php": "9ff56978b43c4a2401c02ca3f7f2a95c7f3a550009b3385c682dafcecd6f2615",
"config/auth.php": "e3fd9d4244bc9dd92b6e8d76dc2e5163834ef21b4b9df7dd04f1015d82d32ba6",
"app/Http/Middleware/HandleInertiaRequests.php": "8db70b1500d683f1df3b7a26ce019c72b5c917ab51b020fdec59700100d588ed",
"resources/js/app.tsx": "5669117aa4b607b1d6c3b1f51af8b18650c80c75a5eb697ff7f89a3146c851a9",
"resources/js/pages/candidate/entry.tsx": "90b178c84d4a20ff4a1a8624f317d36eeb02ef017647fe524da03aee28a86e79",
"resources/js/pages/candidate/profile.tsx": "6a51689bc0bbe63255467c5c454593707c08bfd0e3867e59b50259eb20d1a306",
"resources/js/pages/company/candidate-portal.tsx": "07882a3695897d7cc184c1b09c7c616b76c362556e75f8e82d292925a5da9c09",
"tests/Feature/CandidatePortalTest.php": "b603113232db600105462577022da5018b76b8e852a50128e0bceb65e3e3e5b1",
"tests/frontend/candidate-portal.test.tsx": "81f3199e33bb46f16c8f73f2b641c1d9778579c12cd1f4f2d33e727f11d241af"
}
}
+8 -8
View File
@@ -1,10 +1,10 @@
{
"checked_at": "2026-10-30T17:15:17.008Z",
"administration": 200,
"unconfigured_recovery": 404,
"unauthenticated_opportunity": 401,
"unauthenticated_receipt": 401,
"registration_open": false,
"candidates_created": 0,
"email_transport_available": false
"checked_at": "2026-10-30T17:15:17.008Z",
"administration": 200,
"unconfigured_recovery": 404,
"unauthenticated_opportunity": 401,
"unauthenticated_receipt": 401,
"registration_open": false,
"candidates_created": 0,
"email_transport_available": false
}
+13 -13
View File
@@ -1,15 +1,15 @@
{
"checked_at": "2026-10-30T17:19:13+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"CandidateAccessTest",
"CandidatePortalTest",
"CandidateSubmissionsTest"
],
"original_evaluation_untouched": true,
"database_removed": true,
"tests": 14,
"assertions": 161
"checked_at": "2026-10-30T17:19:13+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"CandidateAccessTest",
"CandidatePortalTest",
"CandidateSubmissionsTest"
],
"original_evaluation_untouched": true,
"database_removed": true,
"tests": 14,
"assertions": 161
}
+72 -72
View File
@@ -1,74 +1,74 @@
{
"checked_at": "2026-10-30T17:19:44.183589+00:00",
"scope": [
"single-use hashed email verification and recovery tokens",
"no secret links in mail log transports or request query strings",
"candidate session revocation on password reset",
"explicit publication by assigned process preparer",
"verified own-account data-only submission with frozen profile form and answers",
"idempotent receipt and own account access",
"internal received inbox separated from assessment",
"mandatory-file opportunities rejected until attachment intake exists"
],
"module_tests": 14,
"module_assertions": 161,
"postgresql_tests": 14,
"postgresql_assertions": 161,
"react_inertia_tests": 56,
"typescript": "passed",
"phpstan_errors": 0,
"pint": "passed",
"targeted_lint": "passed",
"build_exit": 0,
"mail_template_render_without_delivery": "passed",
"menu_entries_across_six_roles": 111,
"runtime_sha256_files": 18,
"installation_proof": "candidate-submissions-install.json",
"postgresql_proof": "candidate-submissions-pg.json",
"http_proof": "candidate-submissions-http.json",
"visual_review": false,
"domain_installed": false,
"emails_sent": 0,
"external_AI_calls": 0,
"candidate_accounts_created_in_evaluation": 0,
"portals_or_opportunities_activated": 0,
"outstanding": [
"secure attachment intake storage and verification",
"triage and controlled reuse into internal assessment",
"complements corrections and revisions",
"spontaneous submissions and supplier intake",
"configured mail transport and real delivery rehearsal",
"privacy retention deletion policies and public visual acceptance"
],
"source_sha256": {
"database/migrations/2026_10_30_000038_create_candidate_access_tokens.php": "a461cd157d23c00f0c54dccd8b739e0efe6803d3d3495253a86477972c25b0cb",
"database/migrations/2026_10_30_000039_create_candidate_submissions.php": "7901cf6b7dd31e4753ff92ca791f436ee13732eec7faa197b1ef829ba5cc4b7a",
"app/Services/CandidateAccess.php": "d63452a1148911fa4bf8e5cb0e2d5c0d68e4d6d4b7c2f9371a4a4ecf85d59a86",
"app/Services/CandidateSubmissions.php": "33114852f9c4444675206876662ad28b3846a72b8ded1d03c6f0e074118b8fa2",
"app/Services/CandidateProfiles.php": "0bfaa3602261e897b940a63e302bf4c2655c6dd2d8aa8bdd02bd350e3d39081f",
"app/Http/Controllers/CandidatePortalController.php": "13477331e1f0a270300143f1465e6493a9e52e20944fb542a0241d66e81ae588",
"app/Models/CandidateAccount.php": "8fc2fc485ad1bb2ccc27a971dbd9417bec7263bf5c51d170f45629bfec8e5d86",
"app/Mail/CandidateAccessLink.php": "67a9c556646114af96857537e2a60836d4eaa3b5243dbb8493071562fc1cfcbd",
"resources/views/mail/candidate-access.blade.php": "81eefd72fb05d2272a05fe9c9479a0652140c06d91dbc6e1694770109046abff",
"bootstrap/app.php": "a57fa8ea590c68d1007e1457611c95cf8b52576bfd8e5cdd7af2389ed18384f6",
"routes/web.php": "3d9b9755e1387eae89285b3ba3f4ad78730b69df9756853f063aa4e98fe20c7f",
"resources/js/pages/candidate/access.tsx": "4a0b92b6903d659a429db7dafaf25acccfee3c48a151a588e352d2b34eb18142",
"resources/js/pages/candidate/opportunity.tsx": "4da4db3e1f02138a73e4399aaf50eca969e53b02a004818165891cb24457239b",
"resources/js/pages/candidate/receipt.tsx": "59dd13beed2df74481740afabc4e78637ab8f6c244d3873eaafdd9b661c57392",
"resources/js/pages/candidate/profile.tsx": "39ae2da3182bf9fac69bdf88b69a376de3aa0750e659d9a05721070e2e207798",
"resources/js/pages/people/submissions.tsx": "9f79cbcda18154b685429f10c9bc31b49765ef0c1c93b1a19e4b001a7074eb43",
"tests/Feature/CandidateAccessTest.php": "7c953d2a633e3cc71d5d8ad0a97432a4056a01c2985ead0cc5743f368166b490",
"tests/Feature/CandidateSubmissionsTest.php": "7862130e921864e74469a364a19aa631635595598324133491fbcbffa419e0e7",
"tests/frontend/candidate-submissions.test.tsx": "4857543a847754fed542cb7ec32a961e94cb7fd287a5c67627d0cb17b7520ace"
},
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 724,
"passed": 722,
"assertions": 7063,
"duration_ms": 146678,
"skipped": 2
},
"full_suite_reused_with_latest_permission_regression_retested_in_module": true
"checked_at": "2026-10-30T17:19:44.183589+00:00",
"scope": [
"single-use hashed email verification and recovery tokens",
"no secret links in mail log transports or request query strings",
"candidate session revocation on password reset",
"explicit publication by assigned process preparer",
"verified own-account data-only submission with frozen profile form and answers",
"idempotent receipt and own account access",
"internal received inbox separated from assessment",
"mandatory-file opportunities rejected until attachment intake exists"
],
"module_tests": 14,
"module_assertions": 161,
"postgresql_tests": 14,
"postgresql_assertions": 161,
"react_inertia_tests": 56,
"typescript": "passed",
"phpstan_errors": 0,
"pint": "passed",
"targeted_lint": "passed",
"build_exit": 0,
"mail_template_render_without_delivery": "passed",
"menu_entries_across_six_roles": 111,
"runtime_sha256_files": 18,
"installation_proof": "candidate-submissions-install.json",
"postgresql_proof": "candidate-submissions-pg.json",
"http_proof": "candidate-submissions-http.json",
"visual_review": false,
"domain_installed": false,
"emails_sent": 0,
"external_AI_calls": 0,
"candidate_accounts_created_in_evaluation": 0,
"portals_or_opportunities_activated": 0,
"outstanding": [
"secure attachment intake storage and verification",
"triage and controlled reuse into internal assessment",
"complements corrections and revisions",
"spontaneous submissions and supplier intake",
"configured mail transport and real delivery rehearsal",
"privacy retention deletion policies and public visual acceptance"
],
"source_sha256": {
"database/migrations/2026_10_30_000038_create_candidate_access_tokens.php": "a461cd157d23c00f0c54dccd8b739e0efe6803d3d3495253a86477972c25b0cb",
"database/migrations/2026_10_30_000039_create_candidate_submissions.php": "7901cf6b7dd31e4753ff92ca791f436ee13732eec7faa197b1ef829ba5cc4b7a",
"app/Services/CandidateAccess.php": "d63452a1148911fa4bf8e5cb0e2d5c0d68e4d6d4b7c2f9371a4a4ecf85d59a86",
"app/Services/CandidateSubmissions.php": "33114852f9c4444675206876662ad28b3846a72b8ded1d03c6f0e074118b8fa2",
"app/Services/CandidateProfiles.php": "0bfaa3602261e897b940a63e302bf4c2655c6dd2d8aa8bdd02bd350e3d39081f",
"app/Http/Controllers/CandidatePortalController.php": "13477331e1f0a270300143f1465e6493a9e52e20944fb542a0241d66e81ae588",
"app/Models/CandidateAccount.php": "8fc2fc485ad1bb2ccc27a971dbd9417bec7263bf5c51d170f45629bfec8e5d86",
"app/Mail/CandidateAccessLink.php": "67a9c556646114af96857537e2a60836d4eaa3b5243dbb8493071562fc1cfcbd",
"resources/views/mail/candidate-access.blade.php": "81eefd72fb05d2272a05fe9c9479a0652140c06d91dbc6e1694770109046abff",
"bootstrap/app.php": "a57fa8ea590c68d1007e1457611c95cf8b52576bfd8e5cdd7af2389ed18384f6",
"routes/web.php": "3d9b9755e1387eae89285b3ba3f4ad78730b69df9756853f063aa4e98fe20c7f",
"resources/js/pages/candidate/access.tsx": "4a0b92b6903d659a429db7dafaf25acccfee3c48a151a588e352d2b34eb18142",
"resources/js/pages/candidate/opportunity.tsx": "4da4db3e1f02138a73e4399aaf50eca969e53b02a004818165891cb24457239b",
"resources/js/pages/candidate/receipt.tsx": "59dd13beed2df74481740afabc4e78637ab8f6c244d3873eaafdd9b661c57392",
"resources/js/pages/candidate/profile.tsx": "39ae2da3182bf9fac69bdf88b69a376de3aa0750e659d9a05721070e2e207798",
"resources/js/pages/people/submissions.tsx": "9f79cbcda18154b685429f10c9bc31b49765ef0c1c93b1a19e4b001a7074eb43",
"tests/Feature/CandidateAccessTest.php": "7c953d2a633e3cc71d5d8ad0a97432a4056a01c2985ead0cc5743f368166b490",
"tests/Feature/CandidateSubmissionsTest.php": "7862130e921864e74469a364a19aa631635595598324133491fbcbffa419e0e7",
"tests/frontend/candidate-submissions.test.tsx": "4857543a847754fed542cb7ec32a961e94cb7fd287a5c67627d0cb17b7520ace"
},
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 724,
"passed": 722,
"assertions": 7063,
"duration_ms": 146678,
"skipped": 2
},
"full_suite_reused_with_latest_permission_regression_retested_in_module": true
}
+6 -6
View File
@@ -1,8 +1,8 @@
{
"checked_at": "2026-10-30T17:32:58.543Z",
"people_workspace": 200,
"portal_settings": 200,
"unauthenticated_receipt": 401,
"portal_opened": false,
"candidates_created": 0
"checked_at": "2026-10-30T17:32:58.543Z",
"people_workspace": 200,
"portal_settings": 200,
"unauthenticated_receipt": 401,
"portal_opened": false,
"candidates_created": 0
}
+13 -13
View File
@@ -1,15 +1,15 @@
{
"checked_at": "2026-10-30T17:30:39+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"CandidateSubmissionsTest",
"PeopleHiringTest",
"CandidatePortalTest"
],
"original_evaluation_untouched": true,
"database_removed": true,
"tests": 53,
"assertions": 1234
"checked_at": "2026-10-30T17:30:39+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"CandidateSubmissionsTest",
"PeopleHiringTest",
"CandidatePortalTest"
],
"original_evaluation_untouched": true,
"database_removed": true,
"tests": 53,
"assertions": 1234
}
+65 -65
View File
@@ -1,67 +1,67 @@
{
"checked_at": "2026-10-30T17:35:03.695737+00:00",
"scope": [
"explicit accepted-for-analysis or not-accepted triage",
"separate confidential reason and public communication",
"immutable idempotent decision and atomic application linkage",
"frozen submitted profile reused without re-entry or name-based merging",
"triager registered as application author preserving independent assessment",
"source reading restricted to preparers or reviewers with evidence scope",
"pending triage routed in workdesk and checked before close evaluation selection",
"admission blocked after reviews start",
"cross-company/process composite foreign keys"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 730,
"passed": 728,
"assertions": 7141,
"duration_ms": 150333,
"skipped": 2
},
"module_sqlite_tests": 48,
"module_sqlite_assertions": 1153,
"postgresql_tests": 53,
"postgresql_assertions": 1234,
"react_inertia_tests": 59,
"typescript": "passed",
"phpstan_errors": 0,
"pint": "passed",
"targeted_lint": "passed",
"build_exit": 0,
"menu_entries_across_six_roles": 111,
"runtime_sha256_files": 18,
"installation_proof": "candidate-triage-install.json",
"postgresql_proof": "candidate-triage-pg.json",
"http_proof": "candidate-triage-http.json",
"visual_review": false,
"domain_installed": false,
"emails_sent": 0,
"external_AI_calls": 0,
"candidate_accounts_created_in_evaluation": 0,
"automatic_transfers_in_evaluation": 0,
"outstanding": [
"secure attachment intake",
"triage revision and reopening",
"candidate complements and corrected submissions",
"spontaneous and supplier electronic intake",
"real mail transport delivery rehearsal",
"visual validation and deployment"
],
"source_sha256": {
"database/migrations/2026_10_30_000040_create_candidate_triage.php": "4a054bceb7abaa7d3ff1796f0529bb777061156927d91fab1f5ab324b2af8195",
"app/Services/CandidateTriage.php": "3566f527c99f8fea076d9babe68431c7d9e8f539be685e69d9c43a1cde8d5527",
"app/Services/PeopleHiring.php": "6fff082fede593e5a29d02d291d82d1d07492fdd941483a4301c4e99365cacbd",
"app/Services/PeopleWorkdesk.php": "f3b8096209897f0b9199804bd5f230a42627b6210f66a881ee755bc9a5c77767",
"app/Http/Controllers/CandidatePortalController.php": "e776651fa41ae071f7bfe8da301cc9c9e0b19df0f34c63dd58175de3b231b217",
"app/Http/Controllers/PeopleHiringController.php": "365e6cd116ed0d4e253e45b7e1768e586aaf6c6987a5c753809c52204c70469d",
"routes/web.php": "5d61be0bfaa196d8b81f1a124f863e475c0e428f282bfa3926d64395d2651a24",
"resources/js/pages/people/submissions.tsx": "57a4b57962b22797c560de928b0155d166a43212442641ca860016ce0554390e",
"resources/js/pages/people/show.tsx": "de1b290772a7e3f0b2083511dab0fcee9cf5fc7ca71e5014f87a892cdd32c06d",
"resources/js/pages/candidate/receipt.tsx": "5667ac51c6fd654fc96bff7bece924617561bac16b552dfce371aafdcb2e8830",
"resources/js/components/people-operational-insights.tsx": "55ce0f42e7d574e7c8832ec869aceaecd41d70a2ba8117b9397ce30528aab82f",
"tests/Feature/CandidateSubmissionsTest.php": "73808825233b55169f185c1fad555c53aa13bf6933c39fe2d84777638a9bf39d",
"tests/frontend/candidate-triage.test.tsx": "9d0455f569112f4869627bd22f1aaa6862cd34fc6f8912ab61b621c67ea1d880"
}
"checked_at": "2026-10-30T17:35:03.695737+00:00",
"scope": [
"explicit accepted-for-analysis or not-accepted triage",
"separate confidential reason and public communication",
"immutable idempotent decision and atomic application linkage",
"frozen submitted profile reused without re-entry or name-based merging",
"triager registered as application author preserving independent assessment",
"source reading restricted to preparers or reviewers with evidence scope",
"pending triage routed in workdesk and checked before close evaluation selection",
"admission blocked after reviews start",
"cross-company/process composite foreign keys"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 730,
"passed": 728,
"assertions": 7141,
"duration_ms": 150333,
"skipped": 2
},
"module_sqlite_tests": 48,
"module_sqlite_assertions": 1153,
"postgresql_tests": 53,
"postgresql_assertions": 1234,
"react_inertia_tests": 59,
"typescript": "passed",
"phpstan_errors": 0,
"pint": "passed",
"targeted_lint": "passed",
"build_exit": 0,
"menu_entries_across_six_roles": 111,
"runtime_sha256_files": 18,
"installation_proof": "candidate-triage-install.json",
"postgresql_proof": "candidate-triage-pg.json",
"http_proof": "candidate-triage-http.json",
"visual_review": false,
"domain_installed": false,
"emails_sent": 0,
"external_AI_calls": 0,
"candidate_accounts_created_in_evaluation": 0,
"automatic_transfers_in_evaluation": 0,
"outstanding": [
"secure attachment intake",
"triage revision and reopening",
"candidate complements and corrected submissions",
"spontaneous and supplier electronic intake",
"real mail transport delivery rehearsal",
"visual validation and deployment"
],
"source_sha256": {
"database/migrations/2026_10_30_000040_create_candidate_triage.php": "4a054bceb7abaa7d3ff1796f0529bb777061156927d91fab1f5ab324b2af8195",
"app/Services/CandidateTriage.php": "3566f527c99f8fea076d9babe68431c7d9e8f539be685e69d9c43a1cde8d5527",
"app/Services/PeopleHiring.php": "6fff082fede593e5a29d02d291d82d1d07492fdd941483a4301c4e99365cacbd",
"app/Services/PeopleWorkdesk.php": "f3b8096209897f0b9199804bd5f230a42627b6210f66a881ee755bc9a5c77767",
"app/Http/Controllers/CandidatePortalController.php": "e776651fa41ae071f7bfe8da301cc9c9e0b19df0f34c63dd58175de3b231b217",
"app/Http/Controllers/PeopleHiringController.php": "365e6cd116ed0d4e253e45b7e1768e586aaf6c6987a5c753809c52204c70469d",
"routes/web.php": "5d61be0bfaa196d8b81f1a124f863e475c0e428f282bfa3926d64395d2651a24",
"resources/js/pages/people/submissions.tsx": "57a4b57962b22797c560de928b0155d166a43212442641ca860016ce0554390e",
"resources/js/pages/people/show.tsx": "de1b290772a7e3f0b2083511dab0fcee9cf5fc7ca71e5014f87a892cdd32c06d",
"resources/js/pages/candidate/receipt.tsx": "5667ac51c6fd654fc96bff7bece924617561bac16b552dfce371aafdcb2e8830",
"resources/js/components/people-operational-insights.tsx": "55ce0f42e7d574e7c8832ec869aceaecd41d70a2ba8117b9397ce30528aab82f",
"tests/Feature/CandidateSubmissionsTest.php": "73808825233b55169f185c1fad555c53aa13bf6933c39fe2d84777638a9bf39d",
"tests/frontend/candidate-triage.test.tsx": "9d0455f569112f4869627bd22f1aaa6862cd34fc6f8912ab61b621c67ea1d880"
}
}
+46 -46
View File
@@ -1,48 +1,48 @@
{
"checked_at": "2026-10-30T11:11:26.981246+00:00",
"environment": "local evaluation 8005",
"scope": [
"company-configured minimum eligible suppliers and independent evaluators",
"company-configured criterion weights totalling 100 percent",
"policy frozen when a request is created and retained on draft edits",
"old processes retain compatibility rules",
"quotation weights validated against process policy",
"policy included in new comparison hashes and order snapshots",
"policy visible in request comparison award reports and order print"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 622,
"passed": 620,
"assertions": 5306,
"duration_ms": 113835,
"skipped": 2
},
"postgresql": {
"tests": 45,
"assertions": 367,
"disposable_database_removed": true
},
"phpstan_errors": 0,
"typescript": "passed",
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"installation_proof": "comparison-policy-install.json",
"company_policy_automatically_activated": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/ComparisonPolicy.php": "bdcd5739b1d52fc57759ff59a2257a059ce7772b21552a09ef6aa83966f0145e",
"app/Services/ProposalComparison.php": "d091f73065064dd132196cb79033835f38f7bd55ec6a98a54a76bbcdfd4e6df0",
"app/Services/RequisitionWorkflow.php": "e06c11e0208f0cf2cff80e44b5de3c55de05e8cce079d4f1a77f1d9f37f08323",
"app/Services/PurchaseWorkflow.php": "30c622685cb80766addaaba9987281ea40b5890b51c907f1a50743e3ba7540c5",
"app/Services/OrganizationConfiguration.php": "478c5605ec6933e868d38f904c9e87727f884b2d1663ba6c0f58cc5872d90e95",
"app/Http/Controllers/QuotationController.php": "0ca2ec13459d2daefacc62ac30fa437217cdb648ab35c90083a958261ccd9f84",
"app/Http/Controllers/OrganizationConfigurationController.php": "c1d017a550619705ea3521f5ea794e4b5585be3fbbe3bc9557c1dc625502b9bf",
"resources/js/components/comparison-policy-summary.tsx": "c086bafc0e08e900938bd49a6b802880f4be7ba11ba29c9272ed85b42143bfe9",
"resources/js/pages/company/parameters.tsx": "e7ca03fc6600ec6db7395d0db289f5f277b2ba6a05053b1b136202600e195b3d",
"database/migrations/2026_10_30_000029_add_comparison_policy_snapshots.php": "92eacb2835908fe26938111098163e167d1afa6a42ad682c9ef63711c92274cc"
}
"checked_at": "2026-10-30T11:11:26.981246+00:00",
"environment": "local evaluation 8005",
"scope": [
"company-configured minimum eligible suppliers and independent evaluators",
"company-configured criterion weights totalling 100 percent",
"policy frozen when a request is created and retained on draft edits",
"old processes retain compatibility rules",
"quotation weights validated against process policy",
"policy included in new comparison hashes and order snapshots",
"policy visible in request comparison award reports and order print"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 622,
"passed": 620,
"assertions": 5306,
"duration_ms": 113835,
"skipped": 2
},
"postgresql": {
"tests": 45,
"assertions": 367,
"disposable_database_removed": true
},
"phpstan_errors": 0,
"typescript": "passed",
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"installation_proof": "comparison-policy-install.json",
"company_policy_automatically_activated": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/ComparisonPolicy.php": "bdcd5739b1d52fc57759ff59a2257a059ce7772b21552a09ef6aa83966f0145e",
"app/Services/ProposalComparison.php": "d091f73065064dd132196cb79033835f38f7bd55ec6a98a54a76bbcdfd4e6df0",
"app/Services/RequisitionWorkflow.php": "e06c11e0208f0cf2cff80e44b5de3c55de05e8cce079d4f1a77f1d9f37f08323",
"app/Services/PurchaseWorkflow.php": "30c622685cb80766addaaba9987281ea40b5890b51c907f1a50743e3ba7540c5",
"app/Services/OrganizationConfiguration.php": "478c5605ec6933e868d38f904c9e87727f884b2d1663ba6c0f58cc5872d90e95",
"app/Http/Controllers/QuotationController.php": "0ca2ec13459d2daefacc62ac30fa437217cdb648ab35c90083a958261ccd9f84",
"app/Http/Controllers/OrganizationConfigurationController.php": "c1d017a550619705ea3521f5ea794e4b5585be3fbbe3bc9557c1dc625502b9bf",
"resources/js/components/comparison-policy-summary.tsx": "c086bafc0e08e900938bd49a6b802880f4be7ba11ba29c9272ed85b42143bfe9",
"resources/js/pages/company/parameters.tsx": "e7ca03fc6600ec6db7395d0db289f5f277b2ba6a05053b1b136202600e195b3d",
"database/migrations/2026_10_30_000029_add_comparison_policy_snapshots.php": "92eacb2835908fe26938111098163e167d1afa6a42ad682c9ef63711c92274cc"
}
}
+50 -50
View File
@@ -1,52 +1,52 @@
{
"checked_at": "2026-10-30T10:54:53.071479+00:00",
"environment": "local evaluation 8005",
"scope": [
"company default VAT for new lines only",
"explicit unit discounts before VAT",
"tie warning without automatic winner",
"invalid and missing prices excluded",
"discount evidence in comparison award order and reports",
"six functional navigation groups with unchanged permissions"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 618,
"passed": 616,
"assertions": 5245,
"duration_ms": 181394,
"skipped": 2
},
"postgresql": {
"tests": 42,
"assertions": 327,
"disposable_database_removed": true
},
"order_workflow_tests": 71,
"phpstan_errors": 0,
"typescript": "passed",
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"runtime_sha256_files": 18,
"menu_contract_entries_by_role": 107,
"menu_role_count": 6,
"fresh_backup_and_restore": "economic-install.json",
"http_proof": "menu-links.json",
"spreadsheet_original_modified": false,
"spreadsheet_example_values_imported": false,
"visual_review": false,
"domain_installed": false,
"source_sha256": {
"app/Services/QuotationPricing.php": "4b4ef22c0be338742b4ebf17a8018bf35dd0996d4b9d0fc460d4c02c2c0b8fa6",
"app/Services/ProposalComparison.php": "a106e659a855ddaf8a1279e3918ed7f631ff0ed6c374488d06d4dfe95b9a8872",
"app/Services/ProposalOpeningWorkflow.php": "ef7bc41fd696cd51bfa4113c9aa1ab42c91a86a6b36f1926b51a8b1fcd01284c",
"app/Services/OrganizationConfiguration.php": "89e452c699ccab4a388e0643e777bf77305e7ea6cde2357801d3d3b16406912a",
"app/Http/Controllers/QuotationController.php": "cf2a2064004d73c49d61e1aa21d8fa100300dfb5baa8fc737e1da72b4b57242d",
"resources/js/lib/procurement-navigation.ts": "488efff63a6ff1505abaab41f4e248ff740a8da456d9a627cc9143dfd6b26bbf",
"resources/js/components/sgc-workspace-shell.tsx": "892de779373aaf7689c95c4b3112734e0683fd60197916464a965ba1eabd1466",
"resources/js/pages/quotations/show.tsx": "e756b347e0da3b06e5e5f2d67ccb8d3370360db219b134227b611e91d1af7958",
"database/migrations/2026_10_30_000028_add_economic_comparison_terms.php": "dba2a5f8bfd3e76fee5fed032e11e71b2800dead3dfc9d66d040502e53c7e2c5"
}
"checked_at": "2026-10-30T10:54:53.071479+00:00",
"environment": "local evaluation 8005",
"scope": [
"company default VAT for new lines only",
"explicit unit discounts before VAT",
"tie warning without automatic winner",
"invalid and missing prices excluded",
"discount evidence in comparison award order and reports",
"six functional navigation groups with unchanged permissions"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 618,
"passed": 616,
"assertions": 5245,
"duration_ms": 181394,
"skipped": 2
},
"postgresql": {
"tests": 42,
"assertions": 327,
"disposable_database_removed": true
},
"order_workflow_tests": 71,
"phpstan_errors": 0,
"typescript": "passed",
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"runtime_sha256_files": 18,
"menu_contract_entries_by_role": 107,
"menu_role_count": 6,
"fresh_backup_and_restore": "economic-install.json",
"http_proof": "menu-links.json",
"spreadsheet_original_modified": false,
"spreadsheet_example_values_imported": false,
"visual_review": false,
"domain_installed": false,
"source_sha256": {
"app/Services/QuotationPricing.php": "4b4ef22c0be338742b4ebf17a8018bf35dd0996d4b9d0fc460d4c02c2c0b8fa6",
"app/Services/ProposalComparison.php": "a106e659a855ddaf8a1279e3918ed7f631ff0ed6c374488d06d4dfe95b9a8872",
"app/Services/ProposalOpeningWorkflow.php": "ef7bc41fd696cd51bfa4113c9aa1ab42c91a86a6b36f1926b51a8b1fcd01284c",
"app/Services/OrganizationConfiguration.php": "89e452c699ccab4a388e0643e777bf77305e7ea6cde2357801d3d3b16406912a",
"app/Http/Controllers/QuotationController.php": "cf2a2064004d73c49d61e1aa21d8fa100300dfb5baa8fc737e1da72b4b57242d",
"resources/js/lib/procurement-navigation.ts": "488efff63a6ff1505abaab41f4e248ff740a8da456d9a627cc9143dfd6b26bbf",
"resources/js/components/sgc-workspace-shell.tsx": "892de779373aaf7689c95c4b3112734e0683fd60197916464a965ba1eabd1466",
"resources/js/pages/quotations/show.tsx": "e756b347e0da3b06e5e5f2d67ccb8d3370360db219b134227b611e91d1af7958",
"database/migrations/2026_10_30_000028_add_economic_comparison_terms.php": "dba2a5f8bfd3e76fee5fed032e11e71b2800dead3dfc9d66d040502e53c7e2c5"
}
}
+47 -47
View File
@@ -1,49 +1,49 @@
{
"checked_at": "2026-10-30T10:29:54.976Z",
"base": "http://127.0.0.1:8005",
"owner_modules": [
"/dashboard",
"/empresa",
"/requisicoes",
"/planeamento",
"/fornecedores",
"/cotacoes",
"/ordens",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/orcamentos",
"/regras-investimento",
"/facturas",
"/pagamentos",
"/obrigacoes-fornecedores",
"/conflitos",
"/revisao-compras",
"/politica-admissao",
"/politica-recomendacao",
"/relatorios",
"/relatorios/medidas-fornecedores",
"/administracao/parametrizacao"
],
"roles": [
"requester",
"department_head",
"procurement",
"finance",
"warehouse",
"admin"
],
"csrf_enforced": true,
"arbitrary_role_refused": true,
"arbitrary_user_refused": true,
"logout": true,
"business_commands": 0,
"real_accounts_changed": false,
"operational_entry_status": "not running",
"visual_review": false,
"dashboard_auto_entry": true,
"other_routes_require_session": true,
"guest_report_redirect": true,
"intended_report_and_filters_preserved": true
"checked_at": "2026-10-30T10:29:54.976Z",
"base": "http://127.0.0.1:8005",
"owner_modules": [
"/dashboard",
"/empresa",
"/requisicoes",
"/planeamento",
"/fornecedores",
"/cotacoes",
"/ordens",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/orcamentos",
"/regras-investimento",
"/facturas",
"/pagamentos",
"/obrigacoes-fornecedores",
"/conflitos",
"/revisao-compras",
"/politica-admissao",
"/politica-recomendacao",
"/relatorios",
"/relatorios/medidas-fornecedores",
"/administracao/parametrizacao"
],
"roles": [
"requester",
"department_head",
"procurement",
"finance",
"warehouse",
"admin"
],
"csrf_enforced": true,
"arbitrary_role_refused": true,
"arbitrary_user_refused": true,
"logout": true,
"business_commands": 0,
"real_accounts_changed": false,
"operational_entry_status": "not running",
"visual_review": false,
"dashboard_auto_entry": true,
"other_routes_require_session": true,
"guest_report_redirect": true,
"intended_report_and_filters_preserved": true
}
+66 -66
View File
@@ -1,68 +1,68 @@
{
"checked_at": "2026-10-30T14:55:29.383515+00:00",
"environment": "local evaluation 8005",
"scope": [
"separate procurement and people evidence briefs",
"source paths and section anchors",
"redacted authorised report projections only",
"SHA256 basis without private financial content",
"current frozen returned approved and unsigned draft distinctions",
"PostgreSQL read snapshot on people detail"
],
"procurement_tests": {
"tool": "pest",
"result": "passed",
"tests": 18,
"passed": 18,
"assertions": 317,
"duration_ms": 4718
},
"people_tests": {
"tool": "pest",
"result": "passed",
"tests": 35,
"passed": 35,
"assertions": 972,
"duration_ms": 11099
},
"postgresql_integration": {
"tool": "phpunit",
"result": "passed",
"tests": 1,
"passed": 1,
"assertions": 64,
"duration_ms": 2543
},
"react_inertia_tests": 31,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"http_proof": "menu-links.json",
"postgresql_proof": "evidence-brief-pg.json",
"prior_full_suite_reused": "people-clarifications.json",
"migrations_applied": false,
"business_records_changed": false,
"domain_installed": false,
"visual_review": false,
"visual_attempt_errors": [
"Computer Use native pipe is unavailable (os error 2)",
"The browser access host is unavailable"
],
"AI_provider_used_for_reports": false,
"source_sha256": {
"app/Services/ProcurementEvidenceBrief.php": "9a610e1d80f1040fa7a46117a5e251bebc4a6ca6d02383aa2c9d62f0ba3aef08",
"app/Services/PeopleEvidenceBrief.php": "76f5a6bdd36fb8878eac5aa80cbb34db5784979ad654166778775c5c28f5f80a",
"app/Http/Controllers/ProcurementReviewReportController.php": "ba96649bb5585ace55249f706dfb740cc12918676bc2ff3b4dac620ad602fb57",
"app/Http/Controllers/PeopleHiringController.php": "bc6656d73a033bffa540d2b555d15d9c52a38c84446d892710d7d8ded35200ec",
"resources/js/components/evidence-brief.tsx": "3b4630e44fdc02191d1e8ecebcd451c20b9e5a35b49ded9f5d78044bd1e24932",
"resources/js/components/procurement.tsx": "846599386826eece0c9d5f48f4a30d3d52815fce3fde4d781073ff9347bf97c6",
"resources/js/pages/purchases/review-report.tsx": "e29457affd4d2005b4393f4d21ee8ae1fbd9e4ccdc4ffbc253122d4628c1ba89",
"resources/js/pages/people/show.tsx": "247e4e80d4ffca649b46fe00ee665de7e4c5476f2ce3cc1e5590e7cced049e47",
"tests/Feature/ProcurementReviewReportTest.php": "46b95f3fc21b557021dd013357016a312078b99d20911a29e4e5ca3d09a5ed20",
"tests/Feature/PeopleHiringTest.php": "fbd93d8134298d6b666634659223487646dbcb8074bd05889d660e378c40be5a",
"tests/frontend/evidence-brief.test.tsx": "385b617074ac8c718f97e52981acce2a7b3dda9b965432e7e2be04c1ca7ef279",
"tests/frontend/people-hiring.test.tsx": "24c51db9886358dfb1bd43d6b82c2a45ac731abdab76bc4e9dea3b85cbcb8bb4"
}
"checked_at": "2026-10-30T14:55:29.383515+00:00",
"environment": "local evaluation 8005",
"scope": [
"separate procurement and people evidence briefs",
"source paths and section anchors",
"redacted authorised report projections only",
"SHA256 basis without private financial content",
"current frozen returned approved and unsigned draft distinctions",
"PostgreSQL read snapshot on people detail"
],
"procurement_tests": {
"tool": "pest",
"result": "passed",
"tests": 18,
"passed": 18,
"assertions": 317,
"duration_ms": 4718
},
"people_tests": {
"tool": "pest",
"result": "passed",
"tests": 35,
"passed": 35,
"assertions": 972,
"duration_ms": 11099
},
"postgresql_integration": {
"tool": "phpunit",
"result": "passed",
"tests": 1,
"passed": 1,
"assertions": 64,
"duration_ms": 2543
},
"react_inertia_tests": 31,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"http_proof": "menu-links.json",
"postgresql_proof": "evidence-brief-pg.json",
"prior_full_suite_reused": "people-clarifications.json",
"migrations_applied": false,
"business_records_changed": false,
"domain_installed": false,
"visual_review": false,
"visual_attempt_errors": [
"Computer Use native pipe is unavailable (os error 2)",
"The browser access host is unavailable"
],
"AI_provider_used_for_reports": false,
"source_sha256": {
"app/Services/ProcurementEvidenceBrief.php": "9a610e1d80f1040fa7a46117a5e251bebc4a6ca6d02383aa2c9d62f0ba3aef08",
"app/Services/PeopleEvidenceBrief.php": "76f5a6bdd36fb8878eac5aa80cbb34db5784979ad654166778775c5c28f5f80a",
"app/Http/Controllers/ProcurementReviewReportController.php": "ba96649bb5585ace55249f706dfb740cc12918676bc2ff3b4dac620ad602fb57",
"app/Http/Controllers/PeopleHiringController.php": "bc6656d73a033bffa540d2b555d15d9c52a38c84446d892710d7d8ded35200ec",
"resources/js/components/evidence-brief.tsx": "3b4630e44fdc02191d1e8ecebcd451c20b9e5a35b49ded9f5d78044bd1e24932",
"resources/js/components/procurement.tsx": "846599386826eece0c9d5f48f4a30d3d52815fce3fde4d781073ff9347bf97c6",
"resources/js/pages/purchases/review-report.tsx": "e29457affd4d2005b4393f4d21ee8ae1fbd9e4ccdc4ffbc253122d4628c1ba89",
"resources/js/pages/people/show.tsx": "247e4e80d4ffca649b46fe00ee665de7e4c5476f2ce3cc1e5590e7cced049e47",
"tests/Feature/ProcurementReviewReportTest.php": "46b95f3fc21b557021dd013357016a312078b99d20911a29e4e5ca3d09a5ed20",
"tests/Feature/PeopleHiringTest.php": "fbd93d8134298d6b666634659223487646dbcb8074bd05889d660e378c40be5a",
"tests/frontend/evidence-brief.test.tsx": "385b617074ac8c718f97e52981acce2a7b3dda9b965432e7e2be04c1ca7ef279",
"tests/frontend/people-hiring.test.tsx": "24c51db9886358dfb1bd43d6b82c2a45ac731abdab76bc4e9dea3b85cbcb8bb4"
}
}
+7 -7
View File
@@ -1,9 +1,9 @@
{
"checked_at": "2026-10-30T15:13:30+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"scenario": "real report snapshots, tenant policy toggles, stale version rejection and authorisation",
"original_evaluation_untouched": true,
"database_removed": true
"checked_at": "2026-10-30T15:13:30+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"scenario": "real report snapshots, tenant policy toggles, stale version rejection and authorisation",
"original_evaluation_untouched": true,
"database_removed": true
}
+76 -76
View File
@@ -1,78 +1,78 @@
{
"checked_at": "2026-10-30T15:16:21.466309+00:00",
"environment": "local evaluation 8005",
"scope": [
"independent tenant settings for procurement and people local briefs",
"optimistic version reason and transactional audit",
"preserve full reports process decisions and access rules",
"offline synthetic AI assessment of citation coverage and literal matches",
"no automatic semantic certification"
],
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 82,
"passed": 82,
"assertions": 1337,
"duration_ms": 12897
},
"react_inertia_tests": 33,
"postgresql_integration": {
"tool": "phpunit",
"result": "passed",
"tests": 1,
"passed": 1,
"assertions": 110,
"duration_ms": 2935
},
"postgresql_proof": "intelligence-policy-pg.json",
"installation_proof": "intelligence-policy-install.json",
"manual_fixture_assessment": {
"method": "synthetic_ai_assessment_v1",
"facts": 3,
"claims": 3,
"cited_facts": 3,
"uncited_fact_ids": [],
"citation_coverage_complete": true,
"exact_source_text_matches": 3,
"requires_human_review": true,
"semantic_accuracy": "not_automatically_verified"
},
"fixture_is_model_output": false,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"http_proof": "menu-links.json",
"prior_full_suite_reused": "people-clarifications.json",
"accounts_or_grants_changed": false,
"tenant_policy_choices_automatically_created": false,
"live_external_calls": 0,
"live_authorisation": "previously granted for one synthetic call; pending credential setup by owner",
"real_document_AI_enabled": false,
"visual_review": false,
"domain_installed": false,
"source_sha256": {
"app/Services/IntelligencePolicy.php": "c25d9c97e3902327486dc128274662d77b3da041b18d675510b0d29a76c7465b",
"app/Services/OrganizationConfiguration.php": "6a3a95f03491f47e0d80f12568d7e04a9a202a463d980d82daa794bbba17328e",
"app/Services/SyntheticAiAssessment.php": "a664903a3b0e4889e931d085697891588df7aced7e868e8e80c438d798365963",
"app/Services/SyntheticAiRehearsal.php": "76d0f2fa2ef07e670dc74b67e098d0d49df3755354342dc8592fbcb8f96796c6",
"app/Console/Commands/SgcAiAssess.php": "e47320fa2aeb0787e1d43b3c6fe2acb73c5732b63aa57d2f1ec6ae7109b1213d",
"app/Models/Tenant.php": "e7446af40d11ef77747caac54e623efb7c560d60bf05161557dac3086ea72d96",
"app/Http/Controllers/OrganizationConfigurationController.php": "88916867ddc3bcaccae9145bf9ca0c8598b3f6c8206c9222cbaed91c1490427b",
"app/Http/Controllers/PeopleHiringController.php": "6da8c0728838050b32db5bbde09420e164265cd78b185d500b040f03cb46e35f",
"app/Http/Controllers/ProcurementReviewReportController.php": "9ff40d3ee01cc0e5e97b900d2d0d6be8909c93c42df949deb14a33e21de7e828",
"database/migrations/2026_10_30_000033_add_intelligence_policy.php": "37b109a2bcad6572498e6350363e75e9f981da5f0ba921c50e861805a34a0ada",
"resources/js/components/intelligence-settings.tsx": "f63b9f7795bdfd9a263a9339d752618d13b87d05d3985272062aa5a5cfacfb79",
"resources/js/pages/company/parameters.tsx": "380ccc3933131004950d281108100b568c8b90a69a2286788fb8798500fc6ff2",
"resources/js/pages/people/show.tsx": "ad2f1ec8aeb350ade2da2ebd242ef448e068ca2974912aae3afdedf0530ecdb0",
"resources/js/pages/purchases/review-report.tsx": "7f572d0f27b2e1b35cddb4518846534940dbf99c13e76e3270eb572c0fef83ee",
"tests/Feature/OrganizationConfigurationTest.php": "1072451618d1104e61cec0b879597de3e3f3a7060f53c91f3196a181ad912bb3",
"tests/Feature/PeopleHiringTest.php": "9db07af59529ea6e9bc559531498813c5983bfc7d64c5f5729ad23d30aedfa1f",
"tests/Feature/SyntheticAiAssessmentTest.php": "6913b68906d41806312b244f9909385892ed8ce88129fad6e711c0d9fe6ead36",
"tests/Fixtures/ai-synthetic-result.json": "d488c086b2199a70b98f2238634d595d89fd086e3c52dc3aa85c80da1ebd959f",
"tests/frontend/intelligence-settings.test.tsx": "80feabb237675ecda8a4a516a58a4cc74cfd633e5900964625d1b0431f3c8670",
"routes/web.php": "279f3d92fabd359e8da154a288f6ff45a46c287897b424081d4a19d54636eeb5"
}
"checked_at": "2026-10-30T15:16:21.466309+00:00",
"environment": "local evaluation 8005",
"scope": [
"independent tenant settings for procurement and people local briefs",
"optimistic version reason and transactional audit",
"preserve full reports process decisions and access rules",
"offline synthetic AI assessment of citation coverage and literal matches",
"no automatic semantic certification"
],
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 82,
"passed": 82,
"assertions": 1337,
"duration_ms": 12897
},
"react_inertia_tests": 33,
"postgresql_integration": {
"tool": "phpunit",
"result": "passed",
"tests": 1,
"passed": 1,
"assertions": 110,
"duration_ms": 2935
},
"postgresql_proof": "intelligence-policy-pg.json",
"installation_proof": "intelligence-policy-install.json",
"manual_fixture_assessment": {
"method": "synthetic_ai_assessment_v1",
"facts": 3,
"claims": 3,
"cited_facts": 3,
"uncited_fact_ids": [],
"citation_coverage_complete": true,
"exact_source_text_matches": 3,
"requires_human_review": true,
"semantic_accuracy": "not_automatically_verified"
},
"fixture_is_model_output": false,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"http_proof": "menu-links.json",
"prior_full_suite_reused": "people-clarifications.json",
"accounts_or_grants_changed": false,
"tenant_policy_choices_automatically_created": false,
"live_external_calls": 0,
"live_authorisation": "previously granted for one synthetic call; pending credential setup by owner",
"real_document_AI_enabled": false,
"visual_review": false,
"domain_installed": false,
"source_sha256": {
"app/Services/IntelligencePolicy.php": "c25d9c97e3902327486dc128274662d77b3da041b18d675510b0d29a76c7465b",
"app/Services/OrganizationConfiguration.php": "6a3a95f03491f47e0d80f12568d7e04a9a202a463d980d82daa794bbba17328e",
"app/Services/SyntheticAiAssessment.php": "a664903a3b0e4889e931d085697891588df7aced7e868e8e80c438d798365963",
"app/Services/SyntheticAiRehearsal.php": "76d0f2fa2ef07e670dc74b67e098d0d49df3755354342dc8592fbcb8f96796c6",
"app/Console/Commands/SgcAiAssess.php": "e47320fa2aeb0787e1d43b3c6fe2acb73c5732b63aa57d2f1ec6ae7109b1213d",
"app/Models/Tenant.php": "e7446af40d11ef77747caac54e623efb7c560d60bf05161557dac3086ea72d96",
"app/Http/Controllers/OrganizationConfigurationController.php": "88916867ddc3bcaccae9145bf9ca0c8598b3f6c8206c9222cbaed91c1490427b",
"app/Http/Controllers/PeopleHiringController.php": "6da8c0728838050b32db5bbde09420e164265cd78b185d500b040f03cb46e35f",
"app/Http/Controllers/ProcurementReviewReportController.php": "9ff40d3ee01cc0e5e97b900d2d0d6be8909c93c42df949deb14a33e21de7e828",
"database/migrations/2026_10_30_000033_add_intelligence_policy.php": "37b109a2bcad6572498e6350363e75e9f981da5f0ba921c50e861805a34a0ada",
"resources/js/components/intelligence-settings.tsx": "f63b9f7795bdfd9a263a9339d752618d13b87d05d3985272062aa5a5cfacfb79",
"resources/js/pages/company/parameters.tsx": "380ccc3933131004950d281108100b568c8b90a69a2286788fb8798500fc6ff2",
"resources/js/pages/people/show.tsx": "ad2f1ec8aeb350ade2da2ebd242ef448e068ca2974912aae3afdedf0530ecdb0",
"resources/js/pages/purchases/review-report.tsx": "7f572d0f27b2e1b35cddb4518846534940dbf99c13e76e3270eb572c0fef83ee",
"tests/Feature/OrganizationConfigurationTest.php": "1072451618d1104e61cec0b879597de3e3f3a7060f53c91f3196a181ad912bb3",
"tests/Feature/PeopleHiringTest.php": "9db07af59529ea6e9bc559531498813c5983bfc7d64c5f5729ad23d30aedfa1f",
"tests/Feature/SyntheticAiAssessmentTest.php": "6913b68906d41806312b244f9909385892ed8ce88129fad6e711c0d9fe6ead36",
"tests/Fixtures/ai-synthetic-result.json": "d488c086b2199a70b98f2238634d595d89fd086e3c52dc3aa85c80da1ebd959f",
"tests/frontend/intelligence-settings.test.tsx": "80feabb237675ecda8a4a516a58a4cc74cfd633e5900964625d1b0431f3c8670",
"routes/web.php": "279f3d92fabd359e8da154a288f6ff45a46c287897b424081d4a19d54636eeb5"
}
}
+9 -9
View File
@@ -1,11 +1,11 @@
{
"checked_at": "2026-10-29T18:41:52.592Z",
"documents_checked": 1,
"per_invoice_entry": true,
"return_to_invoices": true,
"invalid_identifiers_refused": true,
"unknown_invoice_refused": true,
"full_listing_unchanged": true,
"business_commands": 0,
"visual_review": false
"checked_at": "2026-10-29T18:41:52.592Z",
"documents_checked": 1,
"per_invoice_entry": true,
"return_to_invoices": true,
"invalid_identifiers_refused": true,
"unknown_invoice_refused": true,
"full_listing_unchanged": true,
"business_commands": 0,
"visual_review": false
}
File diff suppressed because it is too large Load Diff
+169 -169
View File
@@ -1,174 +1,174 @@
{
"checked_at": "2026-10-30T17:33:21.203Z",
"results": [
{
"role": "admin",
"checked_entries": 32,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/requisicoes?view=approvals",
"/requisicoes?view=decided",
"/cotacoes",
"/ordens",
"/revisao-compras",
"/fornecedores",
"/fornecedores/avaliacoes",
"/pessoas/cadastro",
"/pessoas",
"/pessoas?kind=service",
"/pessoas?kind=staff",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/facturas",
"/obrigacoes-fornecedores",
"/pagamentos",
"checked_at": "2026-10-30T17:33:21.203Z",
"results": [
{
"role": "admin",
"checked_entries": 32,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/requisicoes?view=approvals",
"/requisicoes?view=decided",
"/cotacoes",
"/ordens",
"/revisao-compras",
"/fornecedores",
"/fornecedores/avaliacoes",
"/pessoas/cadastro",
"/pessoas",
"/pessoas?kind=service",
"/pessoas?kind=staff",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/facturas",
"/obrigacoes-fornecedores",
"/pagamentos",
"/orcamentos",
"/regras-investimento",
"/empresa",
"/administracao/parametrizacao",
"/politica-admissao",
"/politica-recomendacao",
"/conflitos",
"/relatorios",
"/relatorios/medidas-fornecedores"
]
},
{
"role": "procurement",
"checked_entries": 20,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/requisicoes?view=approvals",
"/requisicoes?view=decided",
"/cotacoes",
"/ordens",
"/revisao-compras",
"/fornecedores",
"/fornecedores/avaliacoes",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/regras-investimento",
"/conflitos",
"/relatorios",
"/relatorios/medidas-fornecedores"
]
},
{
"role": "finance",
"checked_entries": 24,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/requisicoes?view=approvals",
"/requisicoes?view=decided",
"/cotacoes",
"/ordens",
"/revisao-compras",
"/fornecedores",
"/fornecedores/avaliacoes",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/facturas",
"/obrigacoes-fornecedores",
"/pagamentos",
"/orcamentos",
"/regras-investimento",
"/conflitos",
"/relatorios",
"/relatorios/medidas-fornecedores"
]
},
{
"role": "department_head",
"checked_entries": 17,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/requisicoes?view=approvals",
"/requisicoes?view=decided",
"/cotacoes",
"/ordens",
"/revisao-compras",
"/fornecedores",
"/fornecedores/avaliacoes",
"/recepcoes",
"/equipamentos",
"/conflitos",
"/relatorios",
"/relatorios/medidas-fornecedores"
]
},
{
"role": "warehouse",
"checked_entries": 11,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/revisao-compras",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/conflitos"
]
},
{
"role": "requester",
"checked_entries": 7,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/revisao-compras",
"/conflitos"
]
}
],
"request_detail_checked": true,
"invoice_count": 1,
"process_links_checked": [
"/requisicoes/1",
"/orcamentos",
"/regras-investimento",
"/empresa",
"/administracao/parametrizacao",
"/politica-admissao",
"/politica-recomendacao",
"/conflitos",
"/relatorios",
"/relatorios/medidas-fornecedores"
]
},
{
"role": "procurement",
"checked_entries": 20,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/requisicoes?view=approvals",
"/requisicoes?view=decided",
"/cotacoes",
"/ordens",
"/revisao-compras",
"/fornecedores",
"/fornecedores/avaliacoes",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/regras-investimento",
"/conflitos",
"/relatorios",
"/relatorios/medidas-fornecedores"
]
},
{
"role": "finance",
"checked_entries": 24,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/requisicoes?view=approvals",
"/requisicoes?view=decided",
"/cotacoes",
"/ordens",
"/revisao-compras",
"/fornecedores",
"/fornecedores/avaliacoes",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/requisicoes/1/cotacoes",
"/requisicoes/1/adjudicacao",
"/ordens/1",
"/ordens/1/recepcoes",
"/facturas",
"/obrigacoes-fornecedores",
"/pagamentos",
"/orcamentos",
"/regras-investimento",
"/conflitos",
"/relatorios",
"/relatorios/medidas-fornecedores"
]
},
{
"role": "department_head",
"checked_entries": 17,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/requisicoes?view=approvals",
"/requisicoes?view=decided",
"/cotacoes",
"/ordens",
"/revisao-compras",
"/fornecedores",
"/fornecedores/avaliacoes",
"/recepcoes",
"/equipamentos",
"/conflitos",
"/relatorios",
"/relatorios/medidas-fornecedores"
]
},
{
"role": "warehouse",
"checked_entries": 11,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/revisao-compras",
"/recepcoes",
"/stock",
"/stock/operacoes",
"/equipamentos",
"/conflitos"
]
},
{
"role": "requester",
"checked_entries": 7,
"paths": [
"/requisicoes/criar",
"/requisicoes?view=mine",
"/requisicoes?view=mine&status=draft",
"/requisicoes?view=all",
"/planeamento",
"/revisao-compras",
"/conflitos"
]
}
],
"request_detail_checked": true,
"invoice_count": 1,
"process_links_checked": [
"/requisicoes/1",
"/orcamentos",
"/requisicoes/1/cotacoes",
"/requisicoes/1/adjudicacao",
"/ordens/1",
"/ordens/1/recepcoes",
"/facturas",
"/pagamentos",
"/requisicoes/1/relatorio",
"/requisicoes/1/admissao",
"/requisicoes/1/recomendacao",
"/recepcoes/1"
],
"canonical_query_order": true,
"active_subroutes": true,
"vat_setting_and_default_checked": true,
"comparison_ties_and_reasons_checked": true,
"business_history_unchanged": true,
"business_commands": 0
"/requisicoes/1/relatorio",
"/requisicoes/1/admissao",
"/requisicoes/1/recomendacao",
"/recepcoes/1"
],
"canonical_query_order": true,
"active_subroutes": true,
"vat_setting_and_default_checked": true,
"comparison_ties_and_reasons_checked": true,
"business_history_unchanged": true,
"business_commands": 0
}
+23 -23
View File
@@ -1,25 +1,25 @@
{
"checked_at": "2026-10-30T08:46:09.751Z",
"base": "http://127.0.0.1:8005",
"path": "/administracao/parametrizacao",
"roles": [
"admin",
"requester",
"department_head",
"procurement",
"finance",
"warehouse"
],
"owner_access": true,
"other_legacy_profiles_refused": true,
"passwords_not_returned": true,
"configuration_state": {
"active": false,
"version": 1,
"profiles": 0
},
"business_commands": 0,
"accounts_created": 0,
"permissions_changed": false,
"visual_review": false
"checked_at": "2026-10-30T08:46:09.751Z",
"base": "http://127.0.0.1:8005",
"path": "/administracao/parametrizacao",
"roles": [
"admin",
"requester",
"department_head",
"procurement",
"finance",
"warehouse"
],
"owner_access": true,
"other_legacy_profiles_refused": true,
"passwords_not_returned": true,
"configuration_state": {
"active": false,
"version": 1,
"profiles": 0
},
"business_commands": 0,
"accounts_created": 0,
"permissions_changed": false,
"visual_review": false
}
+61 -61
View File
@@ -1,63 +1,63 @@
{
"checked_at": "2026-10-30T08:47:37.236992+00:00",
"full_suite": {
"total": 603,
"passed": 601,
"skipped": 2,
"assertions": 5157,
"log": "storage/logs/organization-delivery-tests.log"
},
"postgresql_configuration": {
"tests": 13,
"passed": 13,
"assertions": 96,
"disposable_database_removed": true,
"log": "storage/logs/organization-pg-tests.log"
},
"phpstan_errors": 0,
"typescript": "passed",
"lint_format_targeted": "passed",
"pint": "passed",
"build": "passed",
"build_log": "storage/logs/organization-build.log",
"runtime_files_verified": 18,
"menu_entries": 107,
"evaluation_catalog_pages": 23,
"installed_only_in_evaluation": true,
"configuration_activated_in_evaluation": false,
"accounts_or_permissions_changed_in_evaluation": false,
"maintenance": {
"named_account": true,
"normal_authentication": true,
"expiry_required": true,
"revocable": true,
"audited": true,
"read_only": true,
"universal_password": false,
"hidden_entry": false
},
"domain_installed": false,
"visual_review": false,
"remaining": [
"permission granularity by operation",
"universal workflow stage/condition editor",
"specific common financial identity and entitlement associations",
"visual and print review"
],
"sources": {
"app/Services/OrganizationAccess.php": "872f06e50d561714ab50d88dc113c0fa054dea9f170a09bb37f8d39d07b78a09",
"app/Services/OrganizationConfiguration.php": "e2d6e725a78dc4f10d931017969d0fcdacaed4dd6b37a4a08a96cb44b09fd1b5",
"app/Http/Controllers/OrganizationConfigurationController.php": "9765cee7b1770f48fde4affcefc518a36576190bbaeac8bce079655353377c72",
"app/Http/Controllers/CompanyController.php": "5a8112e0f1535f90aeb8cf9785259da8d713d1bfcd3ad908aa3eabd161dba8a3",
"app/Http/Middleware/EnsureOrganizationAccess.php": "6782164f18f982fedb91dfb4fb2365895c757d776d7bf1728a91682fa95b8b02",
"app/Models/User.php": "835c119c097e7927136e8c7775ebb5ed677f964e766a213ec3c04e0b7388e740",
"app/Enums/PurchasingRole.php": "91da2d40bf11988fd6324aba8e5068e6be7c92222be31baf83844c134affe1c4",
"database/migrations/2026_10_30_000027_create_organization_access.php": "130d92ba8a093a8f77678e1ce4c1a90125bb996e88ed81633359d224fe77a853",
"database/seeders/DatabaseSeeder.php": "2aaea71ca2eba604abd5723e95cd1a99521c61b6f00b70dfedba246f3dcfae48",
"resources/js/pages/company/parameters.tsx": "c0760c50d100c8b2dfb3d3ad3b2a05fae14eed7900e95461c766a885d07677d1",
"resources/js/pages/company/setup.tsx": "614000ad22692ea3e707a00103227953d95f32fd7d9a7fc031bdbba7a1ccdb48",
"resources/js/lib/procurement-navigation.ts": "d7a42ec76e0166e4783bb496834325ad583b903ebf8c999c2ba5a2307431d56d",
"tests/Feature/OrganizationConfigurationTest.php": "eef7e82a6efc8ebad46cea8752861c01bec53c552874d72120a6e982f0114d73",
"scripts/organization-access-check.mjs": "1ca7cd2bdafa5f62afb26fa0b074d879273cda27c8350b968de54c8f53328bb0"
}
"checked_at": "2026-10-30T08:47:37.236992+00:00",
"full_suite": {
"total": 603,
"passed": 601,
"skipped": 2,
"assertions": 5157,
"log": "storage/logs/organization-delivery-tests.log"
},
"postgresql_configuration": {
"tests": 13,
"passed": 13,
"assertions": 96,
"disposable_database_removed": true,
"log": "storage/logs/organization-pg-tests.log"
},
"phpstan_errors": 0,
"typescript": "passed",
"lint_format_targeted": "passed",
"pint": "passed",
"build": "passed",
"build_log": "storage/logs/organization-build.log",
"runtime_files_verified": 18,
"menu_entries": 107,
"evaluation_catalog_pages": 23,
"installed_only_in_evaluation": true,
"configuration_activated_in_evaluation": false,
"accounts_or_permissions_changed_in_evaluation": false,
"maintenance": {
"named_account": true,
"normal_authentication": true,
"expiry_required": true,
"revocable": true,
"audited": true,
"read_only": true,
"universal_password": false,
"hidden_entry": false
},
"domain_installed": false,
"visual_review": false,
"remaining": [
"permission granularity by operation",
"universal workflow stage/condition editor",
"specific common financial identity and entitlement associations",
"visual and print review"
],
"sources": {
"app/Services/OrganizationAccess.php": "872f06e50d561714ab50d88dc113c0fa054dea9f170a09bb37f8d39d07b78a09",
"app/Services/OrganizationConfiguration.php": "e2d6e725a78dc4f10d931017969d0fcdacaed4dd6b37a4a08a96cb44b09fd1b5",
"app/Http/Controllers/OrganizationConfigurationController.php": "9765cee7b1770f48fde4affcefc518a36576190bbaeac8bce079655353377c72",
"app/Http/Controllers/CompanyController.php": "5a8112e0f1535f90aeb8cf9785259da8d713d1bfcd3ad908aa3eabd161dba8a3",
"app/Http/Middleware/EnsureOrganizationAccess.php": "6782164f18f982fedb91dfb4fb2365895c757d776d7bf1728a91682fa95b8b02",
"app/Models/User.php": "835c119c097e7927136e8c7775ebb5ed677f964e766a213ec3c04e0b7388e740",
"app/Enums/PurchasingRole.php": "91da2d40bf11988fd6324aba8e5068e6be7c92222be31baf83844c134affe1c4",
"database/migrations/2026_10_30_000027_create_organization_access.php": "130d92ba8a093a8f77678e1ce4c1a90125bb996e88ed81633359d224fe77a853",
"database/seeders/DatabaseSeeder.php": "2aaea71ca2eba604abd5723e95cd1a99521c61b6f00b70dfedba246f3dcfae48",
"resources/js/pages/company/parameters.tsx": "c0760c50d100c8b2dfb3d3ad3b2a05fae14eed7900e95461c766a885d07677d1",
"resources/js/pages/company/setup.tsx": "614000ad22692ea3e707a00103227953d95f32fd7d9a7fc031bdbba7a1ccdb48",
"resources/js/lib/procurement-navigation.ts": "d7a42ec76e0166e4783bb496834325ad583b903ebf8c999c2ba5a2307431d56d",
"tests/Feature/OrganizationConfigurationTest.php": "eef7e82a6efc8ebad46cea8752861c01bec53c552874d72120a6e982f0114d73",
"scripts/organization-access-check.mjs": "1ca7cd2bdafa5f62afb26fa0b074d879273cda27c8350b968de54c8f53328bb0"
}
}
+23 -26
View File
@@ -1,28 +1,25 @@
{
"checked_at": "2026-10-29T19:41:38.688Z",
"passed": true,
"fault_recovery": true,
"concurrent_recognition": true,
"original_business_history_unchanged": true,
"new_transfers_executed": false,
"scenario": {
"principal_minor": 1160000,
"balance_minor": 860000,
"confirmed_minor": 300000,
"pending_minor": 100000,
"rejected_minor": 50000,
"obligations": 1,
"imports": 1,
"payment_links": 3,
"business_fingerprint": "fb66326abf7968aa818b0c6a214c2a1f59966fa11d3692e748fa0fa1aaa3cf1f",
"ui_balance_correct": true,
"due_on": null,
"days_overdue": null,
"append_only_tables": [
"pa_history_imports",
"pa_imported_payments"
],
"changed_history_refused": true
},
"visual_review": false
"checked_at": "2026-10-29T19:41:38.688Z",
"passed": true,
"fault_recovery": true,
"concurrent_recognition": true,
"original_business_history_unchanged": true,
"new_transfers_executed": false,
"scenario": {
"principal_minor": 1160000,
"balance_minor": 860000,
"confirmed_minor": 300000,
"pending_minor": 100000,
"rejected_minor": 50000,
"obligations": 1,
"imports": 1,
"payment_links": 3,
"business_fingerprint": "fb66326abf7968aa818b0c6a214c2a1f59966fa11d3692e748fa0fa1aaa3cf1f",
"ui_balance_correct": true,
"due_on": null,
"days_overdue": null,
"append_only_tables": ["pa_history_imports", "pa_imported_payments"],
"changed_history_refused": true
},
"visual_review": false
}
+17 -17
View File
@@ -1,19 +1,19 @@
{
"checked_at": "2026-10-29T19:41:38.669Z",
"passed": true,
"atomic_rollback": true,
"concurrent_decision_once": true,
"original_import_preserved": true,
"new_transfers_executed": false,
"scenario": {
"balance_minor": 760000,
"confirmed_minor": 400000,
"pending_minor": 0,
"decisions": 1,
"events": 1,
"original_status": "confirmed",
"append_only": true,
"frozen": "4b5aa40f964c0709661449b4ab5bfd7cd8295eac9c4d186822d0a1e10aa63534"
},
"visual_review": false
"checked_at": "2026-10-29T19:41:38.669Z",
"passed": true,
"atomic_rollback": true,
"concurrent_decision_once": true,
"original_import_preserved": true,
"new_transfers_executed": false,
"scenario": {
"balance_minor": 760000,
"confirmed_minor": 400000,
"pending_minor": 0,
"decisions": 1,
"events": 1,
"original_status": "confirmed",
"append_only": true,
"frozen": "4b5aa40f964c0709661449b4ab5bfd7cd8295eac9c4d186822d0a1e10aa63534"
},
"visual_review": false
}
+1 -3
View File
@@ -3,9 +3,7 @@
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"PeopleHiringTest"
],
"test_files": ["PeopleHiringTest"],
"original_evaluation_untouched": true,
"database_removed": true
}
+53 -53
View File
@@ -1,55 +1,55 @@
{
"checked_at": "2026-10-30T12:12:17.828306+00:00",
"environment": "local evaluation 8005",
"scope": [
"separate purchasing and people navigation and workflows",
"per-process named access with expiry revocation version and audit",
"administrative team setup without automatic candidate access",
"server-side financial interview and contract projections including selection copies",
"separate service and staff annex fields and classified requirements",
"typed reported observed and verified interview evidence",
"old records and rules preserved"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 638,
"passed": 636,
"assertions": 5556,
"duration_ms": 135871,
"skipped": 2
},
"latest_module_tests": {
"sqlite": 16,
"postgresql": 16,
"assertions": 286,
"disposable_database_removed": true
},
"react_inertia_tests": 22,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"runtime_sha256_files": 18,
"menu_entries_by_role": 110,
"menu_groups_maximum": 6,
"http_proof": "menu-links.json",
"installation_proof": "people-access-install.json",
"business_accounts_or_grants_created_in_evaluation": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/PeopleHiring.php": "ec0365c2ef2b1035468f16e8d4923b458889fc8438bbc6532de95791dda17548",
"app/Services/PeopleAccess.php": "5ed3feac3f48a4516bd611638e9720ae1096ee86ef6bc00ee6c48fbc67ccf4ea",
"app/Services/PeopleForms.php": "9ae5c1da667566cf08c4cc250cdc04a8ecba8a9c9af19b07a4138b1501aa4da8",
"app/Http/Controllers/PeopleHiringController.php": "7b4dd572ec3d67c112e02243d6db69d71fe5f17a8e64712738b553b114a4e275",
"database/migrations/2026_10_30_000031_create_people_process_access.php": "e899d6adc07122ec6d4ec7606a4714ae69ddc6db30479d4ad66f92767d8d2560",
"resources/js/pages/people/access.tsx": "399beb8193906491528954680eb8900d4aa5b5a7a8dd3af6557e6e0fd579780d",
"resources/js/pages/people/index.tsx": "a822ee13c1dc158e76396959e944d30e01b7385879050cd0d977c8972e98d6a8",
"resources/js/pages/people/show.tsx": "84a3910c9840f88c8c42465d2209834b5d82a94df860dfec31705b1a95623663",
"resources/js/lib/procurement-navigation.ts": "bcad7f21492355f8f66687d5dfb74fa105a2b575cf210dc1618f90ddea8e9251",
"tests/Feature/PeopleHiringTest.php": "611db1c7e744dae085b966c1c01583336a59ef8daa4087f8904ba14c5b9dcd61",
"tests/frontend/people-hiring.test.tsx": "67b9fe5af8f9b076b2b8ee8abc6b441b3a36bd8d4dd5bf04978eb5aa0f02a3a3"
}
"checked_at": "2026-10-30T12:12:17.828306+00:00",
"environment": "local evaluation 8005",
"scope": [
"separate purchasing and people navigation and workflows",
"per-process named access with expiry revocation version and audit",
"administrative team setup without automatic candidate access",
"server-side financial interview and contract projections including selection copies",
"separate service and staff annex fields and classified requirements",
"typed reported observed and verified interview evidence",
"old records and rules preserved"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 638,
"passed": 636,
"assertions": 5556,
"duration_ms": 135871,
"skipped": 2
},
"latest_module_tests": {
"sqlite": 16,
"postgresql": 16,
"assertions": 286,
"disposable_database_removed": true
},
"react_inertia_tests": 22,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"runtime_sha256_files": 18,
"menu_entries_by_role": 110,
"menu_groups_maximum": 6,
"http_proof": "menu-links.json",
"installation_proof": "people-access-install.json",
"business_accounts_or_grants_created_in_evaluation": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/PeopleHiring.php": "ec0365c2ef2b1035468f16e8d4923b458889fc8438bbc6532de95791dda17548",
"app/Services/PeopleAccess.php": "5ed3feac3f48a4516bd611638e9720ae1096ee86ef6bc00ee6c48fbc67ccf4ea",
"app/Services/PeopleForms.php": "9ae5c1da667566cf08c4cc250cdc04a8ecba8a9c9af19b07a4138b1501aa4da8",
"app/Http/Controllers/PeopleHiringController.php": "7b4dd572ec3d67c112e02243d6db69d71fe5f17a8e64712738b553b114a4e275",
"database/migrations/2026_10_30_000031_create_people_process_access.php": "e899d6adc07122ec6d4ec7606a4714ae69ddc6db30479d4ad66f92767d8d2560",
"resources/js/pages/people/access.tsx": "399beb8193906491528954680eb8900d4aa5b5a7a8dd3af6557e6e0fd579780d",
"resources/js/pages/people/index.tsx": "a822ee13c1dc158e76396959e944d30e01b7385879050cd0d977c8972e98d6a8",
"resources/js/pages/people/show.tsx": "84a3910c9840f88c8c42465d2209834b5d82a94df860dfec31705b1a95623663",
"resources/js/lib/procurement-navigation.ts": "bcad7f21492355f8f66687d5dfb74fa105a2b575cf210dc1618f90ddea8e9251",
"tests/Feature/PeopleHiringTest.php": "611db1c7e744dae085b966c1c01583336a59ef8daa4087f8904ba14c5b9dcd61",
"tests/frontend/people-hiring.test.tsx": "67b9fe5af8f9b076b2b8ee8abc6b441b3a36bd8d4dd5bf04978eb5aa0f02a3a3"
}
}
+1 -3
View File
@@ -3,9 +3,7 @@
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"PeopleHiringTest"
],
"test_files": ["PeopleHiringTest"],
"original_evaluation_untouched": true,
"database_removed": true
}
+58 -58
View File
@@ -1,60 +1,60 @@
{
"checked_at": "2026-10-30T12:56:09.626883+00:00",
"environment": "local evaluation 8005",
"scope": [
"assigned clarification follow-up from immutable review",
"late responses and reassignment",
"independent review return or justified waiver",
"privacy limited to assigned question",
"personal operational tasks overdue alerts and printable report",
"deadline-only change preserves pending selection basis",
"substantive changes checked before pending approval",
"approved selection and original scores preserved"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 652,
"passed": 650,
"assertions": 6142,
"duration_ms": 103765,
"skipped": 2
},
"disposable_postgresql": {
"tool": "pest",
"result": "passed",
"tests": 30,
"passed": 30,
"assertions": 836,
"duration_ms": 21163
},
"react_inertia_tests": 25,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build": "passed",
"runtime_sha256_files": 18,
"http_proof": "menu-links.json",
"installation_proof": "people-clarifications-install.json",
"postgresql_proof": "people-clarifications-pg.json",
"new_accounts": 0,
"new_local_assignments": 0,
"outbound_messages": 0,
"domain_installed": false,
"visual_review": false,
"production_consulta_hotfix_published": false,
"source_sha256": {
"app/Services/PeopleClarifications.php": "f52dfd2a29eb7a8180a0449d7c4d9a4ffd15da1569d492f22c58c2c704d245b3",
"app/Services/PeopleHiring.php": "ba43edecf4eb09ec0fd34b0639faa3053e985ba65fd10d737a4ee7cc5cc105f2",
"app/Services/PeopleWorkdesk.php": "db901201362434d89743641306cfb1cee0b7bb70059ab87593fd6e00fef9bc21",
"app/Http/Controllers/PeopleHiringController.php": "11b01291e8378e7e330bcba9e28a68d0fbb707bd0200881a8b126c866c3793ff",
"database/migrations/2026_10_30_000032_create_people_clarifications.php": "a8cd29710192f1cb1f9046d4643a10e1aa4df1a463a2939e880082fe4b76da6d",
"resources/js/components/people-clarifications.tsx": "a378159cf383d8cfa78c2ffaaf151d311a3e2c6f58ae3d72f21ebe9f9852e95b",
"resources/js/pages/people/show.tsx": "e51622810a0c70436cc00eefadf51a9f37cf350098fa2d049f652988916d0d3c",
"resources/js/pages/people/index.tsx": "84a956018fd12a4cb8de9df875742a4d119d8975c70f1a88ca2b0b6275f034c5",
"tests/Feature/PeopleHiringTest.php": "47e15747b5fbf5a618289ae4d25efc9749166e889078c404f166ab366e615b5b",
"tests/frontend/people-hiring.test.tsx": "7709432faf232497ff3c057afd1d5b6516b7cb5a6d8d52d83a1a4cc0afb70561",
"routes/web.php": "c7255ae11660d009f9b25d263681500dedb0f1a700d19c2994312612d599286f"
}
"checked_at": "2026-10-30T12:56:09.626883+00:00",
"environment": "local evaluation 8005",
"scope": [
"assigned clarification follow-up from immutable review",
"late responses and reassignment",
"independent review return or justified waiver",
"privacy limited to assigned question",
"personal operational tasks overdue alerts and printable report",
"deadline-only change preserves pending selection basis",
"substantive changes checked before pending approval",
"approved selection and original scores preserved"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 652,
"passed": 650,
"assertions": 6142,
"duration_ms": 103765,
"skipped": 2
},
"disposable_postgresql": {
"tool": "pest",
"result": "passed",
"tests": 30,
"passed": 30,
"assertions": 836,
"duration_ms": 21163
},
"react_inertia_tests": 25,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build": "passed",
"runtime_sha256_files": 18,
"http_proof": "menu-links.json",
"installation_proof": "people-clarifications-install.json",
"postgresql_proof": "people-clarifications-pg.json",
"new_accounts": 0,
"new_local_assignments": 0,
"outbound_messages": 0,
"domain_installed": false,
"visual_review": false,
"production_consulta_hotfix_published": false,
"source_sha256": {
"app/Services/PeopleClarifications.php": "f52dfd2a29eb7a8180a0449d7c4d9a4ffd15da1569d492f22c58c2c704d245b3",
"app/Services/PeopleHiring.php": "ba43edecf4eb09ec0fd34b0639faa3053e985ba65fd10d737a4ee7cc5cc105f2",
"app/Services/PeopleWorkdesk.php": "db901201362434d89743641306cfb1cee0b7bb70059ab87593fd6e00fef9bc21",
"app/Http/Controllers/PeopleHiringController.php": "11b01291e8378e7e330bcba9e28a68d0fbb707bd0200881a8b126c866c3793ff",
"database/migrations/2026_10_30_000032_create_people_clarifications.php": "a8cd29710192f1cb1f9046d4643a10e1aa4df1a463a2939e880082fe4b76da6d",
"resources/js/components/people-clarifications.tsx": "a378159cf383d8cfa78c2ffaaf151d311a3e2c6f58ae3d72f21ebe9f9852e95b",
"resources/js/pages/people/show.tsx": "e51622810a0c70436cc00eefadf51a9f37cf350098fa2d049f652988916d0d3c",
"resources/js/pages/people/index.tsx": "84a956018fd12a4cb8de9df875742a4d119d8975c70f1a88ca2b0b6275f034c5",
"tests/Feature/PeopleHiringTest.php": "47e15747b5fbf5a618289ae4d25efc9749166e889078c404f166ab366e615b5b",
"tests/frontend/people-hiring.test.tsx": "7709432faf232497ff3c057afd1d5b6516b7cb5a6d8d52d83a1a4cc0afb70561",
"routes/web.php": "c7255ae11660d009f9b25d263681500dedb0f1a700d19c2994312612d599286f"
}
}
+1 -3
View File
@@ -3,9 +3,7 @@
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"PeopleHiringTest"
],
"test_files": ["PeopleHiringTest"],
"original_evaluation_untouched": true,
"database_removed": true
}
+57 -57
View File
@@ -1,59 +1,59 @@
{
"checked_at": "2026-10-30T11:46:07.311681+00:00",
"environment": "local evaluation 8005",
"scope": [
"individual service provider hiring",
"staff recruitment",
"process-specific criteria weights and minimum independent reviews",
"independent opening evaluation and final decision",
"candidate records and evidence",
"reasoned selection including ties and returns",
"unsigned internal contract draft and printable process report",
"separate configurable preparation and review permissions per kind"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 633,
"passed": 631,
"assertions": 5438,
"duration_ms": 178754,
"skipped": 2
},
"latest_module_tests": {
"tests": 11,
"assertions": 133,
"sqlite": "passed",
"disposable_postgresql": "passed",
"database_removed": true
},
"react_inertia_tests": 21,
"phpstan_errors": 0,
"typescript": "passed",
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"runtime_sha256_files": 18,
"installation_proof": "people-hiring-install.json",
"menu_proof": "menu-links.json",
"menu_contract_entries_by_role": 108,
"company_accounts_or_grants_created": false,
"evaluation_tables_initially_empty": true,
"external_messages_sent": false,
"signed_contracts_created": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/PeopleHiring.php": "a7e50e55034ce4085d35184f04d8549741c7fb29e4585dc334dd3bf9525a3d09",
"app/Http/Controllers/PeopleHiringController.php": "4e07d58c9f474eec85f5854e9e442978f198888994c27be376f100a0d4e2263c",
"app/Models/PeopleProcess.php": "10b1ed29426ab6988d01f1ed43b77f49b689520197c7a9023b41338fe60e7e4b",
"app/Services/OrganizationAccess.php": "84f3cddc43b1446f12390d9d3ffcf504f4a1f8909d88612ee30a9fdcb1bd7137",
"database/migrations/2026_10_30_000030_create_people_hiring.php": "c1f69354ec82ec5b3aabd0eff85c88c4a8a9eb3cb77c16e9a942d47eb1149c1b",
"resources/js/pages/people/index.tsx": "8d65c71d2c5862d640f14a37e7aea997bdfa6aacd7d128568532cbf5821295fd",
"resources/js/pages/people/show.tsx": "ffa77f0bb5e72877f7aab6fb30ae129cd7dd7c72911c0ef156a958f821451dc0",
"resources/js/lib/people-hiring.ts": "65efd515d39541c7e875127c91731bfc1a379f8db58fcd34e0f39e1a8d75f807",
"resources/js/lib/procurement-navigation.ts": "9578b8ac69b8b8a8e6cb0f7134e3cac55e19c1e973ecb21015b592fc8b804318",
"tests/Feature/PeopleHiringTest.php": "f1cceadb0ddf7faaf901dd2283953812dad5fb9ebc4f1f3c4f57e546f4591abc",
"tests/frontend/people-hiring.test.tsx": "5548b79b353bc36451b42888f7f7727f2524d46df677e106a60968c8e6039dc9"
}
"checked_at": "2026-10-30T11:46:07.311681+00:00",
"environment": "local evaluation 8005",
"scope": [
"individual service provider hiring",
"staff recruitment",
"process-specific criteria weights and minimum independent reviews",
"independent opening evaluation and final decision",
"candidate records and evidence",
"reasoned selection including ties and returns",
"unsigned internal contract draft and printable process report",
"separate configurable preparation and review permissions per kind"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 633,
"passed": 631,
"assertions": 5438,
"duration_ms": 178754,
"skipped": 2
},
"latest_module_tests": {
"tests": 11,
"assertions": 133,
"sqlite": "passed",
"disposable_postgresql": "passed",
"database_removed": true
},
"react_inertia_tests": 21,
"phpstan_errors": 0,
"typescript": "passed",
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"runtime_sha256_files": 18,
"installation_proof": "people-hiring-install.json",
"menu_proof": "menu-links.json",
"menu_contract_entries_by_role": 108,
"company_accounts_or_grants_created": false,
"evaluation_tables_initially_empty": true,
"external_messages_sent": false,
"signed_contracts_created": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/PeopleHiring.php": "a7e50e55034ce4085d35184f04d8549741c7fb29e4585dc334dd3bf9525a3d09",
"app/Http/Controllers/PeopleHiringController.php": "4e07d58c9f474eec85f5854e9e442978f198888994c27be376f100a0d4e2263c",
"app/Models/PeopleProcess.php": "10b1ed29426ab6988d01f1ed43b77f49b689520197c7a9023b41338fe60e7e4b",
"app/Services/OrganizationAccess.php": "84f3cddc43b1446f12390d9d3ffcf504f4a1f8909d88612ee30a9fdcb1bd7137",
"database/migrations/2026_10_30_000030_create_people_hiring.php": "c1f69354ec82ec5b3aabd0eff85c88c4a8a9eb3cb77c16e9a942d47eb1149c1b",
"resources/js/pages/people/index.tsx": "8d65c71d2c5862d640f14a37e7aea997bdfa6aacd7d128568532cbf5821295fd",
"resources/js/pages/people/show.tsx": "ffa77f0bb5e72877f7aab6fb30ae129cd7dd7c72911c0ef156a958f821451dc0",
"resources/js/lib/people-hiring.ts": "65efd515d39541c7e875127c91731bfc1a379f8db58fcd34e0f39e1a8d75f807",
"resources/js/lib/procurement-navigation.ts": "9578b8ac69b8b8a8e6cb0f7134e3cac55e19c1e973ecb21015b592fc8b804318",
"tests/Feature/PeopleHiringTest.php": "f1cceadb0ddf7faaf901dd2283953812dad5fb9ebc4f1f3c4f57e546f4591abc",
"tests/frontend/people-hiring.test.tsx": "5548b79b353bc36451b42888f7f7727f2524d46df677e106a60968c8e6039dc9"
}
}
+43 -43
View File
@@ -1,45 +1,45 @@
{
"checked_at": "2026-10-30T13:01:28.499029+00:00",
"environment": "local evaluation 8005",
"scope": [
"authorised filtered operational reading",
"calendar delays and oldest five source links",
"separate overdue occurrence and process counts",
"personal task distribution and independent approval counts",
"explicit missing deadlines and deterministic method",
"documented AI ML product roadmap"
],
"method": "operational_facts_v1",
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 32,
"passed": 32,
"assertions": 856,
"duration_ms": 10518
},
"react_inertia_tests": 26,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"accepted_full_suite_reused": "people-clarifications.json",
"http_proof": "menu-links.json",
"new_migrations": 0,
"new_data_writes": 0,
"external_AI_calls": 0,
"trained_ml_model": false,
"AI_provider_configured": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/PeopleOperationalInsights.php": "fab92b0b0c58fe608a7e030cbfaa2e36842cf391a609fd05bb6f4b443be1ede6",
"app/Http/Controllers/PeopleHiringController.php": "5cf48435c3ba22505544dbaecd368d7abf27bb97edf55158308507db4c36f767",
"resources/js/components/people-operational-insights.tsx": "fce6a71ecc15979749437945639aed6b4ed3bcbfedcee82d50d95a9469ca4300",
"resources/js/pages/people/index.tsx": "bf0753393b9d5cc851be7dccadc27fb3421c0bc1a5215b6af779e1a114034bb9",
"tests/Feature/PeopleHiringTest.php": "01dacd9895e10391732f65372a7a8872576527e4d13b8a4ae8f612c2485fc958",
"tests/frontend/people-hiring.test.tsx": "b1fce7ede76258ee62a686e487e2bcce666b43b9595619d4da1a73d6c9d42d71",
"docs/inteligencia-sgc.md": "51e5ecf9fa8d54a54272fa263b4202f69873145572a9ea7892a5603c37c334cd"
}
"checked_at": "2026-10-30T13:01:28.499029+00:00",
"environment": "local evaluation 8005",
"scope": [
"authorised filtered operational reading",
"calendar delays and oldest five source links",
"separate overdue occurrence and process counts",
"personal task distribution and independent approval counts",
"explicit missing deadlines and deterministic method",
"documented AI ML product roadmap"
],
"method": "operational_facts_v1",
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 32,
"passed": 32,
"assertions": 856,
"duration_ms": 10518
},
"react_inertia_tests": 26,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"accepted_full_suite_reused": "people-clarifications.json",
"http_proof": "menu-links.json",
"new_migrations": 0,
"new_data_writes": 0,
"external_AI_calls": 0,
"trained_ml_model": false,
"AI_provider_configured": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/PeopleOperationalInsights.php": "fab92b0b0c58fe608a7e030cbfaa2e36842cf391a609fd05bb6f4b443be1ede6",
"app/Http/Controllers/PeopleHiringController.php": "5cf48435c3ba22505544dbaecd368d7abf27bb97edf55158308507db4c36f767",
"resources/js/components/people-operational-insights.tsx": "fce6a71ecc15979749437945639aed6b4ed3bcbfedcee82d50d95a9469ca4300",
"resources/js/pages/people/index.tsx": "bf0753393b9d5cc851be7dccadc27fb3421c0bc1a5215b6af779e1a114034bb9",
"tests/Feature/PeopleHiringTest.php": "01dacd9895e10391732f65372a7a8872576527e4d13b8a4ae8f612c2485fc958",
"tests/frontend/people-hiring.test.tsx": "b1fce7ede76258ee62a686e487e2bcce666b43b9595619d4da1a73d6c9d42d71",
"docs/inteligencia-sgc.md": "51e5ecf9fa8d54a54272fa263b4202f69873145572a9ea7892a5603c37c334cd"
}
}
+1 -4
View File
@@ -3,10 +3,7 @@
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"PeopleHiringTest",
"PeopleRegistryTest"
],
"test_files": ["PeopleHiringTest", "PeopleRegistryTest"],
"original_evaluation_untouched": true,
"database_removed": true
}
+75 -75
View File
@@ -1,77 +1,77 @@
{
"checked_at": "2026-10-30T16:08:01.496023+00:00",
"environment": "local evaluation 8005",
"scope": [
"reusable person identity and profile registry",
"private creator scope and explicit shared read/manage permissions",
"save first profile during reception or select authorised existing record",
"immutable source snapshot per candidature and historical source version display",
"stale or archived registry selection rejected",
"same person unique within process and names never merged automatically",
"atomic registry candidature process and audit rollback",
"cross-company application/registry composite foreign key",
"legacy applications preserved unlinked"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 698,
"passed": 696,
"assertions": 6739,
"duration_ms": 103510,
"skipped": 2
},
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 43,
"passed": 43,
"assertions": 1124,
"duration_ms": 7925
},
"disposable_postgresql": {
"tool": "pest",
"result": "passed",
"tests": 43,
"passed": 43,
"assertions": 1124,
"duration_ms": 24156
},
"postgresql_proof": "people-registry-pg.json",
"installation_proof": "people-registry-install.json",
"react_inertia_tests": 44,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"menu_code_proof": "menu-code-contract.json",
"menu_entries_across_six_roles": 111,
"http_proof": "menu-links.json",
"runtime_sha256_files": 18,
"legacy_records_auto_linked": false,
"people_created_in_evaluation": 0,
"accounts_or_grants_changed": false,
"external_AI_calls": 0,
"global_enter_once_requirement_complete": false,
"remaining_coverage_matrix": "../reutilizacao-dados.md",
"visual_review": false,
"domain_installed": false,
"source_sha256": {
"database/migrations/2026_10_30_000034_create_people_registry.php": "f5869f09cad06b2ded831bce66da4b1f923c001acd56ac8dbfda53d3d79bcc8c",
"app/Services/PeopleRegistry.php": "cbef69cbc127b61731bf44f246201a77f1c78b2447e1d11601635260e066d89c",
"app/Services/PeopleHiring.php": "6b6cf58a022fe1fe9da2f40177557735d0e4112c946fde7e0c9b5eae32b78514",
"app/Services/OrganizationAccess.php": "76809e2f24003a2a1343cae317f47b972544adb231882ed56c6c8484dbaa4ea1",
"app/Http/Controllers/PeopleRegistryController.php": "e702275161464a9835c02f817ebf5215a1c6b3f4c875a77d717fda7c490b0db0",
"app/Http/Controllers/PeopleHiringController.php": "f0d82d3d8bff9fe46abc93bfb4faacb6e6a8d49079c6ca8499fbe479db68aa18",
"resources/js/pages/people/registry.tsx": "3b1249c3425ac1173f50031db99dc979ea875d5ea33b886dc84d003ba1011e92",
"resources/js/components/people-registry-choice.tsx": "9a2a61518b54cbbc30e45126f8fbae76663f0ac5d4c1b7fc010c3c141df00102",
"resources/js/pages/people/show.tsx": "9aaf142675ae73b2a9857a56d91121073bb1180bf7b01fec8fe657f0fbc205e1",
"resources/js/lib/procurement-navigation.ts": "242ebdea74d4d26eca32b716f88f7c9608bca590abefee56ab282010820afe2e",
"routes/web.php": "7097d8299c17ad3912e3fe3d35370d63f38365410325319eb4c571ebf5cc6fb3",
"tests/Feature/PeopleRegistryTest.php": "7b3cefce0fcf25aa910d6ffd138af00ee506d693dbb673e334a70298054a480b",
"tests/frontend/people-registry.test.tsx": "02e6915167cfdd66121ef3768fd55dd95b46bf169fda791e6e68eaf7f974ef21",
"scripts/menu-code-check.mjs": "40063716dee602fd57edd82fed90cc4c69cd315174065f067cfb377877669d9f",
"docs/reutilizacao-dados.md": "937620871fa9504b889e81b727468156a5f2cdeb17408e76389478bd10db9405"
}
"checked_at": "2026-10-30T16:08:01.496023+00:00",
"environment": "local evaluation 8005",
"scope": [
"reusable person identity and profile registry",
"private creator scope and explicit shared read/manage permissions",
"save first profile during reception or select authorised existing record",
"immutable source snapshot per candidature and historical source version display",
"stale or archived registry selection rejected",
"same person unique within process and names never merged automatically",
"atomic registry candidature process and audit rollback",
"cross-company application/registry composite foreign key",
"legacy applications preserved unlinked"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 698,
"passed": 696,
"assertions": 6739,
"duration_ms": 103510,
"skipped": 2
},
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 43,
"passed": 43,
"assertions": 1124,
"duration_ms": 7925
},
"disposable_postgresql": {
"tool": "pest",
"result": "passed",
"tests": 43,
"passed": 43,
"assertions": 1124,
"duration_ms": 24156
},
"postgresql_proof": "people-registry-pg.json",
"installation_proof": "people-registry-install.json",
"react_inertia_tests": 44,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"menu_code_proof": "menu-code-contract.json",
"menu_entries_across_six_roles": 111,
"http_proof": "menu-links.json",
"runtime_sha256_files": 18,
"legacy_records_auto_linked": false,
"people_created_in_evaluation": 0,
"accounts_or_grants_changed": false,
"external_AI_calls": 0,
"global_enter_once_requirement_complete": false,
"remaining_coverage_matrix": "../reutilizacao-dados.md",
"visual_review": false,
"domain_installed": false,
"source_sha256": {
"database/migrations/2026_10_30_000034_create_people_registry.php": "f5869f09cad06b2ded831bce66da4b1f923c001acd56ac8dbfda53d3d79bcc8c",
"app/Services/PeopleRegistry.php": "cbef69cbc127b61731bf44f246201a77f1c78b2447e1d11601635260e066d89c",
"app/Services/PeopleHiring.php": "6b6cf58a022fe1fe9da2f40177557735d0e4112c946fde7e0c9b5eae32b78514",
"app/Services/OrganizationAccess.php": "76809e2f24003a2a1343cae317f47b972544adb231882ed56c6c8484dbaa4ea1",
"app/Http/Controllers/PeopleRegistryController.php": "e702275161464a9835c02f817ebf5215a1c6b3f4c875a77d717fda7c490b0db0",
"app/Http/Controllers/PeopleHiringController.php": "f0d82d3d8bff9fe46abc93bfb4faacb6e6a8d49079c6ca8499fbe479db68aa18",
"resources/js/pages/people/registry.tsx": "3b1249c3425ac1173f50031db99dc979ea875d5ea33b886dc84d003ba1011e92",
"resources/js/components/people-registry-choice.tsx": "9a2a61518b54cbbc30e45126f8fbae76663f0ac5d4c1b7fc010c3c141df00102",
"resources/js/pages/people/show.tsx": "9aaf142675ae73b2a9857a56d91121073bb1180bf7b01fec8fe657f0fbc205e1",
"resources/js/lib/procurement-navigation.ts": "242ebdea74d4d26eca32b716f88f7c9608bca590abefee56ab282010820afe2e",
"routes/web.php": "7097d8299c17ad3912e3fe3d35370d63f38365410325319eb4c571ebf5cc6fb3",
"tests/Feature/PeopleRegistryTest.php": "7b3cefce0fcf25aa910d6ffd138af00ee506d693dbb673e334a70298054a480b",
"tests/frontend/people-registry.test.tsx": "02e6915167cfdd66121ef3768fd55dd95b46bf169fda791e6e68eaf7f974ef21",
"scripts/menu-code-check.mjs": "40063716dee602fd57edd82fed90cc4c69cd315174065f067cfb377877669d9f",
"docs/reutilizacao-dados.md": "937620871fa9504b889e81b727468156a5f2cdeb17408e76389478bd10db9405"
}
}
+1 -3
View File
@@ -3,9 +3,7 @@
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"PeopleHiringTest"
],
"test_files": ["PeopleHiringTest"],
"original_evaluation_untouched": true,
"database_removed": true
}
+50 -50
View File
@@ -1,52 +1,52 @@
{
"checked_at": "2026-10-30T12:28:22.580872+00:00",
"environment": "local evaluation 8005",
"scope": [
"personal operational task queue",
"separate independent formal approval queue",
"original process links and candidate selection hint",
"permission scoped counts filters and reception deadline alerts",
"complete filtered totals beyond pagination",
"minimal list projection excluding rules financial data interviews selection and contract",
"PostgreSQL repeatable read read-only normal index request"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 643,
"passed": 641,
"assertions": 5859,
"duration_ms": 135280,
"skipped": 2
},
"latest_module_tests": {
"tests": 21,
"assertions": 562,
"sqlite": "passed",
"disposable_postgresql": "passed",
"database_removed": true
},
"react_inertia_tests": 23,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"runtime_sha256_files": 18,
"http_proof": "menu-links.json",
"new_tables": 0,
"migrations_applied": false,
"new_assignments_created": false,
"background_decisions_created": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/PeopleWorkdesk.php": "b840eb70a94cbfc3c02869602097a15cfd9fed0333d4d871dd5240ed446b5a8c",
"app/Services/PeopleHiring.php": "c13a0c029496f9e0ab988265501bacfbf5562d70a7176afac2836ad28d4aecd8",
"app/Http/Controllers/PeopleHiringController.php": "a207f268ed65c6da6c75d325142f0df81316b2e1242c3e9745c0ab4b116cf43e",
"resources/js/pages/people/index.tsx": "ed95ed6a64cf8532ed101cc597423c240e699b243083acc22892c65a2875cac2",
"resources/js/pages/people/show.tsx": "67e8d2f3bcd9e85ba52a6f29e285f5572764e65c591a7167f1d4f7f29629a5ab",
"tests/Feature/PeopleHiringTest.php": "82a3a2b2351b233a4a40c5f8fb2babb247d80fa6454974fe61bc6749ad444567",
"tests/frontend/people-hiring.test.tsx": "5f7bfbfa873a66bc6681c746e196bc89a769e929d67293ab8f5465ee21f6dde4"
}
"checked_at": "2026-10-30T12:28:22.580872+00:00",
"environment": "local evaluation 8005",
"scope": [
"personal operational task queue",
"separate independent formal approval queue",
"original process links and candidate selection hint",
"permission scoped counts filters and reception deadline alerts",
"complete filtered totals beyond pagination",
"minimal list projection excluding rules financial data interviews selection and contract",
"PostgreSQL repeatable read read-only normal index request"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 643,
"passed": 641,
"assertions": 5859,
"duration_ms": 135280,
"skipped": 2
},
"latest_module_tests": {
"tests": 21,
"assertions": 562,
"sqlite": "passed",
"disposable_postgresql": "passed",
"database_removed": true
},
"react_inertia_tests": 23,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"runtime_sha256_files": 18,
"http_proof": "menu-links.json",
"new_tables": 0,
"migrations_applied": false,
"new_assignments_created": false,
"background_decisions_created": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"app/Services/PeopleWorkdesk.php": "b840eb70a94cbfc3c02869602097a15cfd9fed0333d4d871dd5240ed446b5a8c",
"app/Services/PeopleHiring.php": "c13a0c029496f9e0ab988265501bacfbf5562d70a7176afac2836ad28d4aecd8",
"app/Http/Controllers/PeopleHiringController.php": "a207f268ed65c6da6c75d325142f0df81316b2e1242c3e9745c0ab4b116cf43e",
"resources/js/pages/people/index.tsx": "ed95ed6a64cf8532ed101cc597423c240e699b243083acc22892c65a2875cac2",
"resources/js/pages/people/show.tsx": "67e8d2f3bcd9e85ba52a6f29e285f5572764e65c591a7167f1d4f7f29629a5ab",
"tests/Feature/PeopleHiringTest.php": "82a3a2b2351b233a4a40c5f8fb2babb247d80fa6454974fe61bc6749ad444567",
"tests/frontend/people-hiring.test.tsx": "5f7bfbfa873a66bc6681c746e196bc89a769e929d67293ab8f5465ee21f6dde4"
}
}
+54 -54
View File
@@ -1,56 +1,56 @@
{
"checked_at": "2026-10-30T14:40:19.164501+00:00",
"environment": "local evaluation 8005",
"method": "procurement_facts_v1",
"scope": [
"authorised filtered report across all pages",
"pending submission calendar age and unknown age",
"need date distinguished from supplier delivery deadline",
"approved requests without registered quotations or visible orders",
"source links and shared indicator definitions"
],
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 9,
"passed": 9,
"assertions": 197,
"duration_ms": 5247
},
"postgresql_integration": {
"tool": "phpunit",
"result": "passed",
"tests": 1,
"passed": 1,
"assertions": 36,
"duration_ms": 2364
},
"postgresql_note": "Standalone PHPUnit scenario without RefreshDatabase outer transaction; report transaction guard preserved. Disposable database removed.",
"postgresql_proof": "procurement-intelligence-pg.json",
"react_inertia_tests": 28,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"http_proof": "menu-links.json",
"prior_full_suite_reused": "people-clarifications.json",
"migrations_installed": false,
"business_data_changed": false,
"csv_contract_changed": false,
"domain_installed": false,
"visual_review": false,
"ml_model_active": false,
"external_AI_calls": 0,
"source_sha256": {
"app/Services/ProcurementOperationalInsights.php": "ddd1eab9214fd8bd029b6a3de2a6999af703d32eeed639419b93527cd9a92930",
"app/Http/Controllers/ProcurementReportController.php": "96c33da41d00de5a6263ce1cb474e8ded64a28a1bdc9688659dbd82f6f37f992",
"app/Models/Requisition.php": "e915153723afa5dc3e7c0642502800cd3b7d9df3e3109809adcd43c122e803d6",
"resources/js/components/procurement-operational-insights.tsx": "beed70921e0287830aa3ae9126a5ef6b7f4a634c986a5e4a5f5be8a09b3e96fa",
"resources/js/pages/reports/procurement.tsx": "11af82a74fc516bf5e1c47741b7c081d0b63c2196c6ac148e45df2da29f03f7a",
"tests/Feature/ProcurementReportsTest.php": "e51ad3f19533c0b0e974ccd2e8138755eeadf0d65f81ba7c2a3eb434c1f9fb9d",
"tests/frontend/procurement-insights.test.tsx": "182639a220ea4b8bb09195a9623b03f17cc32a588a4c8619648595bc592a89f4",
"docs/indicadores-sgc.md": "83a3c486e77622da635574065d5f4147f60a6558b009fb1ab1ad43944c433c11",
"docs/inteligencia-sgc.md": "360e21b342c26d31e543ca8ce5dbbe0d7e155f57e0be8d4b214599d4c9f4ddac"
}
"checked_at": "2026-10-30T14:40:19.164501+00:00",
"environment": "local evaluation 8005",
"method": "procurement_facts_v1",
"scope": [
"authorised filtered report across all pages",
"pending submission calendar age and unknown age",
"need date distinguished from supplier delivery deadline",
"approved requests without registered quotations or visible orders",
"source links and shared indicator definitions"
],
"module_tests": {
"tool": "pest",
"result": "passed",
"tests": 9,
"passed": 9,
"assertions": 197,
"duration_ms": 5247
},
"postgresql_integration": {
"tool": "phpunit",
"result": "passed",
"tests": 1,
"passed": 1,
"assertions": 36,
"duration_ms": 2364
},
"postgresql_note": "Standalone PHPUnit scenario without RefreshDatabase outer transaction; report transaction guard preserved. Disposable database removed.",
"postgresql_proof": "procurement-intelligence-pg.json",
"react_inertia_tests": 28,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"http_proof": "menu-links.json",
"prior_full_suite_reused": "people-clarifications.json",
"migrations_installed": false,
"business_data_changed": false,
"csv_contract_changed": false,
"domain_installed": false,
"visual_review": false,
"ml_model_active": false,
"external_AI_calls": 0,
"source_sha256": {
"app/Services/ProcurementOperationalInsights.php": "ddd1eab9214fd8bd029b6a3de2a6999af703d32eeed639419b93527cd9a92930",
"app/Http/Controllers/ProcurementReportController.php": "96c33da41d00de5a6263ce1cb474e8ded64a28a1bdc9688659dbd82f6f37f992",
"app/Models/Requisition.php": "e915153723afa5dc3e7c0642502800cd3b7d9df3e3109809adcd43c122e803d6",
"resources/js/components/procurement-operational-insights.tsx": "beed70921e0287830aa3ae9126a5ef6b7f4a634c986a5e4a5f5be8a09b3e96fa",
"resources/js/pages/reports/procurement.tsx": "11af82a74fc516bf5e1c47741b7c081d0b63c2196c6ac148e45df2da29f03f7a",
"tests/Feature/ProcurementReportsTest.php": "e51ad3f19533c0b0e974ccd2e8138755eeadf0d65f81ba7c2a3eb434c1f9fb9d",
"tests/frontend/procurement-insights.test.tsx": "182639a220ea4b8bb09195a9623b03f17cc32a588a4c8619648595bc592a89f4",
"docs/indicadores-sgc.md": "83a3c486e77622da635574065d5f4147f60a6558b009fb1ab1ad43944c433c11",
"docs/inteligencia-sgc.md": "360e21b342c26d31e543ca8ce5dbbe0d7e155f57e0be8d4b214599d4c9f4ddac"
}
}
+48 -48
View File
@@ -1,50 +1,50 @@
{
"date": "2026-10-30",
"base_commit": "0235c7609ed52345e91ae1a6b268e45e1eb991af",
"scope": "Menu routing inventory, central filtered procurement reports/CSV and existing individual report extended to receipt/invoice/external-payment records.",
"checks": {
"feature_passed": 14,
"assertions": 223,
"new_cases": 8,
"existing_report_regressions": 6,
"export_fixture_records": 207,
"menu_entries_across_roles": 102,
"roles": 6,
"types": "passed",
"lint": "passed",
"format": "passed",
"pint": "passed",
"phpstan": "passed after correcting the documented date cast type",
"build": "passed",
"new_module_http": 200,
"evaluation_entry_http": 200,
"runtime_manifest_files": 18
},
"source_sha256": {
"app/Http/Controllers/ProcurementReportController.php": "5161063f8f9684595c83300f22e6516e03700917e3b578651dee7254ee5f6a55",
"app/Services/ProcurementReviewReport.php": "1d5a41b59c471ad1db5e7f39eb15ac4b080239968341ccdf9a78ce17a301144c",
"app/Models/GoodsReceipt.php": "ec9b86ca625a8d4d8972ba1d91636bf37475f680f2212faa1e31c44709660a5a",
"routes/web.php": "1014ea42f0544428df49304c16cc55fb0632188ac0ad1940ba6a637b9f228be0",
"resources/js/lib/procurement-navigation.ts": "f250199564cd56e73ff5d5851a19dcbbe41df6da7b5c2cb9024c0965b8e087dc",
"resources/js/pages/reports/procurement.tsx": "a4ec4c51a8b7b8012852f1ad1d36ac931fec25c41a383c10a9449fddc3bd23d5",
"resources/js/pages/purchases/review-report.tsx": "8a5a02d99b5dd5d6f50a41e6e76711b15e578fd09dc039e2b6defc64d20abe04",
"tests/Feature/ProcurementReportsTest.php": "fc88ceef66d419ef72e9231e8273da20f2e1f400ad9610ad5ff85cadeb2259b2",
"scripts/menu-code-check.mjs": "8480ec5b1f3fd26aa7ff7cbc52c304a632b11e0eaa5a4cacadab0e119ceac236"
},
"menu_proof": "docs/proofs/menu-code-contract.json",
"build_log_local": "storage/logs/development-reports-build.log",
"build_log_sha256": "2709a9c383c3110469d6aa08a1efc8b821e24c3b7b8f9a5d3552e403ea9f5ad6",
"preservation": {
"migrations": 0,
"active_business_writes": 0,
"new_accounts_or_grants": 0,
"balance_or_tax_recalculation": false,
"remote_deployment": false
},
"limits": [
"Visual and manual printing not executed.",
"PostgreSQL snapshot clause implemented using the existing report pattern; new tests used isolated SQLite, not a PostgreSQL concurrency proof.",
"Supplier evaluations remain an interface proposal pending its operational implementation.",
"Not a consolidated debt/bank/accounting report; common settlements keep their own history."
]
"date": "2026-10-30",
"base_commit": "0235c7609ed52345e91ae1a6b268e45e1eb991af",
"scope": "Menu routing inventory, central filtered procurement reports/CSV and existing individual report extended to receipt/invoice/external-payment records.",
"checks": {
"feature_passed": 14,
"assertions": 223,
"new_cases": 8,
"existing_report_regressions": 6,
"export_fixture_records": 207,
"menu_entries_across_roles": 102,
"roles": 6,
"types": "passed",
"lint": "passed",
"format": "passed",
"pint": "passed",
"phpstan": "passed after correcting the documented date cast type",
"build": "passed",
"new_module_http": 200,
"evaluation_entry_http": 200,
"runtime_manifest_files": 18
},
"source_sha256": {
"app/Http/Controllers/ProcurementReportController.php": "5161063f8f9684595c83300f22e6516e03700917e3b578651dee7254ee5f6a55",
"app/Services/ProcurementReviewReport.php": "1d5a41b59c471ad1db5e7f39eb15ac4b080239968341ccdf9a78ce17a301144c",
"app/Models/GoodsReceipt.php": "ec9b86ca625a8d4d8972ba1d91636bf37475f680f2212faa1e31c44709660a5a",
"routes/web.php": "1014ea42f0544428df49304c16cc55fb0632188ac0ad1940ba6a637b9f228be0",
"resources/js/lib/procurement-navigation.ts": "f250199564cd56e73ff5d5851a19dcbbe41df6da7b5c2cb9024c0965b8e087dc",
"resources/js/pages/reports/procurement.tsx": "a4ec4c51a8b7b8012852f1ad1d36ac931fec25c41a383c10a9449fddc3bd23d5",
"resources/js/pages/purchases/review-report.tsx": "8a5a02d99b5dd5d6f50a41e6e76711b15e578fd09dc039e2b6defc64d20abe04",
"tests/Feature/ProcurementReportsTest.php": "fc88ceef66d419ef72e9231e8273da20f2e1f400ad9610ad5ff85cadeb2259b2",
"scripts/menu-code-check.mjs": "8480ec5b1f3fd26aa7ff7cbc52c304a632b11e0eaa5a4cacadab0e119ceac236"
},
"menu_proof": "docs/proofs/menu-code-contract.json",
"build_log_local": "storage/logs/development-reports-build.log",
"build_log_sha256": "2709a9c383c3110469d6aa08a1efc8b821e24c3b7b8f9a5d3552e403ea9f5ad6",
"preservation": {
"migrations": 0,
"active_business_writes": 0,
"new_accounts_or_grants": 0,
"balance_or_tax_recalculation": false,
"remote_deployment": false
},
"limits": [
"Visual and manual printing not executed.",
"PostgreSQL snapshot clause implemented using the existing report pattern; new tests used isolated SQLite, not a PostgreSQL concurrency proof.",
"Supplier evaluations remain an interface proposal pending its operational implementation.",
"Not a consolidated debt/bank/accounting report; common settlements keep their own history."
]
}
+1 -4
View File
@@ -3,10 +3,7 @@
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"RequisitionCatalogueTest",
"ReceiptStockTest"
],
"test_files": ["RequisitionCatalogueTest", "ReceiptStockTest"],
"original_evaluation_untouched": true,
"database_removed": true
}
+50 -50
View File
@@ -1,52 +1,52 @@
{
"checked_at": "2026-10-30T16:26:29.650769+00:00",
"scope": [
"published company article selection in requisition",
"server-authoritative descriptors",
"frozen source and version through order",
"receipt stock identification and rejection of other stock",
"legacy rows preserved without automatic linking"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 703,
"passed": 701,
"assertions": 6828,
"duration_ms": 163777,
"skipped": 2
},
"postgresql_tests": 35,
"postgresql_assertions": 252,
"react_inertia_tests": 47,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"menu_entries_across_six_roles": 111,
"http_proof": "menu-links.json",
"runtime_sha256_files": 18,
"installation_proof": "requisition-catalogue-install.json",
"postgresql_proof": "requisition-catalogue-pg.json",
"visual_review": false,
"domain_installed": false,
"external_AI_calls": 0,
"global_enter_once_requirement_complete": false,
"remaining_coverage_matrix": "../reutilizacao-dados.md",
"source_sha256": {
"database/migrations/2026_10_30_000035_create_requisition_catalogue.php": "8899a8f118a3fed3ef2302f82cb75008445ebfdd5bf08f7ef3b3f167bdd9fdb6",
"app/Services/RequisitionCatalogue.php": "ddf8079125a0c6ce2a898780ac82c8eb8f0f335e46f499c10f8c04b6a74b879e",
"app/Services/RequisitionWorkflow.php": "8d35c229c22bee4ccb2bbde1b204c35b2e61231ae05ce850f1dec3f6c874dd56",
"app/Services/PurchaseWorkflow.php": "09cfdb70966b5067b3cfab0a7b8e87d83307ef89e566bf700a38048647b0ac11",
"app/Services/ReceiptWorkflow.php": "736c13dce0812e5c4b0b949cbdd38a6988de6a0651566876935379f8f4b673d6",
"app/Http/Controllers/RequisitionCatalogueController.php": "86540cba2c4f5219e56a254fa5278ff4421126f8b6c78cc3e92b69800603e422",
"app/Http/Requests/StoreRequisitionRequest.php": "83685bf281027d36cc78734078bb567a3808b7c313efe775df205a78e521851e",
"resources/js/pages/requisitions/form.tsx": "a8df407caa3aa859f34dfd18820a25b9c7e36ddf15342ff3e13ff409bfd4b070",
"resources/js/pages/stock/catalogue.tsx": "560f529f1c61dd1dd731c00f05e0d5a0f4f5147abc63916cafdacd406b4b7776",
"resources/js/pages/receipts/order.tsx": "635c8759254bd559b7a0f84bf26a9eeade9062aeb0c847488bd1b9949617ad72",
"tests/Feature/RequisitionCatalogueTest.php": "8bc598ff89e4c15bedb763f67891ee493e7a248ce387ff96b9355e9f6385fbf2",
"tests/Feature/PurchaseAwardOrderTest.php": "914a8459cb98a049fb38c6e6e745953b3068499829162568f7f7accce71bb068",
"tests/frontend/requisition-catalogue.test.tsx": "2dc95238e5b50a93ad4879f0ac5df161c9ced3227afe15a15e501e32e0314c13"
}
"checked_at": "2026-10-30T16:26:29.650769+00:00",
"scope": [
"published company article selection in requisition",
"server-authoritative descriptors",
"frozen source and version through order",
"receipt stock identification and rejection of other stock",
"legacy rows preserved without automatic linking"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 703,
"passed": 701,
"assertions": 6828,
"duration_ms": 163777,
"skipped": 2
},
"postgresql_tests": 35,
"postgresql_assertions": 252,
"react_inertia_tests": 47,
"typescript": "passed",
"phpstan_errors": 0,
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"menu_entries_across_six_roles": 111,
"http_proof": "menu-links.json",
"runtime_sha256_files": 18,
"installation_proof": "requisition-catalogue-install.json",
"postgresql_proof": "requisition-catalogue-pg.json",
"visual_review": false,
"domain_installed": false,
"external_AI_calls": 0,
"global_enter_once_requirement_complete": false,
"remaining_coverage_matrix": "../reutilizacao-dados.md",
"source_sha256": {
"database/migrations/2026_10_30_000035_create_requisition_catalogue.php": "8899a8f118a3fed3ef2302f82cb75008445ebfdd5bf08f7ef3b3f167bdd9fdb6",
"app/Services/RequisitionCatalogue.php": "ddf8079125a0c6ce2a898780ac82c8eb8f0f335e46f499c10f8c04b6a74b879e",
"app/Services/RequisitionWorkflow.php": "8d35c229c22bee4ccb2bbde1b204c35b2e61231ae05ce850f1dec3f6c874dd56",
"app/Services/PurchaseWorkflow.php": "09cfdb70966b5067b3cfab0a7b8e87d83307ef89e566bf700a38048647b0ac11",
"app/Services/ReceiptWorkflow.php": "736c13dce0812e5c4b0b949cbdd38a6988de6a0651566876935379f8f4b673d6",
"app/Http/Controllers/RequisitionCatalogueController.php": "86540cba2c4f5219e56a254fa5278ff4421126f8b6c78cc3e92b69800603e422",
"app/Http/Requests/StoreRequisitionRequest.php": "83685bf281027d36cc78734078bb567a3808b7c313efe775df205a78e521851e",
"resources/js/pages/requisitions/form.tsx": "a8df407caa3aa859f34dfd18820a25b9c7e36ddf15342ff3e13ff409bfd4b070",
"resources/js/pages/stock/catalogue.tsx": "560f529f1c61dd1dd731c00f05e0d5a0f4f5147abc63916cafdacd406b4b7776",
"resources/js/pages/receipts/order.tsx": "635c8759254bd559b7a0f84bf26a9eeade9062aeb0c847488bd1b9949617ad72",
"tests/Feature/RequisitionCatalogueTest.php": "8bc598ff89e4c15bedb763f67891ee493e7a248ce387ff96b9355e9f6385fbf2",
"tests/Feature/PurchaseAwardOrderTest.php": "914a8459cb98a049fb38c6e6e745953b3068499829162568f7f7accce71bb068",
"tests/frontend/requisition-catalogue.test.tsx": "2dc95238e5b50a93ad4879f0ac5df161c9ced3227afe15a15e501e32e0314c13"
}
}
+27 -27
View File
@@ -1,29 +1,29 @@
{
"checked_at": "2026-10-30T11:53:42.906027+00:00",
"name": "SGC - Sistema de Gestão de Contratações",
"tagline": "Aquisições, serviços e pessoas",
"signature": "Uma solução TEMPO",
"acronym": "SGC",
"php_tests": 35,
"assertions": 228,
"react_inertia_tests": 21,
"typescript": "passed",
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"local_entry_http": "passed",
"migrations_applied": false,
"business_data_changed": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"resources/js/components/sgc-workspace-shell.tsx": "4c6857d4e66bd5732af61c7ff52659fd38db7ea7805173f58398acb7a4a0f287",
"resources/js/components/sgc-shell.tsx": "76e8059c5b5a9ae1e4351ee8efaa0e376394dc7133bc7524b5ee653009836687",
"resources/js/pages/home.tsx": "719c1feb0ed0070545a98b00e012b09ef2a8dbd2877c94a0fbb0f0ba25548d87",
"resources/js/pages/auth/login.tsx": "13256348dc44f9f19105c320782ba7f54ddea9e92bd95f2dabc38dc86958ffa6",
"resources/js/layouts/auth/auth-simple-layout.tsx": "a08bee2476691273897ff1218f93c9da2e26a7d0e9b98558c3aa78a49f76edc4",
"resources/views/app.blade.php": "d16385dff24a46c10efe39ee201ad5de9441eaa7dd88407540330c00894fac13",
"resources/views/purchases/opening.blade.php": "7a630cf84e8189c65d3e24b477b5685a5411d9f1ca06da238c91c46a1a2d9592",
"resources/views/purchases/recommendation-print.blade.php": "6854c841bf6132875e9994dd76598c47074ed8e6640e4983bd9fa9b8bb26edc8"
}
"checked_at": "2026-10-30T11:53:42.906027+00:00",
"name": "SGC - Sistema de Gestão de Contratações",
"tagline": "Aquisições, serviços e pessoas",
"signature": "Uma solução TEMPO",
"acronym": "SGC",
"php_tests": 35,
"assertions": 228,
"react_inertia_tests": 21,
"typescript": "passed",
"targeted_lint": "passed",
"pint": "passed",
"build_exit": 0,
"local_entry_http": "passed",
"migrations_applied": false,
"business_data_changed": false,
"domain_installed": false,
"visual_review": false,
"source_sha256": {
"resources/js/components/sgc-workspace-shell.tsx": "4c6857d4e66bd5732af61c7ff52659fd38db7ea7805173f58398acb7a4a0f287",
"resources/js/components/sgc-shell.tsx": "76e8059c5b5a9ae1e4351ee8efaa0e376394dc7133bc7524b5ee653009836687",
"resources/js/pages/home.tsx": "719c1feb0ed0070545a98b00e012b09ef2a8dbd2877c94a0fbb0f0ba25548d87",
"resources/js/pages/auth/login.tsx": "13256348dc44f9f19105c320782ba7f54ddea9e92bd95f2dabc38dc86958ffa6",
"resources/js/layouts/auth/auth-simple-layout.tsx": "a08bee2476691273897ff1218f93c9da2e26a7d0e9b98558c3aa78a49f76edc4",
"resources/views/app.blade.php": "d16385dff24a46c10efe39ee201ad5de9441eaa7dd88407540330c00894fac13",
"resources/views/purchases/opening.blade.php": "7a630cf84e8189c65d3e24b477b5685a5411d9f1ca06da238c91c46a1a2d9592",
"resources/views/purchases/recommendation-print.blade.php": "6854c841bf6132875e9994dd76598c47074ed8e6640e4983bd9fa9b8bb26edc8"
}
}
+7 -7
View File
@@ -1,9 +1,9 @@
{
"checked_at": "2026-10-30T16:47:29.726Z",
"admin": 200,
"warehouse": 403,
"modalities": 6,
"initial_saved_versions": 0,
"availability_location": true,
"external_portal_available": false
"checked_at": "2026-10-30T16:47:29.726Z",
"admin": 200,
"warehouse": 403,
"modalities": 6,
"initial_saved_versions": 0,
"availability_location": true,
"external_portal_available": false
}
+13 -13
View File
@@ -1,15 +1,15 @@
{
"checked_at": "2026-10-30T16:45:32+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"SubmissionAnswersTest",
"SubmissionFormsTest",
"PeopleHiringTest"
],
"original_evaluation_untouched": true,
"database_removed": true,
"tests": 44,
"assertions": 1088
"checked_at": "2026-10-30T16:45:32+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"SubmissionAnswersTest",
"SubmissionFormsTest",
"PeopleHiringTest"
],
"original_evaluation_untouched": true,
"database_removed": true,
"tests": 44,
"assertions": 1088
}
+59 -59
View File
@@ -1,61 +1,61 @@
{
"checked_at": "2026-10-30T16:48:55.574914+00:00",
"scope": [
"six independently versioned company intake form configurations",
"immutable append-only definitions and history",
"stale update rejection and audit rollback",
"frozen form definition at preparation of new people opportunities",
"structured province district locality availability field and reusable validation"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 710,
"passed": 708,
"assertions": 6904,
"duration_ms": 149093,
"skipped": 2
},
"module_sqlite_tests": 44,
"module_assertions": 1088,
"disposable_postgresql_tests": 44,
"disposable_postgresql_assertions": 1088,
"react_inertia_tests": 49,
"phpstan_errors": 0,
"typescript": "passed",
"pint": "passed",
"targeted_lint": "passed",
"build_exit": 0,
"menu_code_proof": "menu-code-contract.json",
"menu_links_proof": "menu-links.json",
"runtime_sha256_files": 18,
"postgresql_proof": "submission-forms-pg.json",
"installation_proof": "submission-forms-install.json",
"http_proof": "submission-forms-http.json",
"visual_review": false,
"domain_installed": false,
"external_portal_available": false,
"external_AI_calls": 0,
"original_document_changed": false,
"outstanding": [
"external identity and reusable candidate profile",
"submission uploads security verification receipt and triage",
"complements and revisions",
"official territory validation and multiple availability locations",
"privacy and retention configuration before public operation"
],
"source_sha256": {
"database/migrations/2026_10_30_000036_create_submission_forms.php": "158a2a4dbe7a5b1af281281619e13e9fef573dc4e2afe5a6e79c56dd1ecb9e7a",
"app/Services/SubmissionForms.php": "033c65865c3a8bdb354a297585ce0728c954b94a78ccb7fbd95c93b8be9b1236",
"app/Services/SubmissionAnswers.php": "49c203f85b3eec68d6a343e9f1c9b693eb56d42411d6d3b798c359e12eddc130",
"app/Services/PeopleHiring.php": "18ffaaa08774b1a5a0ec3f9a06898f40cc20ee564b89e252113ff8e7ad81b5a3",
"app/Http/Controllers/SubmissionFormsController.php": "c9c937e8b03c24410c156d70fbbc0c6e65ede3e57e741dfe6849c2f2cee0eefa",
"resources/js/pages/company/submission-forms.tsx": "ebe9b36d1ae9b42780d3f54cb86770358f1333bfc822b602ba1ca5dbfbbc9271",
"resources/js/pages/company/parameters.tsx": "80f8bc5304066fcaceb5727374c2f5b3a9cc9e61194d8c35cf64e093b1aee3d3",
"resources/js/pages/people/show.tsx": "d7dcd65a1f70b0e30223ac0a8bb1062f991443dc4ed9700be97a9b02eca2307f",
"tests/Feature/SubmissionFormsTest.php": "06e567b030486fdfec459ef69d125bc5b6916a6c54968ef1666471cc52d5bda8",
"tests/Feature/SubmissionAnswersTest.php": "a152ba6fd7129490d6fa6294645d01ed824a8c4c73342ce38a1fb3d95a3044c4",
"tests/Feature/PeopleHiringTest.php": "52028989c405043e96a33807232250a64e8c7e48b8f49eac282664c894e1cb9c",
"tests/frontend/submission-forms.test.tsx": "e0460f9227964d27f331c1f0801339998f4fd8693cc5b27e13bcf1d51c5fc156"
}
"checked_at": "2026-10-30T16:48:55.574914+00:00",
"scope": [
"six independently versioned company intake form configurations",
"immutable append-only definitions and history",
"stale update rejection and audit rollback",
"frozen form definition at preparation of new people opportunities",
"structured province district locality availability field and reusable validation"
],
"full_suite": {
"tool": "pest",
"result": "passed",
"tests": 710,
"passed": 708,
"assertions": 6904,
"duration_ms": 149093,
"skipped": 2
},
"module_sqlite_tests": 44,
"module_assertions": 1088,
"disposable_postgresql_tests": 44,
"disposable_postgresql_assertions": 1088,
"react_inertia_tests": 49,
"phpstan_errors": 0,
"typescript": "passed",
"pint": "passed",
"targeted_lint": "passed",
"build_exit": 0,
"menu_code_proof": "menu-code-contract.json",
"menu_links_proof": "menu-links.json",
"runtime_sha256_files": 18,
"postgresql_proof": "submission-forms-pg.json",
"installation_proof": "submission-forms-install.json",
"http_proof": "submission-forms-http.json",
"visual_review": false,
"domain_installed": false,
"external_portal_available": false,
"external_AI_calls": 0,
"original_document_changed": false,
"outstanding": [
"external identity and reusable candidate profile",
"submission uploads security verification receipt and triage",
"complements and revisions",
"official territory validation and multiple availability locations",
"privacy and retention configuration before public operation"
],
"source_sha256": {
"database/migrations/2026_10_30_000036_create_submission_forms.php": "158a2a4dbe7a5b1af281281619e13e9fef573dc4e2afe5a6e79c56dd1ecb9e7a",
"app/Services/SubmissionForms.php": "033c65865c3a8bdb354a297585ce0728c954b94a78ccb7fbd95c93b8be9b1236",
"app/Services/SubmissionAnswers.php": "49c203f85b3eec68d6a343e9f1c9b693eb56d42411d6d3b798c359e12eddc130",
"app/Services/PeopleHiring.php": "18ffaaa08774b1a5a0ec3f9a06898f40cc20ee564b89e252113ff8e7ad81b5a3",
"app/Http/Controllers/SubmissionFormsController.php": "c9c937e8b03c24410c156d70fbbc0c6e65ede3e57e741dfe6849c2f2cee0eefa",
"resources/js/pages/company/submission-forms.tsx": "ebe9b36d1ae9b42780d3f54cb86770358f1333bfc822b602ba1ca5dbfbbc9271",
"resources/js/pages/company/parameters.tsx": "80f8bc5304066fcaceb5727374c2f5b3a9cc9e61194d8c35cf64e093b1aee3d3",
"resources/js/pages/people/show.tsx": "d7dcd65a1f70b0e30223ac0a8bb1062f991443dc4ed9700be97a9b02eca2307f",
"tests/Feature/SubmissionFormsTest.php": "06e567b030486fdfec459ef69d125bc5b6916a6c54968ef1666471cc52d5bda8",
"tests/Feature/SubmissionAnswersTest.php": "a152ba6fd7129490d6fa6294645d01ed824a8c4c73342ce38a1fb3d95a3044c4",
"tests/Feature/PeopleHiringTest.php": "52028989c405043e96a33807232250a64e8c7e48b8f49eac282664c894e1cb9c",
"tests/frontend/submission-forms.test.tsx": "e0460f9227964d27f331c1f0801339998f4fd8693cc5b27e13bcf1d51c5fc156"
}
}
+13 -13
View File
@@ -1,15 +1,15 @@
{
"checked_at": "2026-10-30T07:33:29.638Z",
"base": "http://127.0.0.1:8005",
"report_path": "/fornecedores/avaliacoes/1/relatorio",
"revision_path": "/fornecedores/avaliacoes/2",
"create_submit_return_correct_approve": true,
"self_approval_refused": true,
"stale_write_refused": true,
"approved_edit_refused": true,
"prior_approved_revision_preserved": true,
"history_events": 6,
"synthetic_example_only": true,
"financial_commands": 0,
"visual_review": false
"checked_at": "2026-10-30T07:33:29.638Z",
"base": "http://127.0.0.1:8005",
"report_path": "/fornecedores/avaliacoes/1/relatorio",
"revision_path": "/fornecedores/avaliacoes/2",
"create_submit_return_correct_approve": true,
"self_approval_refused": true,
"stale_write_refused": true,
"approved_edit_refused": true,
"prior_approved_revision_preserved": true,
"history_events": 6,
"synthetic_example_only": true,
"financial_commands": 0,
"visual_review": false
}
@@ -1,24 +1,16 @@
{
"checked_at": "2026-10-30T07:51:21.312Z",
"base": "http://127.0.0.1:8005",
"path": "/relatorios/medidas-fornecedores",
"readers": [
"admin",
"procurement",
"finance",
"department_head"
],
"denied": [
"requester",
"warehouse"
],
"total": 1,
"filtered_total": 1,
"filters_and_csv_match": true,
"csv_ignores_page": true,
"closed_not_overdue": true,
"invalid_range_refused": true,
"linked_evaluation_and_report": true,
"business_commands": 0,
"visual_review": false
"checked_at": "2026-10-30T07:51:21.312Z",
"base": "http://127.0.0.1:8005",
"path": "/relatorios/medidas-fornecedores",
"readers": ["admin", "procurement", "finance", "department_head"],
"denied": ["requester", "warehouse"],
"total": 1,
"filtered_total": 1,
"filters_and_csv_match": true,
"csv_ignores_page": true,
"closed_not_overdue": true,
"invalid_range_refused": true,
"linked_evaluation_and_report": true,
"business_commands": 0,
"visual_review": false
}
+27 -27
View File
@@ -1,29 +1,29 @@
{
"checked_at": "2026-10-30T07:52:09.806123+00:00",
"targeted_tests": 36,
"assertions": 542,
"new_report_test_cases": 6,
"csv_batch_test_rows": 207,
"phpstan_errors": 0,
"typescript": "passed",
"lint_and_format_targeted": "passed",
"pint_targeted": "passed",
"build": "passed",
"build_log": "storage/logs/supplier-improvement-report-build.log",
"menu_entries": 106,
"roles": 6,
"evaluation_catalog_pages": 22,
"schema_changes": false,
"business_commands": 0,
"domain_installed": false,
"visual_review": false,
"sources": {
"app/Http/Controllers/SupplierImprovementReportController.php": "fdaf0d5484e91481cdd5d676eb6951f8575bcc328961e993acf3290f5d8343cc",
"app/Models/SupplierImprovement.php": "762af10d9c14d70dd03e51ef6d9a80efe36171a9a0121a985ae0c17f06f03d4e",
"resources/js/pages/reports/supplier-improvements.tsx": "070d4c5eaf0a75439751504b21262df1c2f0e60d59e93538ff5d9c5959fe6398",
"resources/js/components/supplier-improvements.tsx": "7add7f51d907943682d3f132dc135f0e41b726dd67ddf2478852cf30ba5a21dd",
"resources/js/lib/procurement-navigation.ts": "a2a26bbd50c288e7cde589c7d8c2aaa3929f5ae20fc8b01c502db031d95085d4",
"tests/Feature/SupplierImprovementReportTest.php": "daf90f8da729a489bdc5116b318514c82a91b89ffbfb2c082b11457661544985",
"scripts/supplier-improvement-report-check.mjs": "60c57d36ebc83928198734573b5072240291504b57f2b88be3167f8f7c40c906"
}
"checked_at": "2026-10-30T07:52:09.806123+00:00",
"targeted_tests": 36,
"assertions": 542,
"new_report_test_cases": 6,
"csv_batch_test_rows": 207,
"phpstan_errors": 0,
"typescript": "passed",
"lint_and_format_targeted": "passed",
"pint_targeted": "passed",
"build": "passed",
"build_log": "storage/logs/supplier-improvement-report-build.log",
"menu_entries": 106,
"roles": 6,
"evaluation_catalog_pages": 22,
"schema_changes": false,
"business_commands": 0,
"domain_installed": false,
"visual_review": false,
"sources": {
"app/Http/Controllers/SupplierImprovementReportController.php": "fdaf0d5484e91481cdd5d676eb6951f8575bcc328961e993acf3290f5d8343cc",
"app/Models/SupplierImprovement.php": "762af10d9c14d70dd03e51ef6d9a80efe36171a9a0121a985ae0c17f06f03d4e",
"resources/js/pages/reports/supplier-improvements.tsx": "070d4c5eaf0a75439751504b21262df1c2f0e60d59e93538ff5d9c5959fe6398",
"resources/js/components/supplier-improvements.tsx": "7add7f51d907943682d3f132dc135f0e41b726dd67ddf2478852cf30ba5a21dd",
"resources/js/lib/procurement-navigation.ts": "a2a26bbd50c288e7cde589c7d8c2aaa3929f5ae20fc8b01c502db031d95085d4",
"tests/Feature/SupplierImprovementReportTest.php": "daf90f8da729a489bdc5116b318514c82a91b89ffbfb2c082b11457661544985",
"scripts/supplier-improvement-report-check.mjs": "60c57d36ebc83928198734573b5072240291504b57f2b88be3167f8f7c40c906"
}
}
+17 -17
View File
@@ -1,19 +1,19 @@
{
"checked_at": "2026-10-30T07:41:16.109Z",
"base": "http://127.0.0.1:8005",
"evaluation_path": "/fornecedores/avaliacoes/1",
"measure_id": 1,
"create_retry_idempotent": true,
"missing_evidence_refused": true,
"self_closure_refused": true,
"planner_closure_refused": true,
"return_replan_correct_submit_close": true,
"stale_plan_refused": true,
"closed_edit_refused": true,
"parent_evaluation_unchanged": true,
"history_events": 7,
"report_includes_closed_measure": true,
"synthetic_example_only": true,
"financial_commands": 0,
"visual_review": false
"checked_at": "2026-10-30T07:41:16.109Z",
"base": "http://127.0.0.1:8005",
"evaluation_path": "/fornecedores/avaliacoes/1",
"measure_id": 1,
"create_retry_idempotent": true,
"missing_evidence_refused": true,
"self_closure_refused": true,
"planner_closure_refused": true,
"return_replan_correct_submit_close": true,
"stale_plan_refused": true,
"closed_edit_refused": true,
"parent_evaluation_unchanged": true,
"history_events": 7,
"report_includes_closed_measure": true,
"synthetic_example_only": true,
"financial_commands": 0,
"visual_review": false
}
+18 -18
View File
@@ -1,20 +1,20 @@
{
"checked_at": "2026-10-30T07:57:43.108Z",
"base": "http://127.0.0.1:8005",
"evaluation_path": "/fornecedores/avaliacoes/1",
"response_id": 1,
"idempotent_creation": true,
"incomplete_submit_refused": true,
"stale_save_refused": true,
"self_decision_refused": true,
"return_correction_independent_conclusion": true,
"accepted_follow_up_required": true,
"concluded_edit_refused": true,
"parent_evaluation_unchanged": true,
"history_events": 7,
"individual_report": true,
"synthetic_example_only": true,
"external_messages_sent": 0,
"financial_commands": 0,
"visual_review": false
"checked_at": "2026-10-30T07:57:43.108Z",
"base": "http://127.0.0.1:8005",
"evaluation_path": "/fornecedores/avaliacoes/1",
"response_id": 1,
"idempotent_creation": true,
"incomplete_submit_refused": true,
"stale_save_refused": true,
"self_decision_refused": true,
"return_correction_independent_conclusion": true,
"accepted_follow_up_required": true,
"concluded_edit_refused": true,
"parent_evaluation_unchanged": true,
"history_events": 7,
"individual_report": true,
"synthetic_example_only": true,
"external_messages_sent": 0,
"financial_commands": 0,
"visual_review": false
}
+26 -26
View File
@@ -1,28 +1,28 @@
{
"checked_at": "2026-10-30T07:59:03.931961+00:00",
"targeted_tests": 39,
"assertions": 505,
"new_test_cases": 11,
"phpstan_errors": 0,
"typescript": "passed",
"lint_format_pint_targeted": "passed",
"build": "passed",
"build_log": "storage/logs/supplier-responses-build.log",
"menu_entries": 106,
"roles": 6,
"installed_in_local_evaluation": true,
"domain_installed": false,
"external_messages_sent": 0,
"visual_review": false,
"source_hashes": {
"app/Models/SupplierResponse.php": "fc3877f2e787483cb56f31ca877eb2dc4f2d266c2eefa47dab1b1ae3ecf163fc",
"app/Services/SupplierResponseWorkflow.php": "772af0878f55cd9818cddec62aca3850ae4868c13acf86fe7dd003bac1fbb0b5",
"app/Http/Controllers/SupplierResponseController.php": "6960500484974f6ba2be1c63bb1156abde976c9e42837f6d3101a1f8a73092d3",
"app/Http/Controllers/SupplierEvaluationController.php": "2523eb6a858fdb62c494d74a8ce7988e7f29d4e0c51c53d3f0899de02987f17d",
"database/migrations/2026_10_30_000026_create_supplier_responses.php": "d414f637587088e589d886f792d678674337707e8391a0ab0fcf86dc9ebfaaf4",
"resources/js/components/supplier-responses.tsx": "ec0becd110e879f5929a7179c61352e1f31478674e654a41b1f85c64ecd1adf1",
"resources/js/pages/suppliers/evaluation.tsx": "509d27438a2a3b5337572357b9c69a2703201789ea75a487b36dfc301f65c8db",
"tests/Feature/SupplierResponseTest.php": "00faa0131f7335e1d2f18d781aa16cb914bf13acb1090ab902269f737b87c3c6",
"scripts/supplier-response-check.mjs": "31c7b741bbb0becc0426d0437a1d9853616199a86730831dc09b902e66f469c2"
}
"checked_at": "2026-10-30T07:59:03.931961+00:00",
"targeted_tests": 39,
"assertions": 505,
"new_test_cases": 11,
"phpstan_errors": 0,
"typescript": "passed",
"lint_format_pint_targeted": "passed",
"build": "passed",
"build_log": "storage/logs/supplier-responses-build.log",
"menu_entries": 106,
"roles": 6,
"installed_in_local_evaluation": true,
"domain_installed": false,
"external_messages_sent": 0,
"visual_review": false,
"source_hashes": {
"app/Models/SupplierResponse.php": "fc3877f2e787483cb56f31ca877eb2dc4f2d266c2eefa47dab1b1ae3ecf163fc",
"app/Services/SupplierResponseWorkflow.php": "772af0878f55cd9818cddec62aca3850ae4868c13acf86fe7dd003bac1fbb0b5",
"app/Http/Controllers/SupplierResponseController.php": "6960500484974f6ba2be1c63bb1156abde976c9e42837f6d3101a1f8a73092d3",
"app/Http/Controllers/SupplierEvaluationController.php": "2523eb6a858fdb62c494d74a8ce7988e7f29d4e0c51c53d3f0899de02987f17d",
"database/migrations/2026_10_30_000026_create_supplier_responses.php": "d414f637587088e589d886f792d678674337707e8391a0ab0fcf86dc9ebfaaf4",
"resources/js/components/supplier-responses.tsx": "ec0becd110e879f5929a7179c61352e1f31478674e654a41b1f85c64ecd1adf1",
"resources/js/pages/suppliers/evaluation.tsx": "509d27438a2a3b5337572357b9c69a2703201789ea75a487b36dfc301f65c8db",
"tests/Feature/SupplierResponseTest.php": "00faa0131f7335e1d2f18d781aa16cb914bf13acb1090ab902269f737b87c3c6",
"scripts/supplier-response-check.mjs": "31c7b741bbb0becc0426d0437a1d9853616199a86730831dc09b902e66f469c2"
}
}