1.5 KiB
1.5 KiB
Excititor · Graph Linkouts Prep (GRAPH-21-001)
- Date: 2025-11-20
- Scope: PREP-EXCITITOR-GRAPH-21-001-NEEDS-CARTOGRAPHE
- Working directory:
src/Excititor/__Libraries/StellaOps.Excititor.Core+src/Excititor/StellaOps.Excititor.WebService
Goal
Define the Cartographer-facing contract for batched VEX/advisory reference fetches by PURL to unblock inspector linkouts.
Batch request
- Endpoint (to be hosted in Excititor WebService):
POST /internal/graph/linkouts - Body:
tenant(string, required)purls(array, required, max 500) — normalized PURL strings.includeJustifications(bool, default false)includeProvenance(bool, default true)
- Idempotency key:
tenant+ SHA256 of sortedpurlslist.
Response shape
items[]ordered by input PURL list:purladvisories[]— entries withadvisoryId,source,status,justification?,modifiedAt,evidenceHash,connectorId,dsseEnvelopeHash?.conflicts[]— optional disagreements (status/justification) withsource,observedAt,evidenceHash.
notFound[]— PURLs with no VEX observations.
Determinism & limits
- Response ordering stable: by input PURL order, then
advisoryId, thensource. - Max rows: cap
advisoriesto 200 per PURL; truncate withtruncated: trueflag andnextCursor(advisoryId, source).
Acceptance for prep completion
- Request/response contract frozen; Cartographer can stub to this interface. Downstream GRAPH-21-001 implementation must adhere or update doc + sprint risks.