TenantAtlas/specs/162-baseline-gap-details/contracts/baseline-gap-details.openapi.yaml
ahmido 7d4d607475 feat: add baseline gap details surfaces (#192)
## Summary
- add baseline compare evidence gap detail modeling and a dedicated Livewire table surface
- extend baseline compare landing and operation run detail surfaces to expose evidence gap details and stats
- add spec artifacts for feature 162 and expand feature coverage with focused Filament and baseline tests

## Notes
- branch: `162-baseline-gap-details`
- commit: `a92dd812`
- working tree was clean after push

## Validation
- tests were not run in this step

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #192
2026-03-24 19:05:23 +00:00

108 lines
2.6 KiB
YAML

openapi: 3.1.0
info:
title: Baseline Compare Evidence Gap Details Contract
version: 0.1.0
summary: Internal reference schema for the shared operator-safe evidence-gap read model.
description: |
This artifact defines the stable read shape for baseline compare evidence-gap detail.
It is designed for canonical Monitoring run detail and tenant baseline compare review surfaces.
In this feature slice it is a reference schema for the shared page read model, not a commitment to add new HTTP endpoints.
servers:
- url: https://tenantpilot.local
paths: {}
components:
schemas:
OperationRunReference:
type: object
required:
- id
- type
- status
- outcome
properties:
id:
type: integer
minimum: 1
type:
type: string
enum:
- baseline_compare
status:
type: string
outcome:
type: string
tenant_id:
type: integer
nullable: true
workspace_id:
type: integer
nullable: true
EvidenceGapBucket:
type: object
required:
- reason_code
- reason_label
- count
- rows
properties:
reason_code:
type: string
reason_label:
type: string
count:
type: integer
minimum: 0
rows:
type: array
items:
$ref: '#/components/schemas/EvidenceGapRow'
EvidenceGapRow:
type: object
required:
- reason_code
- policy_type
- subject_key
properties:
reason_code:
type: string
policy_type:
type: string
subject_key:
type: string
EvidenceGapSummary:
type: object
required:
- count
- by_reason
- detail_state
properties:
count:
type: integer
minimum: 0
by_reason:
type: object
additionalProperties:
type: integer
minimum: 0
detail_state:
type: string
enum:
- no_gaps
- details_recorded
- details_not_recorded
EvidenceGapDetailResponse:
type: object
required:
- summary
- buckets
properties:
summary:
$ref: '#/components/schemas/EvidenceGapSummary'
buckets:
type: array
items:
$ref: '#/components/schemas/EvidenceGapBucket'
filters:
type: object
additionalProperties:
type: string