docs-drift 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. docs_drift/__init__.py +7 -0
  2. docs_drift/analysis.py +52 -0
  3. docs_drift/baseline.py +70 -0
  4. docs_drift/cli.py +871 -0
  5. docs_drift/collaboration.py +282 -0
  6. docs_drift/config.py +113 -0
  7. docs_drift/docs/__init__.py +1 -0
  8. docs_drift/docs/defaults.py +250 -0
  9. docs_drift/docs/discover.py +172 -0
  10. docs_drift/docs/extract_blocks.py +596 -0
  11. docs_drift/docs/extract_inline.py +561 -0
  12. docs_drift/docs/pipeline.py +234 -0
  13. docs_drift/docs/preprocess.py +71 -0
  14. docs_drift/docs/sections.py +247 -0
  15. docs_drift/errors.py +119 -0
  16. docs_drift/fix/__init__.py +1 -0
  17. docs_drift/fix/edits.py +124 -0
  18. docs_drift/fix/model.py +139 -0
  19. docs_drift/fix/rules.py +232 -0
  20. docs_drift/git_safety.py +35 -0
  21. docs_drift/graph/queries/evidence_path.cypher +6 -0
  22. docs_drift/history.py +412 -0
  23. docs_drift/history_cache.py +62 -0
  24. docs_drift/ids.py +50 -0
  25. docs_drift/index/__init__.py +211 -0
  26. docs_drift/index/base.py +239 -0
  27. docs_drift/index/config.py +185 -0
  28. docs_drift/index/js_cli.py +211 -0
  29. docs_drift/index/js_routes.py +68 -0
  30. docs_drift/index/js_symbols.py +219 -0
  31. docs_drift/index/python_cli.py +370 -0
  32. docs_drift/index/python_routes.py +102 -0
  33. docs_drift/index/python_source.py +20 -0
  34. docs_drift/index/python_symbols.py +335 -0
  35. docs_drift/index/queries/javascript.scm +4 -0
  36. docs_drift/index/queries/typescript.scm +4 -0
  37. docs_drift/index/routes_common.py +16 -0
  38. docs_drift/index/tasks.py +131 -0
  39. docs_drift/index/ts_parser.py +20 -0
  40. docs_drift/limits.py +18 -0
  41. docs_drift/llm/__init__.py +7 -0
  42. docs_drift/llm/candidates.py +81 -0
  43. docs_drift/llm/client.py +185 -0
  44. docs_drift/llm/pricing.py +54 -0
  45. docs_drift/llm/privacy.py +63 -0
  46. docs_drift/llm/prompts/rewrite_v1.md +9 -0
  47. docs_drift/llm/prompts/verify_v1.md +12 -0
  48. docs_drift/llm/prompts.py +28 -0
  49. docs_drift/llm/retrieve.py +60 -0
  50. docs_drift/llm/types.py +68 -0
  51. docs_drift/llm/verify.py +179 -0
  52. docs_drift/lsp.py +199 -0
  53. docs_drift/match/__init__.py +5 -0
  54. docs_drift/match/commands.py +201 -0
  55. docs_drift/match/defaults.py +79 -0
  56. docs_drift/match/engine.py +319 -0
  57. docs_drift/match/rename.py +69 -0
  58. docs_drift/models.py +249 -0
  59. docs_drift/ownership.py +70 -0
  60. docs_drift/policy.py +81 -0
  61. docs_drift/portfolio.py +147 -0
  62. docs_drift/py.typed +0 -0
  63. docs_drift/report/__init__.py +38 -0
  64. docs_drift/report/common.py +31 -0
  65. docs_drift/report/github.py +22 -0
  66. docs_drift/report/html.py +106 -0
  67. docs_drift/report/json.py +17 -0
  68. docs_drift/report/junit.py +30 -0
  69. docs_drift/report/markdown.py +58 -0
  70. docs_drift/report/partials/body.html +19 -0
  71. docs_drift/report/partials/report.css +12 -0
  72. docs_drift/report/partials/script.js +95 -0
  73. docs_drift/report/portfolio.html +14 -0
  74. docs_drift/report/report.html +8 -0
  75. docs_drift/report/sarif.py +68 -0
  76. docs_drift/report/terminal.py +90 -0
  77. docs_drift/report/vendor/CYTOSCAPE-LICENSE +19 -0
  78. docs_drift/report/vendor/cytoscape.min.js +32 -0
  79. docs_drift/report/workflow.html +12 -0
  80. docs_drift/review.py +113 -0
  81. docs_drift/safe_files.py +19 -0
  82. docs_drift/scanning.py +202 -0
  83. docs_drift/schemas/SARIF-LICENSE.md +7 -0
  84. docs_drift/schemas/SARIF-NOTICES.txt +3 -0
  85. docs_drift/schemas/sarif-schema-2.1.0.json +3389 -0
  86. docs_drift/schemas/scan-result.v1.json +1024 -0
  87. docs_drift/setup.py +130 -0
  88. docs_drift/snapshots.py +100 -0
  89. docs_drift/support.py +31 -0
  90. docs_drift/watch.py +157 -0
  91. docs_drift/web/__init__.py +1 -0
  92. docs_drift/web/__main__.py +23 -0
  93. docs_drift/web/app.py +289 -0
  94. docs_drift/web/cleanup.py +23 -0
  95. docs_drift/web/examples/clean-repo.json +646 -0
  96. docs_drift/web/examples/fastapi-svc.json +723 -0
  97. docs_drift/web/examples/files-to-prompt.json +3366 -0
  98. docs_drift/web/examples/judge-fixture.json +226 -0
  99. docs_drift/web/examples/manifest.json +89 -0
  100. docs_drift/web/examples/node-tool.json +823 -0
  101. docs_drift/web/examples/py-cli.json +1267 -0
  102. docs_drift/web/examples/rich-cli-reviewed.json +7855 -0
  103. docs_drift/web/examples/rich-cli.json +8010 -0
  104. docs_drift/web/examples/verification.json +16 -0
  105. docs_drift/web/git.py +274 -0
  106. docs_drift/web/jobs.py +352 -0
  107. docs_drift/web/settings.py +50 -0
  108. docs_drift/web/static/demo.css +37 -0
  109. docs_drift/web/static/demo.js +184 -0
  110. docs_drift/web/static/evidence/correction-verification.json +28 -0
  111. docs_drift/web/static/evidence/flow-highlights-2026-10-22.png +0 -0
  112. docs_drift/web/static/evidence/fresh-scan.json +7855 -0
  113. docs_drift/web/static/evidence/review.json +44 -0
  114. docs_drift/web/static/evidence/rich-cli-correction.patch +20 -0
  115. docs_drift/web/static/evidence/runtime.json +26 -0
  116. docs_drift/web/static/evidence/saved-scan.json +8010 -0
  117. docs_drift/web/static/evidence/usage-card-supplied.png +0 -0
  118. docs_drift/web/templates/base.html +34 -0
  119. docs_drift/web/templates/case.html +13 -0
  120. docs_drift/web/templates/landing.html +90 -0
  121. docs_drift/web/templates/scan.html +2 -0
  122. docs_drift/web/templates/voice.html +1 -0
  123. docs_drift/web/validation.py +47 -0
  124. docs_drift/web/worker.py +152 -0
  125. docs_drift/workflow_cli.py +96 -0
  126. docs_drift/workspaces.py +128 -0
  127. docs_drift-0.1.0.dist-info/METADATA +331 -0
  128. docs_drift-0.1.0.dist-info/RECORD +131 -0
  129. docs_drift-0.1.0.dist-info/WHEEL +4 -0
  130. docs_drift-0.1.0.dist-info/entry_points.txt +2 -0
  131. docs_drift-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,1024 @@
1
+ {
2
+ "$defs": {
3
+ "Claim": {
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "claim_id": {
7
+ "pattern": "^claim_[0-9a-f]{64}$",
8
+ "title": "Claim Id",
9
+ "type": "string"
10
+ },
11
+ "kind": {
12
+ "$ref": "#/$defs/ClaimKind"
13
+ },
14
+ "raw_text": {
15
+ "minLength": 1,
16
+ "title": "Raw Text",
17
+ "type": "string"
18
+ },
19
+ "value": {
20
+ "minLength": 1,
21
+ "title": "Value",
22
+ "type": "string"
23
+ },
24
+ "qualifier": {
25
+ "anyOf": [
26
+ {
27
+ "type": "string"
28
+ },
29
+ {
30
+ "type": "null"
31
+ }
32
+ ],
33
+ "default": null,
34
+ "title": "Qualifier"
35
+ },
36
+ "expected_default": {
37
+ "anyOf": [
38
+ {
39
+ "type": "string"
40
+ },
41
+ {
42
+ "type": "null"
43
+ }
44
+ ],
45
+ "default": null,
46
+ "title": "Expected Default"
47
+ },
48
+ "doc_path": {
49
+ "title": "Doc Path",
50
+ "type": "string"
51
+ },
52
+ "line": {
53
+ "minimum": 1,
54
+ "title": "Line",
55
+ "type": "integer"
56
+ },
57
+ "column": {
58
+ "minimum": 1,
59
+ "title": "Column",
60
+ "type": "integer"
61
+ },
62
+ "section_id": {
63
+ "pattern": "^section_[0-9a-f]{64}$",
64
+ "title": "Section Id",
65
+ "type": "string"
66
+ },
67
+ "extraction": {
68
+ "$ref": "#/$defs/Extraction"
69
+ },
70
+ "extraction_confidence": {
71
+ "maximum": 1,
72
+ "minimum": 0,
73
+ "title": "Extraction Confidence",
74
+ "type": "number"
75
+ },
76
+ "locations": {
77
+ "items": {
78
+ "$ref": "#/$defs/ClaimLocation"
79
+ },
80
+ "title": "Locations",
81
+ "type": "array"
82
+ },
83
+ "extraction_sources": {
84
+ "items": {
85
+ "$ref": "#/$defs/Extraction"
86
+ },
87
+ "title": "Extraction Sources",
88
+ "type": "array"
89
+ },
90
+ "group_key": {
91
+ "anyOf": [
92
+ {
93
+ "type": "string"
94
+ },
95
+ {
96
+ "type": "null"
97
+ }
98
+ ],
99
+ "default": null,
100
+ "title": "Group Key"
101
+ }
102
+ },
103
+ "required": [
104
+ "claim_id",
105
+ "kind",
106
+ "raw_text",
107
+ "value",
108
+ "doc_path",
109
+ "line",
110
+ "column",
111
+ "section_id",
112
+ "extraction",
113
+ "extraction_confidence"
114
+ ],
115
+ "title": "Claim",
116
+ "type": "object"
117
+ },
118
+ "ClaimKind": {
119
+ "enum": [
120
+ "cli_flag",
121
+ "cli_command",
122
+ "env_var",
123
+ "endpoint",
124
+ "config_key",
125
+ "symbol",
126
+ "file_path",
127
+ "package_script",
128
+ "make_target",
129
+ "default_value",
130
+ "code_command",
131
+ "prose"
132
+ ],
133
+ "title": "ClaimKind",
134
+ "type": "string"
135
+ },
136
+ "ClaimLocation": {
137
+ "additionalProperties": false,
138
+ "properties": {
139
+ "line": {
140
+ "minimum": 1,
141
+ "title": "Line",
142
+ "type": "integer"
143
+ },
144
+ "column": {
145
+ "minimum": 1,
146
+ "title": "Column",
147
+ "type": "integer"
148
+ },
149
+ "raw_text": {
150
+ "minLength": 1,
151
+ "title": "Raw Text",
152
+ "type": "string"
153
+ },
154
+ "extraction": {
155
+ "$ref": "#/$defs/Extraction"
156
+ }
157
+ },
158
+ "required": [
159
+ "line",
160
+ "column",
161
+ "raw_text",
162
+ "extraction"
163
+ ],
164
+ "title": "ClaimLocation",
165
+ "type": "object"
166
+ },
167
+ "CommitRef": {
168
+ "additionalProperties": false,
169
+ "properties": {
170
+ "sha": {
171
+ "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
172
+ "title": "Sha",
173
+ "type": "string"
174
+ },
175
+ "short_sha": {
176
+ "pattern": "^[0-9a-f]{4,64}$",
177
+ "title": "Short Sha",
178
+ "type": "string"
179
+ },
180
+ "author_name": {
181
+ "minLength": 1,
182
+ "title": "Author Name",
183
+ "type": "string"
184
+ },
185
+ "author_email": {
186
+ "anyOf": [
187
+ {
188
+ "type": "string"
189
+ },
190
+ {
191
+ "type": "null"
192
+ }
193
+ ],
194
+ "default": null,
195
+ "title": "Author Email"
196
+ },
197
+ "date": {
198
+ "format": "date-time",
199
+ "title": "Date",
200
+ "type": "string"
201
+ },
202
+ "summary": {
203
+ "minLength": 1,
204
+ "title": "Summary",
205
+ "type": "string"
206
+ }
207
+ },
208
+ "required": [
209
+ "sha",
210
+ "short_sha",
211
+ "author_name",
212
+ "date",
213
+ "summary"
214
+ ],
215
+ "title": "CommitRef",
216
+ "type": "object"
217
+ },
218
+ "Config": {
219
+ "description": "Schema shared by .docs-drift.toml and [tool.docs-drift].",
220
+ "properties": {
221
+ "docs": {
222
+ "items": {
223
+ "type": "string"
224
+ },
225
+ "title": "Docs",
226
+ "type": "array"
227
+ },
228
+ "exclude": {
229
+ "items": {
230
+ "type": "string"
231
+ },
232
+ "title": "Exclude",
233
+ "type": "array"
234
+ },
235
+ "languages": {
236
+ "anyOf": [
237
+ {
238
+ "const": "auto",
239
+ "type": "string"
240
+ },
241
+ {
242
+ "items": {
243
+ "type": "string"
244
+ },
245
+ "type": "array"
246
+ }
247
+ ],
248
+ "default": "auto",
249
+ "title": "Languages"
250
+ },
251
+ "ignore": {
252
+ "items": {
253
+ "type": "string"
254
+ },
255
+ "title": "Ignore",
256
+ "type": "array"
257
+ },
258
+ "min_confidence": {
259
+ "default": 0.6,
260
+ "maximum": 1.0,
261
+ "minimum": 0.0,
262
+ "title": "Min Confidence",
263
+ "type": "number"
264
+ },
265
+ "llm": {
266
+ "$ref": "#/$defs/LLMConfig"
267
+ },
268
+ "history": {
269
+ "$ref": "#/$defs/HistoryConfig"
270
+ }
271
+ },
272
+ "title": "Config",
273
+ "type": "object"
274
+ },
275
+ "DecidedBy": {
276
+ "enum": [
277
+ "rules",
278
+ "llm"
279
+ ],
280
+ "title": "DecidedBy",
281
+ "type": "string"
282
+ },
283
+ "DocFile": {
284
+ "additionalProperties": false,
285
+ "properties": {
286
+ "path": {
287
+ "title": "Path",
288
+ "type": "string"
289
+ },
290
+ "content_hash": {
291
+ "pattern": "^[0-9a-f]{64}$",
292
+ "title": "Content Hash",
293
+ "type": "string"
294
+ },
295
+ "format": {
296
+ "$ref": "#/$defs/DocFormat"
297
+ }
298
+ },
299
+ "required": [
300
+ "path",
301
+ "content_hash",
302
+ "format"
303
+ ],
304
+ "title": "DocFile",
305
+ "type": "object"
306
+ },
307
+ "DocFormat": {
308
+ "enum": [
309
+ "markdown",
310
+ "mdx",
311
+ "rst",
312
+ "text"
313
+ ],
314
+ "title": "DocFormat",
315
+ "type": "string"
316
+ },
317
+ "Evidence": {
318
+ "additionalProperties": false,
319
+ "properties": {
320
+ "file": {
321
+ "title": "File",
322
+ "type": "string"
323
+ },
324
+ "line": {
325
+ "minimum": 1,
326
+ "title": "Line",
327
+ "type": "integer"
328
+ },
329
+ "text": {
330
+ "title": "Text",
331
+ "type": "string"
332
+ },
333
+ "end_line": {
334
+ "anyOf": [
335
+ {
336
+ "minimum": 1,
337
+ "type": "integer"
338
+ },
339
+ {
340
+ "type": "null"
341
+ }
342
+ ],
343
+ "default": null,
344
+ "title": "End Line"
345
+ }
346
+ },
347
+ "required": [
348
+ "file",
349
+ "line",
350
+ "text"
351
+ ],
352
+ "title": "Evidence",
353
+ "type": "object"
354
+ },
355
+ "Extraction": {
356
+ "enum": [
357
+ "inline_code",
358
+ "code_block",
359
+ "table",
360
+ "prose_pattern",
361
+ "link"
362
+ ],
363
+ "title": "Extraction",
364
+ "type": "string"
365
+ },
366
+ "Finding": {
367
+ "additionalProperties": false,
368
+ "properties": {
369
+ "claim": {
370
+ "$ref": "#/$defs/Claim"
371
+ },
372
+ "matched_symbol": {
373
+ "anyOf": [
374
+ {
375
+ "$ref": "#/$defs/Symbol"
376
+ },
377
+ {
378
+ "type": "null"
379
+ }
380
+ ],
381
+ "default": null
382
+ },
383
+ "verdict": {
384
+ "$ref": "#/$defs/Verdict"
385
+ },
386
+ "suggestion": {
387
+ "anyOf": [
388
+ {
389
+ "type": "string"
390
+ },
391
+ {
392
+ "type": "null"
393
+ }
394
+ ],
395
+ "default": null,
396
+ "title": "Suggestion"
397
+ },
398
+ "evidence": {
399
+ "items": {
400
+ "$ref": "#/$defs/Evidence"
401
+ },
402
+ "minItems": 1,
403
+ "title": "Evidence",
404
+ "type": "array"
405
+ },
406
+ "introduced_by": {
407
+ "anyOf": [
408
+ {
409
+ "$ref": "#/$defs/CommitRef"
410
+ },
411
+ {
412
+ "type": "null"
413
+ }
414
+ ],
415
+ "default": null
416
+ },
417
+ "confidence": {
418
+ "maximum": 1,
419
+ "minimum": 0,
420
+ "title": "Confidence",
421
+ "type": "number"
422
+ },
423
+ "reasons": {
424
+ "items": {
425
+ "minLength": 1,
426
+ "type": "string"
427
+ },
428
+ "minItems": 1,
429
+ "title": "Reasons",
430
+ "type": "array"
431
+ },
432
+ "decided_by": {
433
+ "$ref": "#/$defs/DecidedBy",
434
+ "default": "rules"
435
+ },
436
+ "replayed": {
437
+ "default": false,
438
+ "title": "Replayed",
439
+ "type": "boolean"
440
+ },
441
+ "package": {
442
+ "anyOf": [
443
+ {
444
+ "type": "string"
445
+ },
446
+ {
447
+ "type": "null"
448
+ }
449
+ ],
450
+ "default": null,
451
+ "title": "Package"
452
+ },
453
+ "doc_text": {
454
+ "anyOf": [
455
+ {
456
+ "type": "string"
457
+ },
458
+ {
459
+ "type": "null"
460
+ }
461
+ ],
462
+ "default": null,
463
+ "title": "Doc Text"
464
+ }
465
+ },
466
+ "required": [
467
+ "claim",
468
+ "verdict",
469
+ "evidence",
470
+ "confidence",
471
+ "reasons"
472
+ ],
473
+ "title": "Finding",
474
+ "type": "object"
475
+ },
476
+ "HistoryConfig": {
477
+ "description": "Limits for static git history inspection.",
478
+ "properties": {
479
+ "max_commits": {
480
+ "default": 2000,
481
+ "minimum": 0,
482
+ "title": "Max Commits",
483
+ "type": "integer"
484
+ },
485
+ "show_emails": {
486
+ "default": false,
487
+ "title": "Show Emails",
488
+ "type": "boolean"
489
+ }
490
+ },
491
+ "title": "HistoryConfig",
492
+ "type": "object"
493
+ },
494
+ "LLMConfig": {
495
+ "description": "Optional prose assessment settings.",
496
+ "properties": {
497
+ "enabled": {
498
+ "default": false,
499
+ "title": "Enabled",
500
+ "type": "boolean"
501
+ },
502
+ "model": {
503
+ "anyOf": [
504
+ {
505
+ "type": "string"
506
+ },
507
+ {
508
+ "type": "null"
509
+ }
510
+ ],
511
+ "default": null,
512
+ "title": "Model"
513
+ },
514
+ "max_claims": {
515
+ "default": 40,
516
+ "maximum": 1000,
517
+ "minimum": 0,
518
+ "title": "Max Claims",
519
+ "type": "integer"
520
+ },
521
+ "concurrency": {
522
+ "default": 4,
523
+ "maximum": 16,
524
+ "minimum": 1,
525
+ "title": "Concurrency",
526
+ "type": "integer"
527
+ },
528
+ "timeout": {
529
+ "default": 60,
530
+ "exclusiveMinimum": 0,
531
+ "maximum": 600,
532
+ "title": "Timeout",
533
+ "type": "number"
534
+ },
535
+ "budget": {
536
+ "default": 0.5,
537
+ "minimum": 0,
538
+ "title": "Budget",
539
+ "type": "number"
540
+ },
541
+ "redact_paths": {
542
+ "items": {
543
+ "type": "string"
544
+ },
545
+ "title": "Redact Paths",
546
+ "type": "array"
547
+ }
548
+ },
549
+ "title": "LLMConfig",
550
+ "type": "object"
551
+ },
552
+ "Package": {
553
+ "additionalProperties": false,
554
+ "properties": {
555
+ "name": {
556
+ "minLength": 1,
557
+ "title": "Name",
558
+ "type": "string"
559
+ },
560
+ "root": {
561
+ "title": "Root",
562
+ "type": "string"
563
+ },
564
+ "language": {
565
+ "title": "Language",
566
+ "type": "string"
567
+ },
568
+ "commands": {
569
+ "items": {
570
+ "type": "string"
571
+ },
572
+ "title": "Commands",
573
+ "type": "array"
574
+ }
575
+ },
576
+ "required": [
577
+ "name",
578
+ "root",
579
+ "language"
580
+ ],
581
+ "title": "Package",
582
+ "type": "object"
583
+ },
584
+ "Section": {
585
+ "additionalProperties": false,
586
+ "properties": {
587
+ "section_id": {
588
+ "pattern": "^section_[0-9a-f]{64}$",
589
+ "title": "Section Id",
590
+ "type": "string"
591
+ },
592
+ "doc_path": {
593
+ "title": "Doc Path",
594
+ "type": "string"
595
+ },
596
+ "heading": {
597
+ "title": "Heading",
598
+ "type": "string"
599
+ },
600
+ "heading_level": {
601
+ "minimum": 0,
602
+ "title": "Heading Level",
603
+ "type": "integer"
604
+ },
605
+ "heading_path": {
606
+ "items": {
607
+ "type": "string"
608
+ },
609
+ "title": "Heading Path",
610
+ "type": "array"
611
+ },
612
+ "start_line": {
613
+ "minimum": 1,
614
+ "title": "Start Line",
615
+ "type": "integer"
616
+ },
617
+ "end_line": {
618
+ "minimum": 1,
619
+ "title": "End Line",
620
+ "type": "integer"
621
+ },
622
+ "context": {
623
+ "$ref": "#/$defs/SectionContext",
624
+ "default": "current"
625
+ },
626
+ "historical_spans": {
627
+ "items": {
628
+ "maxItems": 2,
629
+ "minItems": 2,
630
+ "prefixItems": [
631
+ {
632
+ "minimum": 1,
633
+ "type": "integer"
634
+ },
635
+ {
636
+ "minimum": 1,
637
+ "type": "integer"
638
+ }
639
+ ],
640
+ "type": "array"
641
+ },
642
+ "title": "Historical Spans",
643
+ "type": "array"
644
+ }
645
+ },
646
+ "required": [
647
+ "section_id",
648
+ "doc_path",
649
+ "heading",
650
+ "heading_level",
651
+ "heading_path",
652
+ "start_line",
653
+ "end_line"
654
+ ],
655
+ "title": "Section",
656
+ "type": "object"
657
+ },
658
+ "SectionContext": {
659
+ "enum": [
660
+ "current",
661
+ "historical"
662
+ ],
663
+ "title": "SectionContext",
664
+ "type": "string"
665
+ },
666
+ "SuppressedClaim": {
667
+ "additionalProperties": false,
668
+ "properties": {
669
+ "claim": {
670
+ "$ref": "#/$defs/Claim"
671
+ },
672
+ "reason": {
673
+ "minLength": 1,
674
+ "title": "Reason",
675
+ "type": "string"
676
+ }
677
+ },
678
+ "required": [
679
+ "claim",
680
+ "reason"
681
+ ],
682
+ "title": "SuppressedClaim",
683
+ "type": "object"
684
+ },
685
+ "Symbol": {
686
+ "additionalProperties": false,
687
+ "properties": {
688
+ "symbol_id": {
689
+ "pattern": "^symbol_[0-9a-f]{64}$",
690
+ "title": "Symbol Id",
691
+ "type": "string"
692
+ },
693
+ "kind": {
694
+ "$ref": "#/$defs/SymbolKind"
695
+ },
696
+ "name": {
697
+ "minLength": 1,
698
+ "title": "Name",
699
+ "type": "string"
700
+ },
701
+ "qualified_name": {
702
+ "minLength": 1,
703
+ "title": "Qualified Name",
704
+ "type": "string"
705
+ },
706
+ "aliases": {
707
+ "items": {
708
+ "type": "string"
709
+ },
710
+ "title": "Aliases",
711
+ "type": "array"
712
+ },
713
+ "default": {
714
+ "anyOf": [
715
+ {
716
+ "type": "string"
717
+ },
718
+ {
719
+ "type": "null"
720
+ }
721
+ ],
722
+ "default": null,
723
+ "title": "Default"
724
+ },
725
+ "file": {
726
+ "title": "File",
727
+ "type": "string"
728
+ },
729
+ "line": {
730
+ "minimum": 1,
731
+ "title": "Line",
732
+ "type": "integer"
733
+ },
734
+ "language": {
735
+ "minLength": 1,
736
+ "title": "Language",
737
+ "type": "string"
738
+ },
739
+ "framework": {
740
+ "anyOf": [
741
+ {
742
+ "type": "string"
743
+ },
744
+ {
745
+ "type": "null"
746
+ }
747
+ ],
748
+ "default": null,
749
+ "title": "Framework"
750
+ },
751
+ "parent_id": {
752
+ "anyOf": [
753
+ {
754
+ "pattern": "^symbol_[0-9a-f]{64}$",
755
+ "type": "string"
756
+ },
757
+ {
758
+ "type": "null"
759
+ }
760
+ ],
761
+ "default": null,
762
+ "title": "Parent Id"
763
+ },
764
+ "exported": {
765
+ "default": false,
766
+ "title": "Exported",
767
+ "type": "boolean"
768
+ },
769
+ "decorators": {
770
+ "items": {
771
+ "type": "string"
772
+ },
773
+ "title": "Decorators",
774
+ "type": "array"
775
+ },
776
+ "derived": {
777
+ "default": false,
778
+ "title": "Derived",
779
+ "type": "boolean"
780
+ },
781
+ "setting_group": {
782
+ "anyOf": [
783
+ {
784
+ "type": "string"
785
+ },
786
+ {
787
+ "type": "null"
788
+ }
789
+ ],
790
+ "default": null,
791
+ "title": "Setting Group"
792
+ },
793
+ "authoritative": {
794
+ "default": true,
795
+ "title": "Authoritative",
796
+ "type": "boolean"
797
+ },
798
+ "raw_path": {
799
+ "anyOf": [
800
+ {
801
+ "type": "string"
802
+ },
803
+ {
804
+ "type": "null"
805
+ }
806
+ ],
807
+ "default": null,
808
+ "title": "Raw Path"
809
+ },
810
+ "handler": {
811
+ "anyOf": [
812
+ {
813
+ "type": "string"
814
+ },
815
+ {
816
+ "type": "null"
817
+ }
818
+ ],
819
+ "default": null,
820
+ "title": "Handler"
821
+ },
822
+ "partial_prefix": {
823
+ "default": false,
824
+ "title": "Partial Prefix",
825
+ "type": "boolean"
826
+ },
827
+ "ts_type": {
828
+ "default": false,
829
+ "title": "Ts Type",
830
+ "type": "boolean"
831
+ }
832
+ },
833
+ "required": [
834
+ "symbol_id",
835
+ "kind",
836
+ "name",
837
+ "qualified_name",
838
+ "file",
839
+ "line",
840
+ "language"
841
+ ],
842
+ "title": "Symbol",
843
+ "type": "object"
844
+ },
845
+ "SymbolKind": {
846
+ "enum": [
847
+ "cli_flag",
848
+ "cli_command",
849
+ "env_var",
850
+ "route",
851
+ "config_key",
852
+ "function",
853
+ "class",
854
+ "method",
855
+ "file",
856
+ "package_script",
857
+ "make_target",
858
+ "ci_job",
859
+ "cli_argument"
860
+ ],
861
+ "title": "SymbolKind",
862
+ "type": "string"
863
+ },
864
+ "Verdict": {
865
+ "enum": [
866
+ "ok",
867
+ "missing",
868
+ "renamed",
869
+ "default_changed",
870
+ "invalid_command",
871
+ "unverifiable"
872
+ ],
873
+ "title": "Verdict",
874
+ "type": "string"
875
+ }
876
+ },
877
+ "additionalProperties": false,
878
+ "properties": {
879
+ "schema_version": {
880
+ "const": 1,
881
+ "default": 1,
882
+ "title": "Schema Version",
883
+ "type": "integer"
884
+ },
885
+ "package_version": {
886
+ "title": "Package Version",
887
+ "type": "string"
888
+ },
889
+ "repo_path": {
890
+ "format": "path",
891
+ "title": "Repo Path",
892
+ "type": "string"
893
+ },
894
+ "head_sha": {
895
+ "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
896
+ "title": "Head Sha",
897
+ "type": "string"
898
+ },
899
+ "scan_time": {
900
+ "format": "date-time",
901
+ "title": "Scan Time",
902
+ "type": "string"
903
+ },
904
+ "config_used": {
905
+ "$ref": "#/$defs/Config"
906
+ },
907
+ "docs": {
908
+ "items": {
909
+ "$ref": "#/$defs/DocFile"
910
+ },
911
+ "title": "Docs",
912
+ "type": "array"
913
+ },
914
+ "sections": {
915
+ "items": {
916
+ "$ref": "#/$defs/Section"
917
+ },
918
+ "title": "Sections",
919
+ "type": "array"
920
+ },
921
+ "claims": {
922
+ "items": {
923
+ "$ref": "#/$defs/Claim"
924
+ },
925
+ "title": "Claims",
926
+ "type": "array"
927
+ },
928
+ "symbols": {
929
+ "items": {
930
+ "$ref": "#/$defs/Symbol"
931
+ },
932
+ "title": "Symbols",
933
+ "type": "array"
934
+ },
935
+ "findings": {
936
+ "items": {
937
+ "$ref": "#/$defs/Finding"
938
+ },
939
+ "title": "Findings",
940
+ "type": "array"
941
+ },
942
+ "timings": {
943
+ "additionalProperties": {
944
+ "minimum": 0,
945
+ "type": "number"
946
+ },
947
+ "title": "Timings",
948
+ "type": "object"
949
+ },
950
+ "warnings": {
951
+ "items": {
952
+ "type": "string"
953
+ },
954
+ "title": "Warnings",
955
+ "type": "array"
956
+ },
957
+ "suppressed": {
958
+ "items": {
959
+ "$ref": "#/$defs/SuppressedClaim"
960
+ },
961
+ "title": "Suppressed",
962
+ "type": "array"
963
+ },
964
+ "historical_ignored": {
965
+ "default": 0,
966
+ "minimum": 0,
967
+ "title": "Historical Ignored",
968
+ "type": "integer"
969
+ },
970
+ "llm_usage": {
971
+ "additionalProperties": {
972
+ "type": "number"
973
+ },
974
+ "title": "Llm Usage",
975
+ "type": "object"
976
+ },
977
+ "packages": {
978
+ "items": {
979
+ "$ref": "#/$defs/Package"
980
+ },
981
+ "title": "Packages",
982
+ "type": "array"
983
+ },
984
+ "docs_repo_path": {
985
+ "anyOf": [
986
+ {
987
+ "format": "path",
988
+ "type": "string"
989
+ },
990
+ {
991
+ "type": "null"
992
+ }
993
+ ],
994
+ "default": null,
995
+ "title": "Docs Repo Path"
996
+ },
997
+ "remote_url": {
998
+ "anyOf": [
999
+ {
1000
+ "type": "string"
1001
+ },
1002
+ {
1003
+ "type": "null"
1004
+ }
1005
+ ],
1006
+ "default": null,
1007
+ "title": "Remote Url"
1008
+ },
1009
+ "baselined": {
1010
+ "default": 0,
1011
+ "minimum": 0,
1012
+ "title": "Baselined",
1013
+ "type": "integer"
1014
+ }
1015
+ },
1016
+ "required": [
1017
+ "repo_path",
1018
+ "head_sha",
1019
+ "scan_time",
1020
+ "config_used"
1021
+ ],
1022
+ "title": "ScanResult",
1023
+ "type": "object"
1024
+ }