f4e342121a
feat: add Exchange PowerShell production runner gate ( #499 )
...
Spec 432: Exchange PowerShell production runner boundary and runtime gate. Validation: php artisan test --filter=Spec432 --compact; ./vendor/bin/pint --dirty --test --format agent; git diff --check.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #499
2026-07-07 18:34:18 +00:00
9374260ae1
feat: add Exchange PowerShell invocation gate ( #498 )
...
## Summary
- Adds the Spec 431 Exchange PowerShell invocation gate and operation registration slice.
- Introduces trusted provider operation start handling and read-only Exchange PowerShell runner abstractions.
- Updates provider capability/readiness evaluation and coverage for Exchange PowerShell invocation safety.
## Verification
- `cd apps/platform && ./vendor/bin/sail artisan test tests/Feature/Providers/ProviderCapabilityEvaluationTest.php tests/Feature/Providers/ProviderOperationCapabilityGateTest.php tests/Feature/TenantConfiguration/Spec431ExchangePowerShellInvocationGateTest.php tests/Unit/Providers/ProviderCapabilityRegistryTest.php tests/Unit/Providers/ProviderOperationStartGateTest.php tests/Unit/Support/TenantConfiguration/Spec430ExchangePowerShellCommandAllowlistTest.php tests/Unit/Support/TenantConfiguration/Spec431ExchangePowerShellOperationRegistrationTest.php tests/Unit/Verification/ManagedEnvironmentPermissionCapabilityMappingTest.php`
- Result: 80 passed, 685 assertions.
## Product Surface / Ops
- Rendered UI surface changed: N/A.
- Filament/Livewire surface changed: N/A.
- Deployment impact: config/runtime service changes only; no migrations, queues, or assets added.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #498
2026-07-07 15:23:29 +00:00
9b58a5696d
feat: add Exchange PowerShell adapter contract slice 1 ( #497 )
...
Spec 430: Exchange PowerShell adapter contract slice 1. Validation was not rerun during PR creation handoff; branch contains implementation report and tests.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #497
2026-07-05 12:08:16 +00:00
bfb52b84d6
feat: implement spec 427 source contract enablement ( #494 )
...
Automated PR for spec 427 Exchange Teams verified source contract enablement.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #494
2026-07-03 23:12:45 +00:00
f7d06621a0
feat: implement Exchange Teams evidence identity readiness ( #493 )
...
Automated PR for spec 426 exchange teams core evidence identity readiness. Includes service changes and coverage/requirement/spec updates from commit fb4dc20c .
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #493
2026-07-03 11:43:11 +00:00
33e496c182
feat: complete spec 425 enta certified compare pack ( #492 )
...
Implements spec 425 with Entra certified compare pack support, coverage, guards, evaluator, fixtures, and tests.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #492
2026-07-01 23:27:16 +00:00
2cd512915a
feat: complete spec 424 security defaults content-backed comparable support ( #491 )
...
Implements spec 424 with comparable renderable capture/readiness changes and supporting tests/spec artifacts.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #491
2026-07-01 14:41:24 +00:00
c49784b305
feat: complete spec 423 security compliance readiness pack ( #490 )
...
Spec 423 security compliance readiness pack implementation. Head commit: c49acba7 .
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #490
2026-06-30 16:03:01 +00:00
13d363c8b8
feat: complete spec 422 exchange teams comparable renderable pack ( #489 )
...
## Summary
This PR completes spec 422 exchange teams comparable renderable pack with comparable diffing, renderable summary builders, and comprehensive test updates.
## Commit
- 4c1e14c6 feat: complete spec 422 exchange teams comparable renderable pack
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #489
2026-06-30 04:20:13 +00:00
69d4ecbbd2
feat: complete spec 421 Entra comparable/renderable pack ( #488 )
...
Implements the bounded Spec 421 Entra comparable/renderable pack on the existing Coverage v2 operator surface.
- Adds typed Conditional Access normalization, comparison, and render summaries
- Keeps Security Defaults and other optional Entra types deferred until evidence-backed
- Preserves the existing Coverage v2 surface with claim-guard and redaction hardening
- Includes focused unit, feature, and browser coverage already recorded in the implementation report
Validation is documented in `specs/421-entra-core-comparable-renderable-pack/implementation-report.md`.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #488
2026-06-27 22:12:01 +00:00
a73a8f5882
feat: complete m365 generic evidence coverage pack ( #487 )
...
Committing and publishing the current Spec 420 package changes.
Includes updated services, coverage tests, browser smoke coverage, and the spec/plan/tasks artifacts for the package.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #487
2026-06-27 12:24:00 +00:00
5252398063
feat: expand m365 tcm workload registry ( #486 )
...
Automated PR provided by Codex via Gitea API.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #486
2026-06-26 22:36:24 +00:00
4aaec3521a
feat: add coverage v2 operator surface ( #485 )
...
Automated PR provided by Codex via Gitea API.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #485
2026-06-26 12:50:36 +00:00
8cbf1f7fe3
feat: implement canonical identity engine ( #484 )
...
Automated PR provided by Codex via Gitea API.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #484
2026-06-26 06:50:25 +00:00
ca0f54614d
feat: add generic content-backed coverage capture ( #482 )
...
Automated PR provided by Codex via Gitea API.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #482
2026-06-25 19:55:52 +00:00
dfda397eb6
feat: migrate tcm first coverage core cutover ( #481 )
...
Automated PR provided by Codex via Gitea API.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #481
2026-06-25 12:54:56 +00:00