Implements Spec 118 baseline drift engine improvements: - Resumable, budget-aware evidence capture for baseline capture/compare runs (resume token + UI action) - “Why no findings?” reason-code driven explanations and richer run context panels - Baseline Snapshot resource (list/detail) with fidelity visibility - Retention command + schedule for pruning baseline-purpose PolicyVersions - i18n strings for Baseline Compare landing Verification: - `vendor/bin/sail bin pint --dirty --format agent` - `vendor/bin/sail artisan test --compact --filter=Baseline` (159 passed) Note: - `docs/audits/redaction-audit-2026-03-04.md` left untracked (not part of PR). Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #143
96 lines
2.3 KiB
YAML
96 lines
2.3 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: TenantPilot — Spec 118 Golden Master Deep Drift v2
|
|
version: 0.1.0
|
|
description: |
|
|
This contract documents existing Filament panel routes and Monitoring surfaces involved
|
|
in baseline capture/compare and drift findings. Spec 118 does not add new public HTTP APIs;
|
|
it extends queued operation behavior and Filament action surfaces.
|
|
|
|
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/baseline-profiles/{record}:
|
|
get:
|
|
tags: [Baselines]
|
|
summary: Baseline profile detail (Filament)
|
|
parameters:
|
|
- name: record
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
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 }
|