@@ -125,23 +125,15 @@ components:
125125 tool_calls :
126126 type : integer
127127
128- Message :
128+ GraphScope :
129129 type : object
130130 properties :
131- role :
131+ tenant_id :
132132 type : string
133- enum : [user, assistant, tool]
134- content :
133+ project_id :
134+ type : string
135+ repository_id :
135136 type : string
136- tool_use : {}
137- tool_results : {}
138-
139- GraphScope :
140- type : object
141- properties :
142- tenant_id : {type: string}
143- project_id : {type: string}
144- repository_id : {type: string}
145137
146138 GraphRef :
147139 type : object
@@ -150,91 +142,147 @@ components:
150142 kind :
151143 type : string
152144 enum : [system, knowledge, execution, policy, quality, operations]
153- id : {type: string}
145+ id :
146+ type : string
147+
148+ GraphArtifactRef :
149+ type : object
150+ required : [uri]
151+ properties :
152+ uri :
153+ type : string
154+ digest :
155+ type : string
156+ media_type :
157+ type : string
154158
155159 GraphProvenance :
156160 type : object
157161 required : [producer]
158162 properties :
159- producer : {type: string}
160- version : {type: string}
161- source_id : {type: string}
163+ producer :
164+ type : string
165+ version :
166+ type : string
167+ source_id :
168+ type : string
162169 evidence :
163170 type : array
164171 items :
165- type : object
166- required : [uri]
167- properties :
168- uri : {type: string}
169- digest : {type: string}
170- media_type : {type: string}
172+ $ref : " #/components/schemas/GraphArtifactRef"
171173
172174 GraphNode :
173175 type : object
174176 required : [id, kind, created_at, provenance]
175177 properties :
176- id : {type: string}
178+ id :
179+ type : string
177180 kind :
178181 type : string
179182 enum : [system, knowledge, execution, policy, quality, operations]
180- scope : {$ref: "#/components/schemas/GraphScope"}
181- created_at : {type: string, format: date-time}
182- effective_at : {type: string, format: date-time}
183- provenance : {$ref: "#/components/schemas/GraphProvenance"}
183+ scope :
184+ $ref : " #/components/schemas/GraphScope"
185+ created_at :
186+ type : string
187+ format : date-time
188+ effective_at :
189+ type : string
190+ format : date-time
191+ provenance :
192+ $ref : " #/components/schemas/GraphProvenance"
184193 attributes :
185194 type : object
186- additionalProperties : {type: string}
195+ additionalProperties :
196+ type : string
187197
188198 GraphEdge :
189199 type : object
190200 required : [id, kind, from, to, created_at, provenance]
191201 properties :
192- id : {type: string}
202+ id :
203+ type : string
193204 kind :
194205 type : string
195206 enum : [contains, depends_on, references, produced, governed_by, validated_by]
196- from : {$ref: "#/components/schemas/GraphRef"}
197- to : {$ref: "#/components/schemas/GraphRef"}
198- scope : {$ref: "#/components/schemas/GraphScope"}
199- created_at : {type: string, format: date-time}
200- effective_at : {type: string, format: date-time}
201- provenance : {$ref: "#/components/schemas/GraphProvenance"}
207+ from :
208+ $ref : " #/components/schemas/GraphRef"
209+ to :
210+ $ref : " #/components/schemas/GraphRef"
211+ scope :
212+ $ref : " #/components/schemas/GraphScope"
213+ created_at :
214+ type : string
215+ format : date-time
216+ effective_at :
217+ type : string
218+ format : date-time
219+ provenance :
220+ $ref : " #/components/schemas/GraphProvenance"
202221 attributes :
203222 type : object
204- additionalProperties : {type: string}
223+ additionalProperties :
224+ type : string
205225
206226 GraphEvent :
207227 type : object
208228 required : [id, type, subject, occurred_at, provenance]
209229 properties :
210- id : {type: string}
230+ id :
231+ type : string
211232 type :
212233 type : string
213234 enum : [created, updated, transitioned, observed, deleted]
214- subject : {$ref: "#/components/schemas/GraphRef"}
215- scope : {$ref: "#/components/schemas/GraphScope"}
216- occurred_at : {type: string, format: date-time}
217- correlation_id : {type: string}
218- causation_id : {type: string}
219- idempotency_key : {type: string}
220- provenance : {$ref: "#/components/schemas/GraphProvenance"}
235+ subject :
236+ $ref : " #/components/schemas/GraphRef"
237+ scope :
238+ $ref : " #/components/schemas/GraphScope"
239+ occurred_at :
240+ type : string
241+ format : date-time
242+ correlation_id :
243+ type : string
244+ causation_id :
245+ type : string
246+ idempotency_key :
247+ type : string
248+ provenance :
249+ $ref : " #/components/schemas/GraphProvenance"
221250
222251 ExecutionGraph :
223252 type : object
224253 required : [schema_version, generated_at, scope, nodes, edges, events]
225254 properties :
226- schema_version : {type: string, enum: [hawk.graph/v1]}
227- generated_at : {type: string, format: date-time}
228- scope : {$ref: "#/components/schemas/GraphScope"}
255+ schema_version :
256+ type : string
257+ enum : [hawk.graph/v1]
258+ generated_at :
259+ type : string
260+ format : date-time
261+ scope :
262+ $ref : " #/components/schemas/GraphScope"
229263 nodes :
230264 type : array
231- items : {$ref: "#/components/schemas/GraphNode"}
265+ items :
266+ $ref : " #/components/schemas/GraphNode"
232267 edges :
233268 type : array
234- items : {$ref: "#/components/schemas/GraphEdge"}
269+ items :
270+ $ref : " #/components/schemas/GraphEdge"
235271 events :
236272 type : array
237- items : {$ref: "#/components/schemas/GraphEvent"}
273+ items :
274+ $ref : " #/components/schemas/GraphEvent"
275+
276+ Message :
277+ type : object
278+ properties :
279+ role :
280+ type : string
281+ enum : [user, assistant, tool]
282+ content :
283+ type : string
284+ tool_use : {}
285+ tool_results : {}
238286
239287 PaginatedMessages :
240288 type : object
@@ -564,48 +612,67 @@ paths:
564612 get :
565613 tags : [graphs]
566614 summary : Project a persisted session as a portable execution graph
615+ description : |
616+ Returns Hawk's privacy-safe, read-only `hawk.graph/v1` projection.
617+ Prompt text, tool arguments, tool output, and verification details are
618+ excluded. Explicit Trace checkpoint IDs are additive to authoritative
619+ Trace session correlation performed by Hawk.
567620 parameters :
568621 - name : id
569622 in : path
570623 required : true
571- schema : {type: string, maxLength: 128, pattern: '^[A-Za-z0-9._-]+$'}
624+ schema :
625+ type : string
626+ maxLength : 128
627+ pattern : ' ^[A-Za-z0-9._-]+$'
572628 - name : repository
573629 in : query
574- schema : {type: string, maxLength: 256}
630+ description : Optional repository scope override.
631+ schema :
632+ type : string
633+ maxLength : 256
575634 - name : trace_checkpoint
576635 in : query
636+ description : Optional 12-character lowercase hexadecimal Trace checkpoint ID. May be repeated up to 64 times.
577637 schema :
578638 type : array
579639 maxItems : 64
580- items : {type: string, pattern: '^[0-9a-f]{12}$'}
640+ items :
641+ type : string
642+ pattern : ' ^[0-9a-f]{12}$'
581643 style : form
582644 explode : true
583645 responses :
584646 " 200 " :
585647 description : Portable execution graph
586648 content :
587649 application/json :
588- schema : {$ref: "#/components/schemas/ExecutionGraph"}
650+ schema :
651+ $ref : " #/components/schemas/ExecutionGraph"
589652 " 400 " :
590- description : Invalid graph request
653+ description : Invalid session, repository, or checkpoint input
591654 content :
592655 application/json :
593- schema : {$ref: "#/components/schemas/Error"}
656+ schema :
657+ $ref : " #/components/schemas/Error"
594658 " 401 " :
595659 description : Unauthorized
596660 content :
597661 application/json :
598- schema : {$ref: "#/components/schemas/Error"}
662+ schema :
663+ $ref : " #/components/schemas/Error"
599664 " 404 " :
600665 description : Session not found
601666 content :
602667 application/json :
603- schema : {$ref: "#/components/schemas/Error"}
668+ schema :
669+ $ref : " #/components/schemas/Error"
604670 " 503 " :
605- description : Graph projection unavailable
671+ description : Graph projection is not configured
606672 content :
607673 application/json :
608- schema : {$ref: "#/components/schemas/Error"}
674+ schema :
675+ $ref : " #/components/schemas/Error"
609676
610677 /v1/stats :
611678 get :
0 commit comments