Implements Spec 117 (Golden Master Baseline Drift Engine): - Adds provider-chain resolver for current state hashes (content evidence via PolicyVersion, meta evidence via inventory) - Updates baseline capture + compare jobs to use resolver and persist provenance + fidelity - Adds evidence_fidelity column/index + Filament UI badge/filter/provenance display for findings - Adds performance guard test + integration tests for drift, fidelity semantics, provenance, filter behavior - UX fix: Policies list shows "Sync from Intune" header action only when records exist; empty-state CTA remains and is functional Tests: - `vendor/bin/sail artisan test --compact tests/Feature/Filament/PolicySyncCtaPlacementTest.php` - `vendor/bin/sail artisan test --compact --filter=Baseline` Checklist: - specs/117-baseline-drift-engine/checklists/requirements.md ✓ Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #142
83 lines
2.0 KiB
YAML
83 lines
2.0 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: TenantPilot — Spec 117 Baseline Drift Engine
|
|
version: 0.1.0
|
|
description: |
|
|
This contract documents existing Filament panel routes and Monitoring surfaces involved
|
|
in baseline capture/compare and drift findings. Spec 117 does not add new HTTP APIs.
|
|
|
|
servers:
|
|
- url: /
|
|
|
|
tags:
|
|
- name: Baselines
|
|
- name: Findings
|
|
- name: Operations
|
|
|
|
paths:
|
|
/admin/baseline-profiles:
|
|
get:
|
|
tags: [Baselines]
|
|
summary: Baseline profiles index (Filament)
|
|
responses:
|
|
'200': { description: OK }
|
|
|
|
/admin/t/{tenant}/baseline-compare-landing:
|
|
get:
|
|
tags: [Baselines]
|
|
summary: Baseline compare landing (Filament tenant-context)
|
|
parameters:
|
|
- name: tenant
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200': { description: OK }
|
|
|
|
/admin/t/{tenant}/findings:
|
|
get:
|
|
tags: [Findings]
|
|
summary: Findings list (Filament tenant-context)
|
|
parameters:
|
|
- name: tenant
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200': { description: OK }
|
|
|
|
/admin/t/{tenant}/findings/{record}:
|
|
get:
|
|
tags: [Findings]
|
|
summary: Finding detail (Filament tenant-context)
|
|
parameters:
|
|
- name: tenant
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
- name: record
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200': { description: OK }
|
|
|
|
/admin/operations:
|
|
get:
|
|
tags: [Operations]
|
|
summary: Operation runs list (Monitoring)
|
|
responses:
|
|
'200': { description: OK }
|
|
|
|
/admin/operations/{run}:
|
|
get:
|
|
tags: [Operations]
|
|
summary: Operation run detail (Monitoring)
|
|
parameters:
|
|
- name: run
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200': { description: OK }
|