Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Export Center CI / export-ci (push) Has been cancelled
- Implement unit tests for RichGraphPublisher to verify graph publishing to CAS. - Implement unit tests for RichGraphWriter to ensure correct writing of canonical graphs and metadata. feat: Implement AOC Guard validation logic - Add AOC Guard validation logic to enforce document structure and field constraints. - Introduce violation codes for various validation errors. - Implement tests for AOC Guard to validate expected behavior. feat: Create Console Status API client and service - Implement ConsoleStatusClient for fetching console status and streaming run events. - Create ConsoleStatusService to manage console status polling and event subscriptions. - Add tests for ConsoleStatusClient to verify API interactions. feat: Develop Console Status component - Create ConsoleStatusComponent for displaying console status and run events. - Implement UI for showing status metrics and handling user interactions. - Add styles for console status display. test: Add tests for Console Status store - Implement tests for ConsoleStatusStore to verify event handling and state management.
34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
# Findings Ledger Proxy Contract (Web V)
|
||
|
||
## Status
|
||
- Draft v0.1 (2025-12-01); to be validated at 2025-12-04 checkpoint with Findings Ledger Guild.
|
||
|
||
## Scope
|
||
- Gateway → Findings Ledger forwarding for vuln workflow actions (open/ack/close/export).
|
||
- Idempotency and correlation headers; retry/backoff defaults for offline-safe behavior.
|
||
|
||
## Required Headers
|
||
- `X-Idempotency-Key`: deterministic hash of `tenant + route + body`; required on POST/PUT; 36–64 chars; ledger must treat as unique for 24h TTL.
|
||
- `X-Correlation-Id`: UUID/ULID stable across gateway → ledger → notifier.
|
||
- `X-Stella-Tenant` / `X-Stella-Project`: tenant/project scoping per tenant-auth contract.
|
||
- `Authorization: Bearer <jwt>`: RS256/ES256 service token; `aud=stellaops-ledger`; scopes `ledger:write ledger:read`.
|
||
- `Content-Type: application/json`.
|
||
|
||
## Behavior
|
||
- Delivery semantics: at-least-once from gateway; ledger must guarantee exactly-once per `X-Idempotency-Key`.
|
||
- Retry/backoff (gateway):
|
||
- Base delay 500 ms; exponential factor 2; jitter ±20%; max 3 attempts; cap total wait ≤ 10 s.
|
||
- Offline kits: persist request NDJSON with headers; replay on next sync window.
|
||
- Timeout: 5 s per attempt; fail with `ERR_LEDGER_TIMEOUT`.
|
||
- Error mapping:
|
||
- 400 series → `ERR_LEDGER_BAD_REQUEST` (propagate `details`).
|
||
- 404 → `ERR_LEDGER_NOT_FOUND`.
|
||
- 409 → `ERR_LEDGER_CONFLICT` (idempotency violation).
|
||
- 429/503 → `ERR_LEDGER_RETRY`.
|
||
- All responses include `trace_id` and echo `X-Correlation-Id`.
|
||
|
||
## Open Questions
|
||
- Confirm ledger idempotency TTL (proposed 24h) and whether ETag is returned for optimistic concurrency.
|
||
- Confirm expected payload schemas for each workflow action (open/ack/close/export).
|
||
- Confirm whether ledger enforces ordering per `tenant_id`.
|