@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T17:03:26+00:00",
|
||||
"migration": "2026_10_30_000037_create_candidate_profiles",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-candidate-portal-20261030-170322\/before.dump",
|
||||
"backup_sha256": "7a45fa0d687bd6097029e3f60d7dc235309cb9560b93cd5a02f666bb31e25822",
|
||||
"backup_bytes": 460151,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 96,
|
||||
"new_tables": {
|
||||
"candidate_portal_versions": 0,
|
||||
"candidate_accounts": 0,
|
||||
"candidate_profile_versions": 0,
|
||||
"candidate_events": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T17:02:59+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"CandidatePortalTest",
|
||||
"SubmissionFormsTest",
|
||||
"PeopleHiringTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T17:13:25+00:00",
|
||||
"migrations": [
|
||||
"2026_10_30_000038_create_candidate_access_tokens",
|
||||
"2026_10_30_000039_create_candidate_submissions"
|
||||
],
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-candidate-submissions-20261030-171319\/before.dump",
|
||||
"backup_sha256": "af2d97d9eab4c40a57e6f990aee4ce68f8df8d6e62065481b5cbcc6a53439a98",
|
||||
"backup_bytes": 478149,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 100,
|
||||
"new_tables": {
|
||||
"candidate_access_tokens": 0,
|
||||
"candidate_opportunity_publications": 0,
|
||||
"candidate_submissions": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T17:30:54+00:00",
|
||||
"migration": "2026_10_30_000040_create_candidate_triage",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-candidate-triage-20261030-173049\/before.dump",
|
||||
"backup_sha256": "e5c73649b7f9297fff32d9b95750cfd9af84fc494908d697f710faa093650ae5",
|
||||
"backup_bytes": 494268,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 103,
|
||||
"new_tables": {
|
||||
"candidate_triage": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T11:08:35+00:00",
|
||||
"migration": "2026_10_30_000029_add_comparison_policy_snapshots",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-comparison-policy-20261030-110832\/before.dump",
|
||||
"backup_sha256": "5ba40fc3108e9a540624e178c2075dace9e09835a877d8d791680f3b67f2729b",
|
||||
"backup_bytes": 404271,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 87,
|
||||
"new_columns": {
|
||||
"tenants.comparison_policy": null,
|
||||
"requisitions.comparison_policy": null
|
||||
},
|
||||
"legacy_comparisons_preserved": 1,
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T11:09:39+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"OrganizationConfigurationTest",
|
||||
"SupplierQuotationTest",
|
||||
"ProposalOpeningTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T10:50:34+00:00",
|
||||
"migration": "2026_10_30_000028_add_economic_comparison_terms",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-economic-20261030-105029\/before.dump",
|
||||
"backup_sha256": "3cd8d629292a87dec974b17050e7f0703eb89ae76572a39ee58de368efcbbbf9",
|
||||
"backup_bytes": 403999,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 87,
|
||||
"new_columns": {
|
||||
"tenants.default_tax_rate": "16.00",
|
||||
"quotations.commercial_terms": null
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T10:51:59+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"OrganizationConfigurationTest",
|
||||
"SupplierQuotationTest",
|
||||
"ProposalOpeningTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T14:49:50+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"scenario": "real report and evidence brief without outer test transaction",
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T15:13:51+00:00",
|
||||
"migration": "2026_10_30_000033_add_intelligence_policy",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-intelligence-policy-20261030-151348\/before.dump",
|
||||
"backup_sha256": "73d8a50e44e33901daf4c5200eb26104e9a7f4676317a69736b35bca1d9e2a5a",
|
||||
"backup_bytes": 440318,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 93,
|
||||
"new_columns": {
|
||||
"tenants.intelligence_policy": {
|
||||
"nullable": true,
|
||||
"non_null_rows": 0
|
||||
}
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,16 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T08:46:13.504Z",
|
||||
"checked_at": "2026-10-30T17:30:57.094Z",
|
||||
"result": "passed",
|
||||
"entries": 107,
|
||||
"entries": 111,
|
||||
"roles": 6,
|
||||
"configurable_permissions_and_multiple_profiles": true,
|
||||
"maximum_functional_groups": 6,
|
||||
"source": "procurementNavigation compared with actual Laravel GET routes",
|
||||
"scope": "Menu routing, active entry and visibility contract; not a substitute for functional or visual workflow acceptance",
|
||||
"rows": [
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "new_request",
|
||||
"label": "Nova requisição",
|
||||
"path": "/requisicoes/criar",
|
||||
@@ -18,7 +19,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_requests",
|
||||
"label": "Minhas requisições",
|
||||
"path": "/requisicoes?view=mine",
|
||||
@@ -27,7 +28,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_drafts",
|
||||
"label": "Os meus rascunhos",
|
||||
"path": "/requisicoes?view=mine&status=draft",
|
||||
@@ -36,7 +37,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "all_requests",
|
||||
"label": "Todas as autorizadas",
|
||||
"path": "/requisicoes?view=all",
|
||||
@@ -45,7 +46,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "planning",
|
||||
"label": "Planeamento",
|
||||
"path": "/planeamento",
|
||||
@@ -54,7 +55,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Aprovações",
|
||||
"group": "Compras",
|
||||
"id": "pending_approvals",
|
||||
"label": "Pendentes para mim",
|
||||
"path": "/requisicoes?view=approvals",
|
||||
@@ -63,7 +64,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Aprovações",
|
||||
"group": "Compras",
|
||||
"id": "decisions",
|
||||
"label": "Minhas decisões",
|
||||
"path": "/requisicoes?view=decided",
|
||||
@@ -72,7 +73,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "quotations",
|
||||
"label": "Cotações e comparação",
|
||||
"path": "/cotacoes",
|
||||
@@ -81,7 +82,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "orders",
|
||||
"label": "Adjudicações e ordens",
|
||||
"path": "/ordens",
|
||||
@@ -90,7 +91,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "purchase_review",
|
||||
"label": "Revisão e cancelamento",
|
||||
"path": "/revisao-compras",
|
||||
@@ -99,7 +100,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Fornecedores",
|
||||
"group": "Compras",
|
||||
"id": "suppliers",
|
||||
"label": "Cadastro e documentos",
|
||||
"path": "/fornecedores",
|
||||
@@ -108,7 +109,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Fornecedores",
|
||||
"group": "Compras",
|
||||
"id": "supplier_evaluations",
|
||||
"label": "Avaliação de fornecedores",
|
||||
"path": "/fornecedores/avaliacoes",
|
||||
@@ -117,7 +118,43 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Pessoas e contratações",
|
||||
"id": "people_registry",
|
||||
"label": "Cadastro reutilizável de pessoas",
|
||||
"path": "/pessoas/cadastro",
|
||||
"action": "App\\Http\\Controllers\\PeopleRegistryController@index",
|
||||
"full_page": false
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Pessoas e contratações",
|
||||
"id": "people_hiring",
|
||||
"label": "Processos e equipas",
|
||||
"path": "/pessoas",
|
||||
"action": "App\\Http\\Controllers\\PeopleHiringController@index",
|
||||
"full_page": false
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Pessoas e contratações",
|
||||
"id": "people_services",
|
||||
"label": "Serviços individuais",
|
||||
"path": "/pessoas?kind=service",
|
||||
"action": "App\\Http\\Controllers\\PeopleHiringController@index",
|
||||
"full_page": false
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Pessoas e contratações",
|
||||
"id": "people_staff",
|
||||
"label": "Recrutamento e selecção",
|
||||
"path": "/pessoas?kind=staff",
|
||||
"action": "App\\Http\\Controllers\\PeopleHiringController@index",
|
||||
"full_page": false
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Armazém e activos",
|
||||
"id": "receipts",
|
||||
"label": "Recepções e divergências",
|
||||
"path": "/recepcoes",
|
||||
@@ -126,7 +163,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "stock",
|
||||
"label": "Artigos e stock",
|
||||
"path": "/stock",
|
||||
@@ -135,7 +172,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "stock_operations",
|
||||
"label": "Saídas e inventários",
|
||||
"path": "/stock/operacoes",
|
||||
@@ -144,7 +181,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "equipment",
|
||||
"label": "Equipamentos e peças",
|
||||
"path": "/equipamentos",
|
||||
@@ -189,7 +226,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "company",
|
||||
"label": "Empresa, equipa e centros",
|
||||
"path": "/empresa",
|
||||
@@ -198,7 +235,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "organization_parameters",
|
||||
"label": "Parametrização da aplicação",
|
||||
"path": "/administracao/parametrizacao",
|
||||
@@ -207,7 +244,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "admission_policy",
|
||||
"label": "Política de admissão",
|
||||
"path": "/politica-admissao",
|
||||
@@ -216,7 +253,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "recommendation_policy",
|
||||
"label": "Política de recomendação",
|
||||
"path": "/politica-recomendacao",
|
||||
@@ -225,7 +262,7 @@
|
||||
},
|
||||
{
|
||||
"role": "admin",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "conflicts",
|
||||
"label": "Conflitos de interesses",
|
||||
"path": "/conflitos",
|
||||
@@ -261,7 +298,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "new_request",
|
||||
"label": "Nova requisição",
|
||||
"path": "/requisicoes/criar",
|
||||
@@ -270,7 +307,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_requests",
|
||||
"label": "Minhas requisições",
|
||||
"path": "/requisicoes?view=mine",
|
||||
@@ -279,7 +316,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_drafts",
|
||||
"label": "Os meus rascunhos",
|
||||
"path": "/requisicoes?view=mine&status=draft",
|
||||
@@ -288,7 +325,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "all_requests",
|
||||
"label": "Todas as autorizadas",
|
||||
"path": "/requisicoes?view=all",
|
||||
@@ -297,7 +334,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "planning",
|
||||
"label": "Planeamento",
|
||||
"path": "/planeamento",
|
||||
@@ -306,7 +343,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Aprovações",
|
||||
"group": "Compras",
|
||||
"id": "pending_approvals",
|
||||
"label": "Pendentes para mim",
|
||||
"path": "/requisicoes?view=approvals",
|
||||
@@ -315,7 +352,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Aprovações",
|
||||
"group": "Compras",
|
||||
"id": "decisions",
|
||||
"label": "Minhas decisões",
|
||||
"path": "/requisicoes?view=decided",
|
||||
@@ -324,7 +361,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "quotations",
|
||||
"label": "Cotações e comparação",
|
||||
"path": "/cotacoes",
|
||||
@@ -333,7 +370,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "orders",
|
||||
"label": "Adjudicações e ordens",
|
||||
"path": "/ordens",
|
||||
@@ -342,7 +379,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "purchase_review",
|
||||
"label": "Revisão e cancelamento",
|
||||
"path": "/revisao-compras",
|
||||
@@ -351,7 +388,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Fornecedores",
|
||||
"group": "Compras",
|
||||
"id": "suppliers",
|
||||
"label": "Cadastro e documentos",
|
||||
"path": "/fornecedores",
|
||||
@@ -360,7 +397,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Fornecedores",
|
||||
"group": "Compras",
|
||||
"id": "supplier_evaluations",
|
||||
"label": "Avaliação de fornecedores",
|
||||
"path": "/fornecedores/avaliacoes",
|
||||
@@ -369,7 +406,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "receipts",
|
||||
"label": "Recepções e divergências",
|
||||
"path": "/recepcoes",
|
||||
@@ -378,7 +415,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "stock",
|
||||
"label": "Artigos e stock",
|
||||
"path": "/stock",
|
||||
@@ -387,7 +424,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "stock_operations",
|
||||
"label": "Saídas e inventários",
|
||||
"path": "/stock/operacoes",
|
||||
@@ -396,7 +433,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "equipment",
|
||||
"label": "Equipamentos e peças",
|
||||
"path": "/equipamentos",
|
||||
@@ -414,7 +451,7 @@
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "conflicts",
|
||||
"label": "Conflitos de interesses",
|
||||
"path": "/conflitos",
|
||||
@@ -441,7 +478,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "new_request",
|
||||
"label": "Nova requisição",
|
||||
"path": "/requisicoes/criar",
|
||||
@@ -450,7 +487,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_requests",
|
||||
"label": "Minhas requisições",
|
||||
"path": "/requisicoes?view=mine",
|
||||
@@ -459,7 +496,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_drafts",
|
||||
"label": "Os meus rascunhos",
|
||||
"path": "/requisicoes?view=mine&status=draft",
|
||||
@@ -468,7 +505,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "all_requests",
|
||||
"label": "Todas as autorizadas",
|
||||
"path": "/requisicoes?view=all",
|
||||
@@ -477,7 +514,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "planning",
|
||||
"label": "Planeamento",
|
||||
"path": "/planeamento",
|
||||
@@ -486,7 +523,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Aprovações",
|
||||
"group": "Compras",
|
||||
"id": "pending_approvals",
|
||||
"label": "Pendentes para mim",
|
||||
"path": "/requisicoes?view=approvals",
|
||||
@@ -495,7 +532,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Aprovações",
|
||||
"group": "Compras",
|
||||
"id": "decisions",
|
||||
"label": "Minhas decisões",
|
||||
"path": "/requisicoes?view=decided",
|
||||
@@ -504,7 +541,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "quotations",
|
||||
"label": "Cotações e comparação",
|
||||
"path": "/cotacoes",
|
||||
@@ -513,7 +550,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "orders",
|
||||
"label": "Adjudicações e ordens",
|
||||
"path": "/ordens",
|
||||
@@ -522,7 +559,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "purchase_review",
|
||||
"label": "Revisão e cancelamento",
|
||||
"path": "/revisao-compras",
|
||||
@@ -531,7 +568,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Fornecedores",
|
||||
"group": "Compras",
|
||||
"id": "suppliers",
|
||||
"label": "Cadastro e documentos",
|
||||
"path": "/fornecedores",
|
||||
@@ -540,7 +577,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Fornecedores",
|
||||
"group": "Compras",
|
||||
"id": "supplier_evaluations",
|
||||
"label": "Avaliação de fornecedores",
|
||||
"path": "/fornecedores/avaliacoes",
|
||||
@@ -549,7 +586,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "receipts",
|
||||
"label": "Recepções e divergências",
|
||||
"path": "/recepcoes",
|
||||
@@ -558,7 +595,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "stock",
|
||||
"label": "Artigos e stock",
|
||||
"path": "/stock",
|
||||
@@ -567,7 +604,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "stock_operations",
|
||||
"label": "Saídas e inventários",
|
||||
"path": "/stock/operacoes",
|
||||
@@ -576,7 +613,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "equipment",
|
||||
"label": "Equipamentos e peças",
|
||||
"path": "/equipamentos",
|
||||
@@ -621,7 +658,7 @@
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "conflicts",
|
||||
"label": "Conflitos de interesses",
|
||||
"path": "/conflitos",
|
||||
@@ -657,7 +694,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "new_request",
|
||||
"label": "Nova requisição",
|
||||
"path": "/requisicoes/criar",
|
||||
@@ -666,7 +703,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_requests",
|
||||
"label": "Minhas requisições",
|
||||
"path": "/requisicoes?view=mine",
|
||||
@@ -675,7 +712,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_drafts",
|
||||
"label": "Os meus rascunhos",
|
||||
"path": "/requisicoes?view=mine&status=draft",
|
||||
@@ -684,7 +721,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "all_requests",
|
||||
"label": "Todas as autorizadas",
|
||||
"path": "/requisicoes?view=all",
|
||||
@@ -693,7 +730,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "planning",
|
||||
"label": "Planeamento",
|
||||
"path": "/planeamento",
|
||||
@@ -702,7 +739,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Aprovações",
|
||||
"group": "Compras",
|
||||
"id": "pending_approvals",
|
||||
"label": "Pendentes para mim",
|
||||
"path": "/requisicoes?view=approvals",
|
||||
@@ -711,7 +748,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Aprovações",
|
||||
"group": "Compras",
|
||||
"id": "decisions",
|
||||
"label": "Minhas decisões",
|
||||
"path": "/requisicoes?view=decided",
|
||||
@@ -720,7 +757,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "quotations",
|
||||
"label": "Cotações e comparação",
|
||||
"path": "/cotacoes",
|
||||
@@ -729,7 +766,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "orders",
|
||||
"label": "Adjudicações e ordens",
|
||||
"path": "/ordens",
|
||||
@@ -738,7 +775,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "purchase_review",
|
||||
"label": "Revisão e cancelamento",
|
||||
"path": "/revisao-compras",
|
||||
@@ -747,7 +784,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Fornecedores",
|
||||
"group": "Compras",
|
||||
"id": "suppliers",
|
||||
"label": "Cadastro e documentos",
|
||||
"path": "/fornecedores",
|
||||
@@ -756,7 +793,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Fornecedores",
|
||||
"group": "Compras",
|
||||
"id": "supplier_evaluations",
|
||||
"label": "Avaliação de fornecedores",
|
||||
"path": "/fornecedores/avaliacoes",
|
||||
@@ -765,7 +802,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "receipts",
|
||||
"label": "Recepções e divergências",
|
||||
"path": "/recepcoes",
|
||||
@@ -774,7 +811,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "equipment",
|
||||
"label": "Equipamentos e peças",
|
||||
"path": "/equipamentos",
|
||||
@@ -783,7 +820,7 @@
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "conflicts",
|
||||
"label": "Conflitos de interesses",
|
||||
"path": "/conflitos",
|
||||
@@ -810,7 +847,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "new_request",
|
||||
"label": "Nova requisição",
|
||||
"path": "/requisicoes/criar",
|
||||
@@ -819,7 +856,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_requests",
|
||||
"label": "Minhas requisições",
|
||||
"path": "/requisicoes?view=mine",
|
||||
@@ -828,7 +865,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_drafts",
|
||||
"label": "Os meus rascunhos",
|
||||
"path": "/requisicoes?view=mine&status=draft",
|
||||
@@ -837,7 +874,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "all_requests",
|
||||
"label": "Todas as autorizadas",
|
||||
"path": "/requisicoes?view=all",
|
||||
@@ -846,7 +883,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "planning",
|
||||
"label": "Planeamento",
|
||||
"path": "/planeamento",
|
||||
@@ -855,7 +892,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "purchase_review",
|
||||
"label": "Revisão e cancelamento",
|
||||
"path": "/revisao-compras",
|
||||
@@ -864,7 +901,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "receipts",
|
||||
"label": "Recepções e divergências",
|
||||
"path": "/recepcoes",
|
||||
@@ -873,7 +910,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "stock",
|
||||
"label": "Artigos e stock",
|
||||
"path": "/stock",
|
||||
@@ -882,7 +919,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "stock_operations",
|
||||
"label": "Saídas e inventários",
|
||||
"path": "/stock/operacoes",
|
||||
@@ -891,7 +928,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Recepções e armazém",
|
||||
"group": "Armazém e activos",
|
||||
"id": "equipment",
|
||||
"label": "Equipamentos e peças",
|
||||
"path": "/equipamentos",
|
||||
@@ -900,7 +937,7 @@
|
||||
},
|
||||
{
|
||||
"role": "warehouse",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "conflicts",
|
||||
"label": "Conflitos de interesses",
|
||||
"path": "/conflitos",
|
||||
@@ -909,7 +946,7 @@
|
||||
},
|
||||
{
|
||||
"role": "requester",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "new_request",
|
||||
"label": "Nova requisição",
|
||||
"path": "/requisicoes/criar",
|
||||
@@ -918,7 +955,7 @@
|
||||
},
|
||||
{
|
||||
"role": "requester",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_requests",
|
||||
"label": "Minhas requisições",
|
||||
"path": "/requisicoes?view=mine",
|
||||
@@ -927,7 +964,7 @@
|
||||
},
|
||||
{
|
||||
"role": "requester",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "my_drafts",
|
||||
"label": "Os meus rascunhos",
|
||||
"path": "/requisicoes?view=mine&status=draft",
|
||||
@@ -936,7 +973,7 @@
|
||||
},
|
||||
{
|
||||
"role": "requester",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "all_requests",
|
||||
"label": "Todas as autorizadas",
|
||||
"path": "/requisicoes?view=all",
|
||||
@@ -945,7 +982,7 @@
|
||||
},
|
||||
{
|
||||
"role": "requester",
|
||||
"group": "Requisições",
|
||||
"group": "Compras",
|
||||
"id": "planning",
|
||||
"label": "Planeamento",
|
||||
"path": "/planeamento",
|
||||
@@ -954,7 +991,7 @@
|
||||
},
|
||||
{
|
||||
"role": "requester",
|
||||
"group": "Consultas e adjudicações",
|
||||
"group": "Compras",
|
||||
"id": "purchase_review",
|
||||
"label": "Revisão e cancelamento",
|
||||
"path": "/revisao-compras",
|
||||
@@ -963,7 +1000,7 @@
|
||||
},
|
||||
{
|
||||
"role": "requester",
|
||||
"group": "Administração e controlo",
|
||||
"group": "Administração",
|
||||
"id": "conflicts",
|
||||
"label": "Conflitos de interesses",
|
||||
"path": "/conflitos",
|
||||
|
||||
+76
-57
@@ -1,8 +1,72 @@
|
||||
{
|
||||
"checked_at": "2026-10-29T19:14:17.130Z",
|
||||
"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",
|
||||
@@ -16,6 +80,7 @@
|
||||
"/ordens",
|
||||
"/revisao-compras",
|
||||
"/fornecedores",
|
||||
"/fornecedores/avaliacoes",
|
||||
"/recepcoes",
|
||||
"/stock",
|
||||
"/stock/operacoes",
|
||||
@@ -25,14 +90,13 @@
|
||||
"/pagamentos",
|
||||
"/orcamentos",
|
||||
"/regras-investimento",
|
||||
"/empresa",
|
||||
"/politica-admissao",
|
||||
"/politica-recomendacao",
|
||||
"/conflitos"
|
||||
"/conflitos",
|
||||
"/relatorios",
|
||||
"/relatorios/medidas-fornecedores"
|
||||
]
|
||||
},
|
||||
{
|
||||
"role": "procurement",
|
||||
"role": "department_head",
|
||||
"checked_entries": 17,
|
||||
"paths": [
|
||||
"/requisicoes/criar",
|
||||
@@ -46,59 +110,12 @@
|
||||
"/ordens",
|
||||
"/revisao-compras",
|
||||
"/fornecedores",
|
||||
"/recepcoes",
|
||||
"/stock",
|
||||
"/stock/operacoes",
|
||||
"/equipamentos",
|
||||
"/regras-investimento",
|
||||
"/conflitos"
|
||||
]
|
||||
},
|
||||
{
|
||||
"role": "finance",
|
||||
"checked_entries": 21,
|
||||
"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",
|
||||
"/recepcoes",
|
||||
"/stock",
|
||||
"/stock/operacoes",
|
||||
"/equipamentos",
|
||||
"/facturas",
|
||||
"/obrigacoes-fornecedores",
|
||||
"/pagamentos",
|
||||
"/orcamentos",
|
||||
"/regras-investimento",
|
||||
"/conflitos"
|
||||
]
|
||||
},
|
||||
{
|
||||
"role": "department_head",
|
||||
"checked_entries": 14,
|
||||
"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"
|
||||
"/conflitos",
|
||||
"/relatorios",
|
||||
"/relatorios/medidas-fornecedores"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -150,6 +167,8 @@
|
||||
],
|
||||
"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
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T12:05:08+00:00",
|
||||
"migration": "2026_10_30_000031_create_people_process_access",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-people-access-20261030-120504\/before.dump",
|
||||
"backup_sha256": "a8aa6f54cb09df64fb5240d3349da1b2a4a3311b75a85c92039ff6cd2d37b03f",
|
||||
"backup_bytes": 422308,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 90,
|
||||
"new_tables": {
|
||||
"people_access_states": 0,
|
||||
"people_process_access": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T12:10:25+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"PeopleHiringTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T12:49:36+00:00",
|
||||
"migration": "2026_10_30_000032_create_people_clarifications",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-people-clarifications-20261030-124933\/before.dump",
|
||||
"backup_sha256": "31d37e1006c761fd602d2138f60cddbbbf16dc9afeb614af388128e1b952eb00",
|
||||
"backup_bytes": 431044,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 92,
|
||||
"new_tables": {
|
||||
"people_clarifications": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T12:53:24+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"PeopleHiringTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T11:39:52+00:00",
|
||||
"migration": "2026_10_30_000030_create_people_hiring",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-people-hiring-20261030-113947\/before.dump",
|
||||
"backup_sha256": "01c423c8f085eaa9aca1b5d212e971670e705c5c4beae45c53e518759f54498f",
|
||||
"backup_bytes": 404498,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 87,
|
||||
"new_tables": {
|
||||
"people_processes": 0,
|
||||
"people_applications": 0,
|
||||
"people_reviews": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T11:44:07+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"PeopleHiringTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T16:04:30+00:00",
|
||||
"migration": "2026_10_30_000034_create_people_registry",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-people-registry-20261030-160427\/before.dump",
|
||||
"backup_sha256": "b23d9402e4f40d85a049342501bc6e1c81419974d29aa83947ef5d0d25046c79",
|
||||
"backup_bytes": 440514,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 93,
|
||||
"new_tables": {
|
||||
"people_registry": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T16:03:21+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"PeopleHiringTest",
|
||||
"PeopleRegistryTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T12:26:53+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"PeopleHiringTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T14:40:08+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"scenario": "real report snapshot without outer test transaction",
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T16:25:33+00:00",
|
||||
"migration": "2026_10_30_000035_create_requisition_catalogue",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-requisition-catalogue-20261030-162530\/before.dump",
|
||||
"backup_sha256": "a63d3b5f902aa54f7228b1d8b7313ad11f73820b3c843cf96559b48549cddc04",
|
||||
"backup_bytes": 448050,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 94,
|
||||
"new_tables": {
|
||||
"requisition_catalogue": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T16:23:52+00:00",
|
||||
"database": "disposable PostgreSQL",
|
||||
"application_role_reused_without_privilege_change": true,
|
||||
"result": "passed",
|
||||
"test_files": [
|
||||
"RequisitionCatalogueTest",
|
||||
"ReceiptStockTest"
|
||||
],
|
||||
"original_evaluation_untouched": true,
|
||||
"database_removed": true
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"checked_at": "2026-10-30T16:46:31+00:00",
|
||||
"migration": "2026_10_30_000036_create_submission_forms",
|
||||
"environment": "local evaluation 8005",
|
||||
"backup_file": "C:\/laragon\/data\/sgf-tempo\/backups\/compras-submission-forms-20261030-164628\/before.dump",
|
||||
"backup_sha256": "7eae81e2854d6e3f67b6b990ae1df2f5f3d1032e581bc6bb793d4c64e9b6f079",
|
||||
"backup_bytes": 455215,
|
||||
"restore_verified": true,
|
||||
"existing_tables_preserved": 95,
|
||||
"new_tables": {
|
||||
"submission_forms": 0
|
||||
},
|
||||
"accounts_or_grants_changed": false,
|
||||
"other_migrations_applied": false,
|
||||
"domain_installed": false
|
||||
}
|
||||
@@ -0,0 +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
|
||||
}
|
||||
@@ -0,0 +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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user