TenantAtlas/specs/118-baseline-drift-engine/contracts/openapi.yaml
ahmido 92704a2f7e Spec 118: Resumable baseline evidence capture + snapshot UX (#143)
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
2026-03-04 22:34:13 +00:00

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 }