Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Introduced `SbomService` tasks documentation. - Updated `StellaOps.sln` to include new projects: `StellaOps.AirGap.Time` and `StellaOps.AirGap.Importer`. - Added unit tests for `BundleImportPlanner`, `DsseVerifier`, `ImportValidator`, and other components in the `StellaOps.AirGap.Importer.Tests` namespace. - Implemented `InMemoryBundleRepositories` for testing bundle catalog and item repositories. - Created `MerkleRootCalculator`, `RootRotationPolicy`, and `TufMetadataValidator` tests. - Developed `StalenessCalculator` and `TimeAnchorLoader` tests in the `StellaOps.AirGap.Time.Tests` namespace. - Added `fetch-sbomservice-deps.sh` script for offline dependency fetching.
2.0 KiB
2.0 KiB
Findings Ledger OAS baseline (v1)
Scope. Establish the canonical OpenAPI baseline and API host definitions for Findings Ledger. This satisfies PREP-LEDGER-OAS-61-001 and unblocks downstream OAS/SDK/OBS tasks (61-002..63-001).
What shipped (2025-11-20).
- Published baseline OAS document:
docs/modules/findings-ledger/openapi/findings-ledger.v1.yaml(OpenAPI 3.0.3). - Servers:
https://{env}.ledger.api.stellaops.local(env ∈ dev/staging/prod/airgap) and offlinehttps://ledger.{region}.offline.bundle. - Security:
bearerAuth(JWT) andmTLSdeclared; tenant headerX-Stella-Tenantrequired. - Paths included:
GET /v1/ledger/events(deterministic paging by chain/sequence; cursor header).POST /v1/ledger/events(append; validates hashes; 409 on non-deterministic input).GET /v1/ledger/projections/findings(projection read withcycleHash).
- Schemas align with
docs/modules/findings-ledger/schema.md(ledger events, projections, hashes, provenance fields).
Usage / next steps.
- Export to renderer or client generation from
findings-ledger.v1.yaml; keep schema source of truth in YAML, not code-first. - Downstream tasks (61-002, 62-001, 63-001) should extend this spec with SDK/validation/deprecation headers but must not change base paths, security schemes, or canonical field names.
- When new fields are added, update both
schema.mdand the YAML and bumpinfo.versionwith changelog entry.
Determinism & offline posture.
- Stable ordering: events sorted by
(chainId, sequence); projections do not perform consensus/merges. - No external calls required at runtime; offline host is declared for bundle deployments.
- Hash fields (
eventHash,previousHash,merkleLeafHash,cycleHash) remain lowercase hex SHA-256 per schema.
Artifact locations.
- OAS YAML:
docs/modules/findings-ledger/openapi/findings-ledger.v1.yaml - Schema reference:
docs/modules/findings-ledger/schema.md - Export surface reference (for later OAS extensions):
docs/modules/findings-ledger/export-http-surface.md