speckeeper 0.13.0 → 0.13.1
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.
- package/cli-contract.yaml +6 -58
- package/dist/cli.js +73 -134
- package/dist/cli.js.map +1 -1
- package/docs/cli-reference.md +6 -2428
- package/package.json +1 -1
package/docs/cli-reference.md
CHANGED
|
@@ -463,7 +463,7 @@ Performs semantic analysis of design specs using LLM to identify quality issues
|
|
|
463
463
|
speckeeper audit-requirements
|
|
464
464
|
```
|
|
465
465
|
```
|
|
466
|
-
speckeeper audit-requirements --adapter gemini --
|
|
466
|
+
speckeeper audit-requirements --adapter gemini --show-prompt
|
|
467
467
|
```
|
|
468
468
|
```
|
|
469
469
|
speckeeper audit-requirements --report-format json --output audit.json
|
|
@@ -476,8 +476,6 @@ speckeeper audit-requirements --report-format json --output audit.json
|
|
|
476
476
|
| `--config` | -c | No | | Path to config file. |
|
|
477
477
|
| `--adapter` | -a | No | | SDK adapter to use for LLM execution. |
|
|
478
478
|
| `--model` | | No | | LLM model override. |
|
|
479
|
-
| `--dry-run` | -n | No | `false` | Output the constructed prompt without calling LLM. |
|
|
480
|
-
| `--show-prompt` | | No | `false` | Display the constructed LLM prompt on stderr. |
|
|
481
479
|
| `--fail-on` | | No | `"error"` | Minimum severity that causes a non-zero exit. |
|
|
482
480
|
| `--output` | -o | No | | Write result to a file instead of stdout. |
|
|
483
481
|
| `--report-format` | | No | `"json"` | Output format for the audit report. |
|
|
@@ -488,222 +486,6 @@ speckeeper audit-requirements --report-format json --output audit.json
|
|
|
488
486
|
|
|
489
487
|
- **stdout:** format=`{options.report-format}`
|
|
490
488
|
|
|
491
|
-
| Property | Type | Required | Description |
|
|
492
|
-
|---|---|---|---|
|
|
493
|
-
| `summary` | `string` | Yes | |
|
|
494
|
-
| `riskLevel` | `"low" \| "medium" \| "high" \| "critical"` | Yes | |
|
|
495
|
-
| `findings` | `object[]` | Yes | |
|
|
496
|
-
| `findings[].id` | `string` | No | Unique finding identifier. |
|
|
497
|
-
| `findings[].severity` | `"info" \| "warning" \| "error" \| "critical"` | Yes | |
|
|
498
|
-
| `findings[].category` | `string` | Yes | Finding category (e.g. verifiability, ambiguity, granularity). |
|
|
499
|
-
| `findings[].target` | `string` | No | Target of the finding (spec ID, model type). |
|
|
500
|
-
| `findings[].location` | `string` | No | Location within the target. |
|
|
501
|
-
| `findings[].message` | `string` | Yes | |
|
|
502
|
-
| `findings[].recommendation` | `string` | No | |
|
|
503
|
-
| `findings[].confidence` | `number (min: 0, max: 1)` | No | Confidence score (0-1) for LLM-generated findings. |
|
|
504
|
-
| `findings[].evidence` | `object[]` | No | |
|
|
505
|
-
| `findings[].evidence[].kind` | `enum(7 values)` | Yes | |
|
|
506
|
-
| `findings[].evidence[].target` | `string` | No | Target identifier (file path, command ID, schema name). |
|
|
507
|
-
| `findings[].evidence[].location` | `string` | No | Location within the target (line number, JSON pointer). |
|
|
508
|
-
| `findings[].evidence[].excerpt` | `string` | No | Relevant excerpt from the target. |
|
|
509
|
-
| `findings[].details` | `Record<string, any>` | No | |
|
|
510
|
-
| `recommendedActions` | `object[]` | No | |
|
|
511
|
-
| `recommendedActions[].kind` | `enum(6 values)` | Yes | |
|
|
512
|
-
| `recommendedActions[].title` | `string` | Yes | |
|
|
513
|
-
| `recommendedActions[].command` | `string` | No | CLI command to run (for run_command kind). |
|
|
514
|
-
| `recommendedActions[].target` | `string` | No | Target file or resource. |
|
|
515
|
-
| `recommendedActions[].rationale` | `string` | No | |
|
|
516
|
-
| `metadata` | `object` | No | |
|
|
517
|
-
| `metadata.tool` | `string` | No | |
|
|
518
|
-
| `metadata.command` | `string` | No | |
|
|
519
|
-
| `metadata.version` | `string` | No | |
|
|
520
|
-
| `metadata.generatedAt` | `string` | No | |
|
|
521
|
-
| `metadata.adapter` | `string` | No | |
|
|
522
|
-
| `metadata.model` | `string` | No | |
|
|
523
|
-
|
|
524
|
-
<details>
|
|
525
|
-
<summary>JSON Schema</summary>
|
|
526
|
-
|
|
527
|
-
```json
|
|
528
|
-
{
|
|
529
|
-
"type": "object",
|
|
530
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
531
|
-
"required": [
|
|
532
|
-
"summary",
|
|
533
|
-
"riskLevel",
|
|
534
|
-
"findings"
|
|
535
|
-
],
|
|
536
|
-
"properties": {
|
|
537
|
-
"summary": {
|
|
538
|
-
"type": "string"
|
|
539
|
-
},
|
|
540
|
-
"riskLevel": {
|
|
541
|
-
"type": "string",
|
|
542
|
-
"enum": [
|
|
543
|
-
"low",
|
|
544
|
-
"medium",
|
|
545
|
-
"high",
|
|
546
|
-
"critical"
|
|
547
|
-
]
|
|
548
|
-
},
|
|
549
|
-
"findings": {
|
|
550
|
-
"type": "array",
|
|
551
|
-
"items": {
|
|
552
|
-
"type": "object",
|
|
553
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
554
|
-
"required": [
|
|
555
|
-
"severity",
|
|
556
|
-
"category",
|
|
557
|
-
"message"
|
|
558
|
-
],
|
|
559
|
-
"properties": {
|
|
560
|
-
"id": {
|
|
561
|
-
"type": "string",
|
|
562
|
-
"description": "Unique finding identifier."
|
|
563
|
-
},
|
|
564
|
-
"severity": {
|
|
565
|
-
"type": "string",
|
|
566
|
-
"enum": [
|
|
567
|
-
"info",
|
|
568
|
-
"warning",
|
|
569
|
-
"error",
|
|
570
|
-
"critical"
|
|
571
|
-
]
|
|
572
|
-
},
|
|
573
|
-
"category": {
|
|
574
|
-
"type": "string",
|
|
575
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
576
|
-
},
|
|
577
|
-
"target": {
|
|
578
|
-
"type": "string",
|
|
579
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
580
|
-
},
|
|
581
|
-
"location": {
|
|
582
|
-
"type": "string",
|
|
583
|
-
"description": "Location within the target."
|
|
584
|
-
},
|
|
585
|
-
"message": {
|
|
586
|
-
"type": "string"
|
|
587
|
-
},
|
|
588
|
-
"recommendation": {
|
|
589
|
-
"type": "string"
|
|
590
|
-
},
|
|
591
|
-
"confidence": {
|
|
592
|
-
"type": "number",
|
|
593
|
-
"minimum": 0,
|
|
594
|
-
"maximum": 1,
|
|
595
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
596
|
-
},
|
|
597
|
-
"evidence": {
|
|
598
|
-
"type": "array",
|
|
599
|
-
"items": {
|
|
600
|
-
"type": "object",
|
|
601
|
-
"description": "Evidence supporting an agent finding.",
|
|
602
|
-
"required": [
|
|
603
|
-
"kind"
|
|
604
|
-
],
|
|
605
|
-
"properties": {
|
|
606
|
-
"kind": {
|
|
607
|
-
"type": "string",
|
|
608
|
-
"enum": [
|
|
609
|
-
"file",
|
|
610
|
-
"command",
|
|
611
|
-
"schema",
|
|
612
|
-
"diff",
|
|
613
|
-
"stdout",
|
|
614
|
-
"stderr",
|
|
615
|
-
"text"
|
|
616
|
-
]
|
|
617
|
-
},
|
|
618
|
-
"target": {
|
|
619
|
-
"type": "string",
|
|
620
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
621
|
-
},
|
|
622
|
-
"location": {
|
|
623
|
-
"type": "string",
|
|
624
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
625
|
-
},
|
|
626
|
-
"excerpt": {
|
|
627
|
-
"type": "string",
|
|
628
|
-
"description": "Relevant excerpt from the target."
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
}
|
|
632
|
-
},
|
|
633
|
-
"details": {
|
|
634
|
-
"type": "object",
|
|
635
|
-
"additionalProperties": true
|
|
636
|
-
}
|
|
637
|
-
}
|
|
638
|
-
}
|
|
639
|
-
},
|
|
640
|
-
"recommendedActions": {
|
|
641
|
-
"type": "array",
|
|
642
|
-
"items": {
|
|
643
|
-
"type": "object",
|
|
644
|
-
"description": "A recommended action from an agent audit.",
|
|
645
|
-
"required": [
|
|
646
|
-
"kind",
|
|
647
|
-
"title"
|
|
648
|
-
],
|
|
649
|
-
"properties": {
|
|
650
|
-
"kind": {
|
|
651
|
-
"type": "string",
|
|
652
|
-
"enum": [
|
|
653
|
-
"run_command",
|
|
654
|
-
"edit_file",
|
|
655
|
-
"review",
|
|
656
|
-
"confirm",
|
|
657
|
-
"block",
|
|
658
|
-
"ignore"
|
|
659
|
-
]
|
|
660
|
-
},
|
|
661
|
-
"title": {
|
|
662
|
-
"type": "string"
|
|
663
|
-
},
|
|
664
|
-
"command": {
|
|
665
|
-
"type": "string",
|
|
666
|
-
"description": "CLI command to run (for run_command kind)."
|
|
667
|
-
},
|
|
668
|
-
"target": {
|
|
669
|
-
"type": "string",
|
|
670
|
-
"description": "Target file or resource."
|
|
671
|
-
},
|
|
672
|
-
"rationale": {
|
|
673
|
-
"type": "string"
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
},
|
|
678
|
-
"metadata": {
|
|
679
|
-
"type": "object",
|
|
680
|
-
"properties": {
|
|
681
|
-
"tool": {
|
|
682
|
-
"type": "string"
|
|
683
|
-
},
|
|
684
|
-
"command": {
|
|
685
|
-
"type": "string"
|
|
686
|
-
},
|
|
687
|
-
"version": {
|
|
688
|
-
"type": "string"
|
|
689
|
-
},
|
|
690
|
-
"generatedAt": {
|
|
691
|
-
"type": "string"
|
|
692
|
-
},
|
|
693
|
-
"adapter": {
|
|
694
|
-
"type": "string"
|
|
695
|
-
},
|
|
696
|
-
"model": {
|
|
697
|
-
"type": "string"
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
}
|
|
703
|
-
```
|
|
704
|
-
|
|
705
|
-
</details>
|
|
706
|
-
|
|
707
489
|
**Exit 1:** Unexpected error.
|
|
708
490
|
|
|
709
491
|
- **stderr:** format=`text`
|
|
@@ -716,222 +498,6 @@ speckeeper audit-requirements --report-format json --output audit.json
|
|
|
716
498
|
|
|
717
499
|
- **stdout:** format=`{options.report-format}`
|
|
718
500
|
|
|
719
|
-
| Property | Type | Required | Description |
|
|
720
|
-
|---|---|---|---|
|
|
721
|
-
| `summary` | `string` | Yes | |
|
|
722
|
-
| `riskLevel` | `"low" \| "medium" \| "high" \| "critical"` | Yes | |
|
|
723
|
-
| `findings` | `object[]` | Yes | |
|
|
724
|
-
| `findings[].id` | `string` | No | Unique finding identifier. |
|
|
725
|
-
| `findings[].severity` | `"info" \| "warning" \| "error" \| "critical"` | Yes | |
|
|
726
|
-
| `findings[].category` | `string` | Yes | Finding category (e.g. verifiability, ambiguity, granularity). |
|
|
727
|
-
| `findings[].target` | `string` | No | Target of the finding (spec ID, model type). |
|
|
728
|
-
| `findings[].location` | `string` | No | Location within the target. |
|
|
729
|
-
| `findings[].message` | `string` | Yes | |
|
|
730
|
-
| `findings[].recommendation` | `string` | No | |
|
|
731
|
-
| `findings[].confidence` | `number (min: 0, max: 1)` | No | Confidence score (0-1) for LLM-generated findings. |
|
|
732
|
-
| `findings[].evidence` | `object[]` | No | |
|
|
733
|
-
| `findings[].evidence[].kind` | `enum(7 values)` | Yes | |
|
|
734
|
-
| `findings[].evidence[].target` | `string` | No | Target identifier (file path, command ID, schema name). |
|
|
735
|
-
| `findings[].evidence[].location` | `string` | No | Location within the target (line number, JSON pointer). |
|
|
736
|
-
| `findings[].evidence[].excerpt` | `string` | No | Relevant excerpt from the target. |
|
|
737
|
-
| `findings[].details` | `Record<string, any>` | No | |
|
|
738
|
-
| `recommendedActions` | `object[]` | No | |
|
|
739
|
-
| `recommendedActions[].kind` | `enum(6 values)` | Yes | |
|
|
740
|
-
| `recommendedActions[].title` | `string` | Yes | |
|
|
741
|
-
| `recommendedActions[].command` | `string` | No | CLI command to run (for run_command kind). |
|
|
742
|
-
| `recommendedActions[].target` | `string` | No | Target file or resource. |
|
|
743
|
-
| `recommendedActions[].rationale` | `string` | No | |
|
|
744
|
-
| `metadata` | `object` | No | |
|
|
745
|
-
| `metadata.tool` | `string` | No | |
|
|
746
|
-
| `metadata.command` | `string` | No | |
|
|
747
|
-
| `metadata.version` | `string` | No | |
|
|
748
|
-
| `metadata.generatedAt` | `string` | No | |
|
|
749
|
-
| `metadata.adapter` | `string` | No | |
|
|
750
|
-
| `metadata.model` | `string` | No | |
|
|
751
|
-
|
|
752
|
-
<details>
|
|
753
|
-
<summary>JSON Schema</summary>
|
|
754
|
-
|
|
755
|
-
```json
|
|
756
|
-
{
|
|
757
|
-
"type": "object",
|
|
758
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
759
|
-
"required": [
|
|
760
|
-
"summary",
|
|
761
|
-
"riskLevel",
|
|
762
|
-
"findings"
|
|
763
|
-
],
|
|
764
|
-
"properties": {
|
|
765
|
-
"summary": {
|
|
766
|
-
"type": "string"
|
|
767
|
-
},
|
|
768
|
-
"riskLevel": {
|
|
769
|
-
"type": "string",
|
|
770
|
-
"enum": [
|
|
771
|
-
"low",
|
|
772
|
-
"medium",
|
|
773
|
-
"high",
|
|
774
|
-
"critical"
|
|
775
|
-
]
|
|
776
|
-
},
|
|
777
|
-
"findings": {
|
|
778
|
-
"type": "array",
|
|
779
|
-
"items": {
|
|
780
|
-
"type": "object",
|
|
781
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
782
|
-
"required": [
|
|
783
|
-
"severity",
|
|
784
|
-
"category",
|
|
785
|
-
"message"
|
|
786
|
-
],
|
|
787
|
-
"properties": {
|
|
788
|
-
"id": {
|
|
789
|
-
"type": "string",
|
|
790
|
-
"description": "Unique finding identifier."
|
|
791
|
-
},
|
|
792
|
-
"severity": {
|
|
793
|
-
"type": "string",
|
|
794
|
-
"enum": [
|
|
795
|
-
"info",
|
|
796
|
-
"warning",
|
|
797
|
-
"error",
|
|
798
|
-
"critical"
|
|
799
|
-
]
|
|
800
|
-
},
|
|
801
|
-
"category": {
|
|
802
|
-
"type": "string",
|
|
803
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
804
|
-
},
|
|
805
|
-
"target": {
|
|
806
|
-
"type": "string",
|
|
807
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
808
|
-
},
|
|
809
|
-
"location": {
|
|
810
|
-
"type": "string",
|
|
811
|
-
"description": "Location within the target."
|
|
812
|
-
},
|
|
813
|
-
"message": {
|
|
814
|
-
"type": "string"
|
|
815
|
-
},
|
|
816
|
-
"recommendation": {
|
|
817
|
-
"type": "string"
|
|
818
|
-
},
|
|
819
|
-
"confidence": {
|
|
820
|
-
"type": "number",
|
|
821
|
-
"minimum": 0,
|
|
822
|
-
"maximum": 1,
|
|
823
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
824
|
-
},
|
|
825
|
-
"evidence": {
|
|
826
|
-
"type": "array",
|
|
827
|
-
"items": {
|
|
828
|
-
"type": "object",
|
|
829
|
-
"description": "Evidence supporting an agent finding.",
|
|
830
|
-
"required": [
|
|
831
|
-
"kind"
|
|
832
|
-
],
|
|
833
|
-
"properties": {
|
|
834
|
-
"kind": {
|
|
835
|
-
"type": "string",
|
|
836
|
-
"enum": [
|
|
837
|
-
"file",
|
|
838
|
-
"command",
|
|
839
|
-
"schema",
|
|
840
|
-
"diff",
|
|
841
|
-
"stdout",
|
|
842
|
-
"stderr",
|
|
843
|
-
"text"
|
|
844
|
-
]
|
|
845
|
-
},
|
|
846
|
-
"target": {
|
|
847
|
-
"type": "string",
|
|
848
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
849
|
-
},
|
|
850
|
-
"location": {
|
|
851
|
-
"type": "string",
|
|
852
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
853
|
-
},
|
|
854
|
-
"excerpt": {
|
|
855
|
-
"type": "string",
|
|
856
|
-
"description": "Relevant excerpt from the target."
|
|
857
|
-
}
|
|
858
|
-
}
|
|
859
|
-
}
|
|
860
|
-
},
|
|
861
|
-
"details": {
|
|
862
|
-
"type": "object",
|
|
863
|
-
"additionalProperties": true
|
|
864
|
-
}
|
|
865
|
-
}
|
|
866
|
-
}
|
|
867
|
-
},
|
|
868
|
-
"recommendedActions": {
|
|
869
|
-
"type": "array",
|
|
870
|
-
"items": {
|
|
871
|
-
"type": "object",
|
|
872
|
-
"description": "A recommended action from an agent audit.",
|
|
873
|
-
"required": [
|
|
874
|
-
"kind",
|
|
875
|
-
"title"
|
|
876
|
-
],
|
|
877
|
-
"properties": {
|
|
878
|
-
"kind": {
|
|
879
|
-
"type": "string",
|
|
880
|
-
"enum": [
|
|
881
|
-
"run_command",
|
|
882
|
-
"edit_file",
|
|
883
|
-
"review",
|
|
884
|
-
"confirm",
|
|
885
|
-
"block",
|
|
886
|
-
"ignore"
|
|
887
|
-
]
|
|
888
|
-
},
|
|
889
|
-
"title": {
|
|
890
|
-
"type": "string"
|
|
891
|
-
},
|
|
892
|
-
"command": {
|
|
893
|
-
"type": "string",
|
|
894
|
-
"description": "CLI command to run (for run_command kind)."
|
|
895
|
-
},
|
|
896
|
-
"target": {
|
|
897
|
-
"type": "string",
|
|
898
|
-
"description": "Target file or resource."
|
|
899
|
-
},
|
|
900
|
-
"rationale": {
|
|
901
|
-
"type": "string"
|
|
902
|
-
}
|
|
903
|
-
}
|
|
904
|
-
}
|
|
905
|
-
},
|
|
906
|
-
"metadata": {
|
|
907
|
-
"type": "object",
|
|
908
|
-
"properties": {
|
|
909
|
-
"tool": {
|
|
910
|
-
"type": "string"
|
|
911
|
-
},
|
|
912
|
-
"command": {
|
|
913
|
-
"type": "string"
|
|
914
|
-
},
|
|
915
|
-
"version": {
|
|
916
|
-
"type": "string"
|
|
917
|
-
},
|
|
918
|
-
"generatedAt": {
|
|
919
|
-
"type": "string"
|
|
920
|
-
},
|
|
921
|
-
"adapter": {
|
|
922
|
-
"type": "string"
|
|
923
|
-
},
|
|
924
|
-
"model": {
|
|
925
|
-
"type": "string"
|
|
926
|
-
}
|
|
927
|
-
}
|
|
928
|
-
}
|
|
929
|
-
}
|
|
930
|
-
}
|
|
931
|
-
```
|
|
932
|
-
|
|
933
|
-
</details>
|
|
934
|
-
|
|
935
501
|
**Exit 11:** Runtime dependency missing (agent-contracts-runtime).
|
|
936
502
|
|
|
937
503
|
- **stderr:** format=`text`
|
|
@@ -945,7 +511,7 @@ speckeeper audit-requirements --report-format json --output audit.json
|
|
|
945
511
|
```yaml
|
|
946
512
|
x-agent:
|
|
947
513
|
recommended_before_use:
|
|
948
|
-
- Run with --
|
|
514
|
+
- Run with --show-prompt first to preview the prompt
|
|
949
515
|
retryableExitCodes:
|
|
950
516
|
- 12
|
|
951
517
|
```
|
|
@@ -974,8 +540,6 @@ speckeeper propose-trace-links --adapter claude --report-format json
|
|
|
974
540
|
| `--config` | -c | No | | Path to config file. |
|
|
975
541
|
| `--adapter` | -a | No | | SDK adapter to use for LLM execution. |
|
|
976
542
|
| `--model` | | No | | LLM model override. |
|
|
977
|
-
| `--dry-run` | -n | No | `false` | Output the constructed prompt without calling LLM. |
|
|
978
|
-
| `--show-prompt` | | No | `false` | Display the constructed LLM prompt on stderr. |
|
|
979
543
|
| `--fail-on` | | No | `"error"` | Minimum severity that causes a non-zero exit. |
|
|
980
544
|
| `--output` | -o | No | | Write result to a file instead of stdout. |
|
|
981
545
|
| `--report-format` | | No | `"json"` | Output format for the report. |
|
|
@@ -986,236 +550,6 @@ speckeeper propose-trace-links --adapter claude --report-format json
|
|
|
986
550
|
|
|
987
551
|
- **stdout:** format=`{options.report-format}`
|
|
988
552
|
|
|
989
|
-
|
|
990
|
-
<details>
|
|
991
|
-
<summary>JSON Schema</summary>
|
|
992
|
-
|
|
993
|
-
```json
|
|
994
|
-
{
|
|
995
|
-
"type": "object",
|
|
996
|
-
"description": "Result of trace link proposal with candidate links.",
|
|
997
|
-
"allOf": [
|
|
998
|
-
{
|
|
999
|
-
"type": "object",
|
|
1000
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
1001
|
-
"required": [
|
|
1002
|
-
"summary",
|
|
1003
|
-
"riskLevel",
|
|
1004
|
-
"findings"
|
|
1005
|
-
],
|
|
1006
|
-
"properties": {
|
|
1007
|
-
"summary": {
|
|
1008
|
-
"type": "string"
|
|
1009
|
-
},
|
|
1010
|
-
"riskLevel": {
|
|
1011
|
-
"type": "string",
|
|
1012
|
-
"enum": [
|
|
1013
|
-
"low",
|
|
1014
|
-
"medium",
|
|
1015
|
-
"high",
|
|
1016
|
-
"critical"
|
|
1017
|
-
]
|
|
1018
|
-
},
|
|
1019
|
-
"findings": {
|
|
1020
|
-
"type": "array",
|
|
1021
|
-
"items": {
|
|
1022
|
-
"type": "object",
|
|
1023
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
1024
|
-
"required": [
|
|
1025
|
-
"severity",
|
|
1026
|
-
"category",
|
|
1027
|
-
"message"
|
|
1028
|
-
],
|
|
1029
|
-
"properties": {
|
|
1030
|
-
"id": {
|
|
1031
|
-
"type": "string",
|
|
1032
|
-
"description": "Unique finding identifier."
|
|
1033
|
-
},
|
|
1034
|
-
"severity": {
|
|
1035
|
-
"type": "string",
|
|
1036
|
-
"enum": [
|
|
1037
|
-
"info",
|
|
1038
|
-
"warning",
|
|
1039
|
-
"error",
|
|
1040
|
-
"critical"
|
|
1041
|
-
]
|
|
1042
|
-
},
|
|
1043
|
-
"category": {
|
|
1044
|
-
"type": "string",
|
|
1045
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
1046
|
-
},
|
|
1047
|
-
"target": {
|
|
1048
|
-
"type": "string",
|
|
1049
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
1050
|
-
},
|
|
1051
|
-
"location": {
|
|
1052
|
-
"type": "string",
|
|
1053
|
-
"description": "Location within the target."
|
|
1054
|
-
},
|
|
1055
|
-
"message": {
|
|
1056
|
-
"type": "string"
|
|
1057
|
-
},
|
|
1058
|
-
"recommendation": {
|
|
1059
|
-
"type": "string"
|
|
1060
|
-
},
|
|
1061
|
-
"confidence": {
|
|
1062
|
-
"type": "number",
|
|
1063
|
-
"minimum": 0,
|
|
1064
|
-
"maximum": 1,
|
|
1065
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
1066
|
-
},
|
|
1067
|
-
"evidence": {
|
|
1068
|
-
"type": "array",
|
|
1069
|
-
"items": {
|
|
1070
|
-
"type": "object",
|
|
1071
|
-
"description": "Evidence supporting an agent finding.",
|
|
1072
|
-
"required": [
|
|
1073
|
-
"kind"
|
|
1074
|
-
],
|
|
1075
|
-
"properties": {
|
|
1076
|
-
"kind": {
|
|
1077
|
-
"type": "string",
|
|
1078
|
-
"enum": [
|
|
1079
|
-
"file",
|
|
1080
|
-
"command",
|
|
1081
|
-
"schema",
|
|
1082
|
-
"diff",
|
|
1083
|
-
"stdout",
|
|
1084
|
-
"stderr",
|
|
1085
|
-
"text"
|
|
1086
|
-
]
|
|
1087
|
-
},
|
|
1088
|
-
"target": {
|
|
1089
|
-
"type": "string",
|
|
1090
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
1091
|
-
},
|
|
1092
|
-
"location": {
|
|
1093
|
-
"type": "string",
|
|
1094
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
1095
|
-
},
|
|
1096
|
-
"excerpt": {
|
|
1097
|
-
"type": "string",
|
|
1098
|
-
"description": "Relevant excerpt from the target."
|
|
1099
|
-
}
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1102
|
-
},
|
|
1103
|
-
"details": {
|
|
1104
|
-
"type": "object",
|
|
1105
|
-
"additionalProperties": true
|
|
1106
|
-
}
|
|
1107
|
-
}
|
|
1108
|
-
}
|
|
1109
|
-
},
|
|
1110
|
-
"recommendedActions": {
|
|
1111
|
-
"type": "array",
|
|
1112
|
-
"items": {
|
|
1113
|
-
"type": "object",
|
|
1114
|
-
"description": "A recommended action from an agent audit.",
|
|
1115
|
-
"required": [
|
|
1116
|
-
"kind",
|
|
1117
|
-
"title"
|
|
1118
|
-
],
|
|
1119
|
-
"properties": {
|
|
1120
|
-
"kind": {
|
|
1121
|
-
"type": "string",
|
|
1122
|
-
"enum": [
|
|
1123
|
-
"run_command",
|
|
1124
|
-
"edit_file",
|
|
1125
|
-
"review",
|
|
1126
|
-
"confirm",
|
|
1127
|
-
"block",
|
|
1128
|
-
"ignore"
|
|
1129
|
-
]
|
|
1130
|
-
},
|
|
1131
|
-
"title": {
|
|
1132
|
-
"type": "string"
|
|
1133
|
-
},
|
|
1134
|
-
"command": {
|
|
1135
|
-
"type": "string",
|
|
1136
|
-
"description": "CLI command to run (for run_command kind)."
|
|
1137
|
-
},
|
|
1138
|
-
"target": {
|
|
1139
|
-
"type": "string",
|
|
1140
|
-
"description": "Target file or resource."
|
|
1141
|
-
},
|
|
1142
|
-
"rationale": {
|
|
1143
|
-
"type": "string"
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
}
|
|
1147
|
-
},
|
|
1148
|
-
"metadata": {
|
|
1149
|
-
"type": "object",
|
|
1150
|
-
"properties": {
|
|
1151
|
-
"tool": {
|
|
1152
|
-
"type": "string"
|
|
1153
|
-
},
|
|
1154
|
-
"command": {
|
|
1155
|
-
"type": "string"
|
|
1156
|
-
},
|
|
1157
|
-
"version": {
|
|
1158
|
-
"type": "string"
|
|
1159
|
-
},
|
|
1160
|
-
"generatedAt": {
|
|
1161
|
-
"type": "string"
|
|
1162
|
-
},
|
|
1163
|
-
"adapter": {
|
|
1164
|
-
"type": "string"
|
|
1165
|
-
},
|
|
1166
|
-
"model": {
|
|
1167
|
-
"type": "string"
|
|
1168
|
-
}
|
|
1169
|
-
}
|
|
1170
|
-
}
|
|
1171
|
-
}
|
|
1172
|
-
},
|
|
1173
|
-
{
|
|
1174
|
-
"type": "object",
|
|
1175
|
-
"required": [
|
|
1176
|
-
"candidateLinks"
|
|
1177
|
-
],
|
|
1178
|
-
"properties": {
|
|
1179
|
-
"candidateLinks": {
|
|
1180
|
-
"type": "array",
|
|
1181
|
-
"items": {
|
|
1182
|
-
"type": "object",
|
|
1183
|
-
"required": [
|
|
1184
|
-
"from",
|
|
1185
|
-
"relation",
|
|
1186
|
-
"to",
|
|
1187
|
-
"confidence",
|
|
1188
|
-
"reason"
|
|
1189
|
-
],
|
|
1190
|
-
"properties": {
|
|
1191
|
-
"from": {
|
|
1192
|
-
"type": "string"
|
|
1193
|
-
},
|
|
1194
|
-
"relation": {
|
|
1195
|
-
"type": "string"
|
|
1196
|
-
},
|
|
1197
|
-
"to": {
|
|
1198
|
-
"type": "string"
|
|
1199
|
-
},
|
|
1200
|
-
"confidence": {
|
|
1201
|
-
"type": "number",
|
|
1202
|
-
"minimum": 0,
|
|
1203
|
-
"maximum": 1
|
|
1204
|
-
},
|
|
1205
|
-
"reason": {
|
|
1206
|
-
"type": "string"
|
|
1207
|
-
}
|
|
1208
|
-
}
|
|
1209
|
-
}
|
|
1210
|
-
}
|
|
1211
|
-
}
|
|
1212
|
-
}
|
|
1213
|
-
]
|
|
1214
|
-
}
|
|
1215
|
-
```
|
|
1216
|
-
|
|
1217
|
-
</details>
|
|
1218
|
-
|
|
1219
553
|
**Exit 1:** Unexpected error.
|
|
1220
554
|
|
|
1221
555
|
- **stderr:** format=`text`
|
|
@@ -1228,236 +562,6 @@ speckeeper propose-trace-links --adapter claude --report-format json
|
|
|
1228
562
|
|
|
1229
563
|
- **stdout:** format=`{options.report-format}`
|
|
1230
564
|
|
|
1231
|
-
|
|
1232
|
-
<details>
|
|
1233
|
-
<summary>JSON Schema</summary>
|
|
1234
|
-
|
|
1235
|
-
```json
|
|
1236
|
-
{
|
|
1237
|
-
"type": "object",
|
|
1238
|
-
"description": "Result of trace link proposal with candidate links.",
|
|
1239
|
-
"allOf": [
|
|
1240
|
-
{
|
|
1241
|
-
"type": "object",
|
|
1242
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
1243
|
-
"required": [
|
|
1244
|
-
"summary",
|
|
1245
|
-
"riskLevel",
|
|
1246
|
-
"findings"
|
|
1247
|
-
],
|
|
1248
|
-
"properties": {
|
|
1249
|
-
"summary": {
|
|
1250
|
-
"type": "string"
|
|
1251
|
-
},
|
|
1252
|
-
"riskLevel": {
|
|
1253
|
-
"type": "string",
|
|
1254
|
-
"enum": [
|
|
1255
|
-
"low",
|
|
1256
|
-
"medium",
|
|
1257
|
-
"high",
|
|
1258
|
-
"critical"
|
|
1259
|
-
]
|
|
1260
|
-
},
|
|
1261
|
-
"findings": {
|
|
1262
|
-
"type": "array",
|
|
1263
|
-
"items": {
|
|
1264
|
-
"type": "object",
|
|
1265
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
1266
|
-
"required": [
|
|
1267
|
-
"severity",
|
|
1268
|
-
"category",
|
|
1269
|
-
"message"
|
|
1270
|
-
],
|
|
1271
|
-
"properties": {
|
|
1272
|
-
"id": {
|
|
1273
|
-
"type": "string",
|
|
1274
|
-
"description": "Unique finding identifier."
|
|
1275
|
-
},
|
|
1276
|
-
"severity": {
|
|
1277
|
-
"type": "string",
|
|
1278
|
-
"enum": [
|
|
1279
|
-
"info",
|
|
1280
|
-
"warning",
|
|
1281
|
-
"error",
|
|
1282
|
-
"critical"
|
|
1283
|
-
]
|
|
1284
|
-
},
|
|
1285
|
-
"category": {
|
|
1286
|
-
"type": "string",
|
|
1287
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
1288
|
-
},
|
|
1289
|
-
"target": {
|
|
1290
|
-
"type": "string",
|
|
1291
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
1292
|
-
},
|
|
1293
|
-
"location": {
|
|
1294
|
-
"type": "string",
|
|
1295
|
-
"description": "Location within the target."
|
|
1296
|
-
},
|
|
1297
|
-
"message": {
|
|
1298
|
-
"type": "string"
|
|
1299
|
-
},
|
|
1300
|
-
"recommendation": {
|
|
1301
|
-
"type": "string"
|
|
1302
|
-
},
|
|
1303
|
-
"confidence": {
|
|
1304
|
-
"type": "number",
|
|
1305
|
-
"minimum": 0,
|
|
1306
|
-
"maximum": 1,
|
|
1307
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
1308
|
-
},
|
|
1309
|
-
"evidence": {
|
|
1310
|
-
"type": "array",
|
|
1311
|
-
"items": {
|
|
1312
|
-
"type": "object",
|
|
1313
|
-
"description": "Evidence supporting an agent finding.",
|
|
1314
|
-
"required": [
|
|
1315
|
-
"kind"
|
|
1316
|
-
],
|
|
1317
|
-
"properties": {
|
|
1318
|
-
"kind": {
|
|
1319
|
-
"type": "string",
|
|
1320
|
-
"enum": [
|
|
1321
|
-
"file",
|
|
1322
|
-
"command",
|
|
1323
|
-
"schema",
|
|
1324
|
-
"diff",
|
|
1325
|
-
"stdout",
|
|
1326
|
-
"stderr",
|
|
1327
|
-
"text"
|
|
1328
|
-
]
|
|
1329
|
-
},
|
|
1330
|
-
"target": {
|
|
1331
|
-
"type": "string",
|
|
1332
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
1333
|
-
},
|
|
1334
|
-
"location": {
|
|
1335
|
-
"type": "string",
|
|
1336
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
1337
|
-
},
|
|
1338
|
-
"excerpt": {
|
|
1339
|
-
"type": "string",
|
|
1340
|
-
"description": "Relevant excerpt from the target."
|
|
1341
|
-
}
|
|
1342
|
-
}
|
|
1343
|
-
}
|
|
1344
|
-
},
|
|
1345
|
-
"details": {
|
|
1346
|
-
"type": "object",
|
|
1347
|
-
"additionalProperties": true
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
}
|
|
1351
|
-
},
|
|
1352
|
-
"recommendedActions": {
|
|
1353
|
-
"type": "array",
|
|
1354
|
-
"items": {
|
|
1355
|
-
"type": "object",
|
|
1356
|
-
"description": "A recommended action from an agent audit.",
|
|
1357
|
-
"required": [
|
|
1358
|
-
"kind",
|
|
1359
|
-
"title"
|
|
1360
|
-
],
|
|
1361
|
-
"properties": {
|
|
1362
|
-
"kind": {
|
|
1363
|
-
"type": "string",
|
|
1364
|
-
"enum": [
|
|
1365
|
-
"run_command",
|
|
1366
|
-
"edit_file",
|
|
1367
|
-
"review",
|
|
1368
|
-
"confirm",
|
|
1369
|
-
"block",
|
|
1370
|
-
"ignore"
|
|
1371
|
-
]
|
|
1372
|
-
},
|
|
1373
|
-
"title": {
|
|
1374
|
-
"type": "string"
|
|
1375
|
-
},
|
|
1376
|
-
"command": {
|
|
1377
|
-
"type": "string",
|
|
1378
|
-
"description": "CLI command to run (for run_command kind)."
|
|
1379
|
-
},
|
|
1380
|
-
"target": {
|
|
1381
|
-
"type": "string",
|
|
1382
|
-
"description": "Target file or resource."
|
|
1383
|
-
},
|
|
1384
|
-
"rationale": {
|
|
1385
|
-
"type": "string"
|
|
1386
|
-
}
|
|
1387
|
-
}
|
|
1388
|
-
}
|
|
1389
|
-
},
|
|
1390
|
-
"metadata": {
|
|
1391
|
-
"type": "object",
|
|
1392
|
-
"properties": {
|
|
1393
|
-
"tool": {
|
|
1394
|
-
"type": "string"
|
|
1395
|
-
},
|
|
1396
|
-
"command": {
|
|
1397
|
-
"type": "string"
|
|
1398
|
-
},
|
|
1399
|
-
"version": {
|
|
1400
|
-
"type": "string"
|
|
1401
|
-
},
|
|
1402
|
-
"generatedAt": {
|
|
1403
|
-
"type": "string"
|
|
1404
|
-
},
|
|
1405
|
-
"adapter": {
|
|
1406
|
-
"type": "string"
|
|
1407
|
-
},
|
|
1408
|
-
"model": {
|
|
1409
|
-
"type": "string"
|
|
1410
|
-
}
|
|
1411
|
-
}
|
|
1412
|
-
}
|
|
1413
|
-
}
|
|
1414
|
-
},
|
|
1415
|
-
{
|
|
1416
|
-
"type": "object",
|
|
1417
|
-
"required": [
|
|
1418
|
-
"candidateLinks"
|
|
1419
|
-
],
|
|
1420
|
-
"properties": {
|
|
1421
|
-
"candidateLinks": {
|
|
1422
|
-
"type": "array",
|
|
1423
|
-
"items": {
|
|
1424
|
-
"type": "object",
|
|
1425
|
-
"required": [
|
|
1426
|
-
"from",
|
|
1427
|
-
"relation",
|
|
1428
|
-
"to",
|
|
1429
|
-
"confidence",
|
|
1430
|
-
"reason"
|
|
1431
|
-
],
|
|
1432
|
-
"properties": {
|
|
1433
|
-
"from": {
|
|
1434
|
-
"type": "string"
|
|
1435
|
-
},
|
|
1436
|
-
"relation": {
|
|
1437
|
-
"type": "string"
|
|
1438
|
-
},
|
|
1439
|
-
"to": {
|
|
1440
|
-
"type": "string"
|
|
1441
|
-
},
|
|
1442
|
-
"confidence": {
|
|
1443
|
-
"type": "number",
|
|
1444
|
-
"minimum": 0,
|
|
1445
|
-
"maximum": 1
|
|
1446
|
-
},
|
|
1447
|
-
"reason": {
|
|
1448
|
-
"type": "string"
|
|
1449
|
-
}
|
|
1450
|
-
}
|
|
1451
|
-
}
|
|
1452
|
-
}
|
|
1453
|
-
}
|
|
1454
|
-
}
|
|
1455
|
-
]
|
|
1456
|
-
}
|
|
1457
|
-
```
|
|
1458
|
-
|
|
1459
|
-
</details>
|
|
1460
|
-
|
|
1461
565
|
**Exit 11:** Runtime dependency missing (agent-contracts-runtime).
|
|
1462
566
|
|
|
1463
567
|
- **stderr:** format=`text`
|
|
@@ -1471,7 +575,7 @@ speckeeper propose-trace-links --adapter claude --report-format json
|
|
|
1471
575
|
```yaml
|
|
1472
576
|
x-agent:
|
|
1473
577
|
recommended_before_use:
|
|
1474
|
-
- Run with --
|
|
578
|
+
- Run with --show-prompt first to preview the prompt
|
|
1475
579
|
retryableExitCodes:
|
|
1476
580
|
- 12
|
|
1477
581
|
```
|
|
@@ -1499,8 +603,6 @@ speckeeper impact ENT-ORDER --format json | speckeeper explain-impact --adapter
|
|
|
1499
603
|
|---|---|---|---|---|
|
|
1500
604
|
| `--adapter` | -a | No | | SDK adapter to use for LLM execution. |
|
|
1501
605
|
| `--model` | | No | | LLM model override. |
|
|
1502
|
-
| `--dry-run` | -n | No | `false` | Output the constructed prompt without calling LLM. |
|
|
1503
|
-
| `--show-prompt` | | No | `false` | Display the constructed LLM prompt on stderr. |
|
|
1504
606
|
| `--fail-on` | | No | `"error"` | Minimum severity that causes a non-zero exit. |
|
|
1505
607
|
| `--output` | -o | No | | Write result to a file instead of stdout. |
|
|
1506
608
|
| `--report-format` | | No | `"json"` | Output format for the report. |
|
|
@@ -1511,253 +613,6 @@ speckeeper impact ENT-ORDER --format json | speckeeper explain-impact --adapter
|
|
|
1511
613
|
|
|
1512
614
|
- **stdout:** format=`{options.report-format}`
|
|
1513
615
|
|
|
1514
|
-
|
|
1515
|
-
<details>
|
|
1516
|
-
<summary>JSON Schema</summary>
|
|
1517
|
-
|
|
1518
|
-
```json
|
|
1519
|
-
{
|
|
1520
|
-
"type": "object",
|
|
1521
|
-
"description": "Human-readable explanation of impact analysis output.",
|
|
1522
|
-
"allOf": [
|
|
1523
|
-
{
|
|
1524
|
-
"type": "object",
|
|
1525
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
1526
|
-
"required": [
|
|
1527
|
-
"summary",
|
|
1528
|
-
"riskLevel",
|
|
1529
|
-
"findings"
|
|
1530
|
-
],
|
|
1531
|
-
"properties": {
|
|
1532
|
-
"summary": {
|
|
1533
|
-
"type": "string"
|
|
1534
|
-
},
|
|
1535
|
-
"riskLevel": {
|
|
1536
|
-
"type": "string",
|
|
1537
|
-
"enum": [
|
|
1538
|
-
"low",
|
|
1539
|
-
"medium",
|
|
1540
|
-
"high",
|
|
1541
|
-
"critical"
|
|
1542
|
-
]
|
|
1543
|
-
},
|
|
1544
|
-
"findings": {
|
|
1545
|
-
"type": "array",
|
|
1546
|
-
"items": {
|
|
1547
|
-
"type": "object",
|
|
1548
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
1549
|
-
"required": [
|
|
1550
|
-
"severity",
|
|
1551
|
-
"category",
|
|
1552
|
-
"message"
|
|
1553
|
-
],
|
|
1554
|
-
"properties": {
|
|
1555
|
-
"id": {
|
|
1556
|
-
"type": "string",
|
|
1557
|
-
"description": "Unique finding identifier."
|
|
1558
|
-
},
|
|
1559
|
-
"severity": {
|
|
1560
|
-
"type": "string",
|
|
1561
|
-
"enum": [
|
|
1562
|
-
"info",
|
|
1563
|
-
"warning",
|
|
1564
|
-
"error",
|
|
1565
|
-
"critical"
|
|
1566
|
-
]
|
|
1567
|
-
},
|
|
1568
|
-
"category": {
|
|
1569
|
-
"type": "string",
|
|
1570
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
1571
|
-
},
|
|
1572
|
-
"target": {
|
|
1573
|
-
"type": "string",
|
|
1574
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
1575
|
-
},
|
|
1576
|
-
"location": {
|
|
1577
|
-
"type": "string",
|
|
1578
|
-
"description": "Location within the target."
|
|
1579
|
-
},
|
|
1580
|
-
"message": {
|
|
1581
|
-
"type": "string"
|
|
1582
|
-
},
|
|
1583
|
-
"recommendation": {
|
|
1584
|
-
"type": "string"
|
|
1585
|
-
},
|
|
1586
|
-
"confidence": {
|
|
1587
|
-
"type": "number",
|
|
1588
|
-
"minimum": 0,
|
|
1589
|
-
"maximum": 1,
|
|
1590
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
1591
|
-
},
|
|
1592
|
-
"evidence": {
|
|
1593
|
-
"type": "array",
|
|
1594
|
-
"items": {
|
|
1595
|
-
"type": "object",
|
|
1596
|
-
"description": "Evidence supporting an agent finding.",
|
|
1597
|
-
"required": [
|
|
1598
|
-
"kind"
|
|
1599
|
-
],
|
|
1600
|
-
"properties": {
|
|
1601
|
-
"kind": {
|
|
1602
|
-
"type": "string",
|
|
1603
|
-
"enum": [
|
|
1604
|
-
"file",
|
|
1605
|
-
"command",
|
|
1606
|
-
"schema",
|
|
1607
|
-
"diff",
|
|
1608
|
-
"stdout",
|
|
1609
|
-
"stderr",
|
|
1610
|
-
"text"
|
|
1611
|
-
]
|
|
1612
|
-
},
|
|
1613
|
-
"target": {
|
|
1614
|
-
"type": "string",
|
|
1615
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
1616
|
-
},
|
|
1617
|
-
"location": {
|
|
1618
|
-
"type": "string",
|
|
1619
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
1620
|
-
},
|
|
1621
|
-
"excerpt": {
|
|
1622
|
-
"type": "string",
|
|
1623
|
-
"description": "Relevant excerpt from the target."
|
|
1624
|
-
}
|
|
1625
|
-
}
|
|
1626
|
-
}
|
|
1627
|
-
},
|
|
1628
|
-
"details": {
|
|
1629
|
-
"type": "object",
|
|
1630
|
-
"additionalProperties": true
|
|
1631
|
-
}
|
|
1632
|
-
}
|
|
1633
|
-
}
|
|
1634
|
-
},
|
|
1635
|
-
"recommendedActions": {
|
|
1636
|
-
"type": "array",
|
|
1637
|
-
"items": {
|
|
1638
|
-
"type": "object",
|
|
1639
|
-
"description": "A recommended action from an agent audit.",
|
|
1640
|
-
"required": [
|
|
1641
|
-
"kind",
|
|
1642
|
-
"title"
|
|
1643
|
-
],
|
|
1644
|
-
"properties": {
|
|
1645
|
-
"kind": {
|
|
1646
|
-
"type": "string",
|
|
1647
|
-
"enum": [
|
|
1648
|
-
"run_command",
|
|
1649
|
-
"edit_file",
|
|
1650
|
-
"review",
|
|
1651
|
-
"confirm",
|
|
1652
|
-
"block",
|
|
1653
|
-
"ignore"
|
|
1654
|
-
]
|
|
1655
|
-
},
|
|
1656
|
-
"title": {
|
|
1657
|
-
"type": "string"
|
|
1658
|
-
},
|
|
1659
|
-
"command": {
|
|
1660
|
-
"type": "string",
|
|
1661
|
-
"description": "CLI command to run (for run_command kind)."
|
|
1662
|
-
},
|
|
1663
|
-
"target": {
|
|
1664
|
-
"type": "string",
|
|
1665
|
-
"description": "Target file or resource."
|
|
1666
|
-
},
|
|
1667
|
-
"rationale": {
|
|
1668
|
-
"type": "string"
|
|
1669
|
-
}
|
|
1670
|
-
}
|
|
1671
|
-
}
|
|
1672
|
-
},
|
|
1673
|
-
"metadata": {
|
|
1674
|
-
"type": "object",
|
|
1675
|
-
"properties": {
|
|
1676
|
-
"tool": {
|
|
1677
|
-
"type": "string"
|
|
1678
|
-
},
|
|
1679
|
-
"command": {
|
|
1680
|
-
"type": "string"
|
|
1681
|
-
},
|
|
1682
|
-
"version": {
|
|
1683
|
-
"type": "string"
|
|
1684
|
-
},
|
|
1685
|
-
"generatedAt": {
|
|
1686
|
-
"type": "string"
|
|
1687
|
-
},
|
|
1688
|
-
"adapter": {
|
|
1689
|
-
"type": "string"
|
|
1690
|
-
},
|
|
1691
|
-
"model": {
|
|
1692
|
-
"type": "string"
|
|
1693
|
-
}
|
|
1694
|
-
}
|
|
1695
|
-
}
|
|
1696
|
-
}
|
|
1697
|
-
},
|
|
1698
|
-
{
|
|
1699
|
-
"type": "object",
|
|
1700
|
-
"required": [
|
|
1701
|
-
"explanation"
|
|
1702
|
-
],
|
|
1703
|
-
"properties": {
|
|
1704
|
-
"explanation": {
|
|
1705
|
-
"type": "string"
|
|
1706
|
-
},
|
|
1707
|
-
"affectedArtifacts": {
|
|
1708
|
-
"type": "array",
|
|
1709
|
-
"items": {
|
|
1710
|
-
"type": "object",
|
|
1711
|
-
"required": [
|
|
1712
|
-
"type",
|
|
1713
|
-
"id",
|
|
1714
|
-
"summary"
|
|
1715
|
-
],
|
|
1716
|
-
"properties": {
|
|
1717
|
-
"type": {
|
|
1718
|
-
"type": "string",
|
|
1719
|
-
"enum": [
|
|
1720
|
-
"spec",
|
|
1721
|
-
"api",
|
|
1722
|
-
"ddl",
|
|
1723
|
-
"test",
|
|
1724
|
-
"annotation"
|
|
1725
|
-
]
|
|
1726
|
-
},
|
|
1727
|
-
"id": {
|
|
1728
|
-
"type": "string"
|
|
1729
|
-
},
|
|
1730
|
-
"summary": {
|
|
1731
|
-
"type": "string"
|
|
1732
|
-
}
|
|
1733
|
-
}
|
|
1734
|
-
}
|
|
1735
|
-
},
|
|
1736
|
-
"testConsiderations": {
|
|
1737
|
-
"type": "array",
|
|
1738
|
-
"items": {
|
|
1739
|
-
"type": "string"
|
|
1740
|
-
}
|
|
1741
|
-
},
|
|
1742
|
-
"releaseRisk": {
|
|
1743
|
-
"type": "string",
|
|
1744
|
-
"enum": [
|
|
1745
|
-
"low",
|
|
1746
|
-
"medium",
|
|
1747
|
-
"high"
|
|
1748
|
-
]
|
|
1749
|
-
},
|
|
1750
|
-
"sourceCommand": {
|
|
1751
|
-
"type": "string"
|
|
1752
|
-
}
|
|
1753
|
-
}
|
|
1754
|
-
}
|
|
1755
|
-
]
|
|
1756
|
-
}
|
|
1757
|
-
```
|
|
1758
|
-
|
|
1759
|
-
</details>
|
|
1760
|
-
|
|
1761
616
|
**Exit 1:** Unexpected error.
|
|
1762
617
|
|
|
1763
618
|
- **stderr:** format=`text`
|
|
@@ -1770,253 +625,6 @@ speckeeper impact ENT-ORDER --format json | speckeeper explain-impact --adapter
|
|
|
1770
625
|
|
|
1771
626
|
- **stdout:** format=`{options.report-format}`
|
|
1772
627
|
|
|
1773
|
-
|
|
1774
|
-
<details>
|
|
1775
|
-
<summary>JSON Schema</summary>
|
|
1776
|
-
|
|
1777
|
-
```json
|
|
1778
|
-
{
|
|
1779
|
-
"type": "object",
|
|
1780
|
-
"description": "Human-readable explanation of impact analysis output.",
|
|
1781
|
-
"allOf": [
|
|
1782
|
-
{
|
|
1783
|
-
"type": "object",
|
|
1784
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
1785
|
-
"required": [
|
|
1786
|
-
"summary",
|
|
1787
|
-
"riskLevel",
|
|
1788
|
-
"findings"
|
|
1789
|
-
],
|
|
1790
|
-
"properties": {
|
|
1791
|
-
"summary": {
|
|
1792
|
-
"type": "string"
|
|
1793
|
-
},
|
|
1794
|
-
"riskLevel": {
|
|
1795
|
-
"type": "string",
|
|
1796
|
-
"enum": [
|
|
1797
|
-
"low",
|
|
1798
|
-
"medium",
|
|
1799
|
-
"high",
|
|
1800
|
-
"critical"
|
|
1801
|
-
]
|
|
1802
|
-
},
|
|
1803
|
-
"findings": {
|
|
1804
|
-
"type": "array",
|
|
1805
|
-
"items": {
|
|
1806
|
-
"type": "object",
|
|
1807
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
1808
|
-
"required": [
|
|
1809
|
-
"severity",
|
|
1810
|
-
"category",
|
|
1811
|
-
"message"
|
|
1812
|
-
],
|
|
1813
|
-
"properties": {
|
|
1814
|
-
"id": {
|
|
1815
|
-
"type": "string",
|
|
1816
|
-
"description": "Unique finding identifier."
|
|
1817
|
-
},
|
|
1818
|
-
"severity": {
|
|
1819
|
-
"type": "string",
|
|
1820
|
-
"enum": [
|
|
1821
|
-
"info",
|
|
1822
|
-
"warning",
|
|
1823
|
-
"error",
|
|
1824
|
-
"critical"
|
|
1825
|
-
]
|
|
1826
|
-
},
|
|
1827
|
-
"category": {
|
|
1828
|
-
"type": "string",
|
|
1829
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
1830
|
-
},
|
|
1831
|
-
"target": {
|
|
1832
|
-
"type": "string",
|
|
1833
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
1834
|
-
},
|
|
1835
|
-
"location": {
|
|
1836
|
-
"type": "string",
|
|
1837
|
-
"description": "Location within the target."
|
|
1838
|
-
},
|
|
1839
|
-
"message": {
|
|
1840
|
-
"type": "string"
|
|
1841
|
-
},
|
|
1842
|
-
"recommendation": {
|
|
1843
|
-
"type": "string"
|
|
1844
|
-
},
|
|
1845
|
-
"confidence": {
|
|
1846
|
-
"type": "number",
|
|
1847
|
-
"minimum": 0,
|
|
1848
|
-
"maximum": 1,
|
|
1849
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
1850
|
-
},
|
|
1851
|
-
"evidence": {
|
|
1852
|
-
"type": "array",
|
|
1853
|
-
"items": {
|
|
1854
|
-
"type": "object",
|
|
1855
|
-
"description": "Evidence supporting an agent finding.",
|
|
1856
|
-
"required": [
|
|
1857
|
-
"kind"
|
|
1858
|
-
],
|
|
1859
|
-
"properties": {
|
|
1860
|
-
"kind": {
|
|
1861
|
-
"type": "string",
|
|
1862
|
-
"enum": [
|
|
1863
|
-
"file",
|
|
1864
|
-
"command",
|
|
1865
|
-
"schema",
|
|
1866
|
-
"diff",
|
|
1867
|
-
"stdout",
|
|
1868
|
-
"stderr",
|
|
1869
|
-
"text"
|
|
1870
|
-
]
|
|
1871
|
-
},
|
|
1872
|
-
"target": {
|
|
1873
|
-
"type": "string",
|
|
1874
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
1875
|
-
},
|
|
1876
|
-
"location": {
|
|
1877
|
-
"type": "string",
|
|
1878
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
1879
|
-
},
|
|
1880
|
-
"excerpt": {
|
|
1881
|
-
"type": "string",
|
|
1882
|
-
"description": "Relevant excerpt from the target."
|
|
1883
|
-
}
|
|
1884
|
-
}
|
|
1885
|
-
}
|
|
1886
|
-
},
|
|
1887
|
-
"details": {
|
|
1888
|
-
"type": "object",
|
|
1889
|
-
"additionalProperties": true
|
|
1890
|
-
}
|
|
1891
|
-
}
|
|
1892
|
-
}
|
|
1893
|
-
},
|
|
1894
|
-
"recommendedActions": {
|
|
1895
|
-
"type": "array",
|
|
1896
|
-
"items": {
|
|
1897
|
-
"type": "object",
|
|
1898
|
-
"description": "A recommended action from an agent audit.",
|
|
1899
|
-
"required": [
|
|
1900
|
-
"kind",
|
|
1901
|
-
"title"
|
|
1902
|
-
],
|
|
1903
|
-
"properties": {
|
|
1904
|
-
"kind": {
|
|
1905
|
-
"type": "string",
|
|
1906
|
-
"enum": [
|
|
1907
|
-
"run_command",
|
|
1908
|
-
"edit_file",
|
|
1909
|
-
"review",
|
|
1910
|
-
"confirm",
|
|
1911
|
-
"block",
|
|
1912
|
-
"ignore"
|
|
1913
|
-
]
|
|
1914
|
-
},
|
|
1915
|
-
"title": {
|
|
1916
|
-
"type": "string"
|
|
1917
|
-
},
|
|
1918
|
-
"command": {
|
|
1919
|
-
"type": "string",
|
|
1920
|
-
"description": "CLI command to run (for run_command kind)."
|
|
1921
|
-
},
|
|
1922
|
-
"target": {
|
|
1923
|
-
"type": "string",
|
|
1924
|
-
"description": "Target file or resource."
|
|
1925
|
-
},
|
|
1926
|
-
"rationale": {
|
|
1927
|
-
"type": "string"
|
|
1928
|
-
}
|
|
1929
|
-
}
|
|
1930
|
-
}
|
|
1931
|
-
},
|
|
1932
|
-
"metadata": {
|
|
1933
|
-
"type": "object",
|
|
1934
|
-
"properties": {
|
|
1935
|
-
"tool": {
|
|
1936
|
-
"type": "string"
|
|
1937
|
-
},
|
|
1938
|
-
"command": {
|
|
1939
|
-
"type": "string"
|
|
1940
|
-
},
|
|
1941
|
-
"version": {
|
|
1942
|
-
"type": "string"
|
|
1943
|
-
},
|
|
1944
|
-
"generatedAt": {
|
|
1945
|
-
"type": "string"
|
|
1946
|
-
},
|
|
1947
|
-
"adapter": {
|
|
1948
|
-
"type": "string"
|
|
1949
|
-
},
|
|
1950
|
-
"model": {
|
|
1951
|
-
"type": "string"
|
|
1952
|
-
}
|
|
1953
|
-
}
|
|
1954
|
-
}
|
|
1955
|
-
}
|
|
1956
|
-
},
|
|
1957
|
-
{
|
|
1958
|
-
"type": "object",
|
|
1959
|
-
"required": [
|
|
1960
|
-
"explanation"
|
|
1961
|
-
],
|
|
1962
|
-
"properties": {
|
|
1963
|
-
"explanation": {
|
|
1964
|
-
"type": "string"
|
|
1965
|
-
},
|
|
1966
|
-
"affectedArtifacts": {
|
|
1967
|
-
"type": "array",
|
|
1968
|
-
"items": {
|
|
1969
|
-
"type": "object",
|
|
1970
|
-
"required": [
|
|
1971
|
-
"type",
|
|
1972
|
-
"id",
|
|
1973
|
-
"summary"
|
|
1974
|
-
],
|
|
1975
|
-
"properties": {
|
|
1976
|
-
"type": {
|
|
1977
|
-
"type": "string",
|
|
1978
|
-
"enum": [
|
|
1979
|
-
"spec",
|
|
1980
|
-
"api",
|
|
1981
|
-
"ddl",
|
|
1982
|
-
"test",
|
|
1983
|
-
"annotation"
|
|
1984
|
-
]
|
|
1985
|
-
},
|
|
1986
|
-
"id": {
|
|
1987
|
-
"type": "string"
|
|
1988
|
-
},
|
|
1989
|
-
"summary": {
|
|
1990
|
-
"type": "string"
|
|
1991
|
-
}
|
|
1992
|
-
}
|
|
1993
|
-
}
|
|
1994
|
-
},
|
|
1995
|
-
"testConsiderations": {
|
|
1996
|
-
"type": "array",
|
|
1997
|
-
"items": {
|
|
1998
|
-
"type": "string"
|
|
1999
|
-
}
|
|
2000
|
-
},
|
|
2001
|
-
"releaseRisk": {
|
|
2002
|
-
"type": "string",
|
|
2003
|
-
"enum": [
|
|
2004
|
-
"low",
|
|
2005
|
-
"medium",
|
|
2006
|
-
"high"
|
|
2007
|
-
]
|
|
2008
|
-
},
|
|
2009
|
-
"sourceCommand": {
|
|
2010
|
-
"type": "string"
|
|
2011
|
-
}
|
|
2012
|
-
}
|
|
2013
|
-
}
|
|
2014
|
-
]
|
|
2015
|
-
}
|
|
2016
|
-
```
|
|
2017
|
-
|
|
2018
|
-
</details>
|
|
2019
|
-
|
|
2020
628
|
**Exit 11:** Runtime dependency missing (agent-contracts-runtime).
|
|
2021
629
|
|
|
2022
630
|
- **stderr:** format=`text`
|
|
@@ -2030,7 +638,7 @@ speckeeper impact ENT-ORDER --format json | speckeeper explain-impact --adapter
|
|
|
2030
638
|
```yaml
|
|
2031
639
|
x-agent:
|
|
2032
640
|
recommended_before_use:
|
|
2033
|
-
- Run with --
|
|
641
|
+
- Run with --show-prompt first to preview the prompt
|
|
2034
642
|
retryableExitCodes:
|
|
2035
643
|
- 12
|
|
2036
644
|
```
|
|
@@ -2052,7 +660,7 @@ speckeeper propose-acceptance-criteria
|
|
|
2052
660
|
speckeeper propose-acceptance-criteria FR-001 FR-002
|
|
2053
661
|
```
|
|
2054
662
|
```
|
|
2055
|
-
speckeeper propose-acceptance-criteria --adapter gemini --
|
|
663
|
+
speckeeper propose-acceptance-criteria --adapter gemini --show-prompt
|
|
2056
664
|
```
|
|
2057
665
|
|
|
2058
666
|
#### Arguments
|
|
@@ -2068,8 +676,6 @@ speckeeper propose-acceptance-criteria --adapter gemini --dry-run
|
|
|
2068
676
|
| `--config` | -c | No | | Path to config file. |
|
|
2069
677
|
| `--adapter` | -a | No | | SDK adapter to use for LLM execution. |
|
|
2070
678
|
| `--model` | | No | | LLM model override. |
|
|
2071
|
-
| `--dry-run` | -n | No | `false` | Output the constructed prompt without calling LLM. |
|
|
2072
|
-
| `--show-prompt` | | No | `false` | Display the constructed LLM prompt on stderr. |
|
|
2073
679
|
| `--fail-on` | | No | `"error"` | Minimum severity that causes a non-zero exit. |
|
|
2074
680
|
| `--output` | -o | No | | Write result to a file instead of stdout. |
|
|
2075
681
|
| `--report-format` | | No | `"json"` | Output format for the report. |
|
|
@@ -2080,229 +686,6 @@ speckeeper propose-acceptance-criteria --adapter gemini --dry-run
|
|
|
2080
686
|
|
|
2081
687
|
- **stdout:** format=`{options.report-format}`
|
|
2082
688
|
|
|
2083
|
-
|
|
2084
|
-
<details>
|
|
2085
|
-
<summary>JSON Schema</summary>
|
|
2086
|
-
|
|
2087
|
-
```json
|
|
2088
|
-
{
|
|
2089
|
-
"type": "object",
|
|
2090
|
-
"description": "Proposed acceptance criteria for design specs.",
|
|
2091
|
-
"allOf": [
|
|
2092
|
-
{
|
|
2093
|
-
"type": "object",
|
|
2094
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
2095
|
-
"required": [
|
|
2096
|
-
"summary",
|
|
2097
|
-
"riskLevel",
|
|
2098
|
-
"findings"
|
|
2099
|
-
],
|
|
2100
|
-
"properties": {
|
|
2101
|
-
"summary": {
|
|
2102
|
-
"type": "string"
|
|
2103
|
-
},
|
|
2104
|
-
"riskLevel": {
|
|
2105
|
-
"type": "string",
|
|
2106
|
-
"enum": [
|
|
2107
|
-
"low",
|
|
2108
|
-
"medium",
|
|
2109
|
-
"high",
|
|
2110
|
-
"critical"
|
|
2111
|
-
]
|
|
2112
|
-
},
|
|
2113
|
-
"findings": {
|
|
2114
|
-
"type": "array",
|
|
2115
|
-
"items": {
|
|
2116
|
-
"type": "object",
|
|
2117
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
2118
|
-
"required": [
|
|
2119
|
-
"severity",
|
|
2120
|
-
"category",
|
|
2121
|
-
"message"
|
|
2122
|
-
],
|
|
2123
|
-
"properties": {
|
|
2124
|
-
"id": {
|
|
2125
|
-
"type": "string",
|
|
2126
|
-
"description": "Unique finding identifier."
|
|
2127
|
-
},
|
|
2128
|
-
"severity": {
|
|
2129
|
-
"type": "string",
|
|
2130
|
-
"enum": [
|
|
2131
|
-
"info",
|
|
2132
|
-
"warning",
|
|
2133
|
-
"error",
|
|
2134
|
-
"critical"
|
|
2135
|
-
]
|
|
2136
|
-
},
|
|
2137
|
-
"category": {
|
|
2138
|
-
"type": "string",
|
|
2139
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
2140
|
-
},
|
|
2141
|
-
"target": {
|
|
2142
|
-
"type": "string",
|
|
2143
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
2144
|
-
},
|
|
2145
|
-
"location": {
|
|
2146
|
-
"type": "string",
|
|
2147
|
-
"description": "Location within the target."
|
|
2148
|
-
},
|
|
2149
|
-
"message": {
|
|
2150
|
-
"type": "string"
|
|
2151
|
-
},
|
|
2152
|
-
"recommendation": {
|
|
2153
|
-
"type": "string"
|
|
2154
|
-
},
|
|
2155
|
-
"confidence": {
|
|
2156
|
-
"type": "number",
|
|
2157
|
-
"minimum": 0,
|
|
2158
|
-
"maximum": 1,
|
|
2159
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
2160
|
-
},
|
|
2161
|
-
"evidence": {
|
|
2162
|
-
"type": "array",
|
|
2163
|
-
"items": {
|
|
2164
|
-
"type": "object",
|
|
2165
|
-
"description": "Evidence supporting an agent finding.",
|
|
2166
|
-
"required": [
|
|
2167
|
-
"kind"
|
|
2168
|
-
],
|
|
2169
|
-
"properties": {
|
|
2170
|
-
"kind": {
|
|
2171
|
-
"type": "string",
|
|
2172
|
-
"enum": [
|
|
2173
|
-
"file",
|
|
2174
|
-
"command",
|
|
2175
|
-
"schema",
|
|
2176
|
-
"diff",
|
|
2177
|
-
"stdout",
|
|
2178
|
-
"stderr",
|
|
2179
|
-
"text"
|
|
2180
|
-
]
|
|
2181
|
-
},
|
|
2182
|
-
"target": {
|
|
2183
|
-
"type": "string",
|
|
2184
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
2185
|
-
},
|
|
2186
|
-
"location": {
|
|
2187
|
-
"type": "string",
|
|
2188
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
2189
|
-
},
|
|
2190
|
-
"excerpt": {
|
|
2191
|
-
"type": "string",
|
|
2192
|
-
"description": "Relevant excerpt from the target."
|
|
2193
|
-
}
|
|
2194
|
-
}
|
|
2195
|
-
}
|
|
2196
|
-
},
|
|
2197
|
-
"details": {
|
|
2198
|
-
"type": "object",
|
|
2199
|
-
"additionalProperties": true
|
|
2200
|
-
}
|
|
2201
|
-
}
|
|
2202
|
-
}
|
|
2203
|
-
},
|
|
2204
|
-
"recommendedActions": {
|
|
2205
|
-
"type": "array",
|
|
2206
|
-
"items": {
|
|
2207
|
-
"type": "object",
|
|
2208
|
-
"description": "A recommended action from an agent audit.",
|
|
2209
|
-
"required": [
|
|
2210
|
-
"kind",
|
|
2211
|
-
"title"
|
|
2212
|
-
],
|
|
2213
|
-
"properties": {
|
|
2214
|
-
"kind": {
|
|
2215
|
-
"type": "string",
|
|
2216
|
-
"enum": [
|
|
2217
|
-
"run_command",
|
|
2218
|
-
"edit_file",
|
|
2219
|
-
"review",
|
|
2220
|
-
"confirm",
|
|
2221
|
-
"block",
|
|
2222
|
-
"ignore"
|
|
2223
|
-
]
|
|
2224
|
-
},
|
|
2225
|
-
"title": {
|
|
2226
|
-
"type": "string"
|
|
2227
|
-
},
|
|
2228
|
-
"command": {
|
|
2229
|
-
"type": "string",
|
|
2230
|
-
"description": "CLI command to run (for run_command kind)."
|
|
2231
|
-
},
|
|
2232
|
-
"target": {
|
|
2233
|
-
"type": "string",
|
|
2234
|
-
"description": "Target file or resource."
|
|
2235
|
-
},
|
|
2236
|
-
"rationale": {
|
|
2237
|
-
"type": "string"
|
|
2238
|
-
}
|
|
2239
|
-
}
|
|
2240
|
-
}
|
|
2241
|
-
},
|
|
2242
|
-
"metadata": {
|
|
2243
|
-
"type": "object",
|
|
2244
|
-
"properties": {
|
|
2245
|
-
"tool": {
|
|
2246
|
-
"type": "string"
|
|
2247
|
-
},
|
|
2248
|
-
"command": {
|
|
2249
|
-
"type": "string"
|
|
2250
|
-
},
|
|
2251
|
-
"version": {
|
|
2252
|
-
"type": "string"
|
|
2253
|
-
},
|
|
2254
|
-
"generatedAt": {
|
|
2255
|
-
"type": "string"
|
|
2256
|
-
},
|
|
2257
|
-
"adapter": {
|
|
2258
|
-
"type": "string"
|
|
2259
|
-
},
|
|
2260
|
-
"model": {
|
|
2261
|
-
"type": "string"
|
|
2262
|
-
}
|
|
2263
|
-
}
|
|
2264
|
-
}
|
|
2265
|
-
}
|
|
2266
|
-
},
|
|
2267
|
-
{
|
|
2268
|
-
"type": "object",
|
|
2269
|
-
"required": [
|
|
2270
|
-
"criteriaProposals"
|
|
2271
|
-
],
|
|
2272
|
-
"properties": {
|
|
2273
|
-
"criteriaProposals": {
|
|
2274
|
-
"type": "array",
|
|
2275
|
-
"items": {
|
|
2276
|
-
"type": "object",
|
|
2277
|
-
"required": [
|
|
2278
|
-
"specId",
|
|
2279
|
-
"criteria",
|
|
2280
|
-
"rationale"
|
|
2281
|
-
],
|
|
2282
|
-
"properties": {
|
|
2283
|
-
"specId": {
|
|
2284
|
-
"type": "string"
|
|
2285
|
-
},
|
|
2286
|
-
"criteria": {
|
|
2287
|
-
"type": "array",
|
|
2288
|
-
"items": {
|
|
2289
|
-
"type": "string"
|
|
2290
|
-
}
|
|
2291
|
-
},
|
|
2292
|
-
"rationale": {
|
|
2293
|
-
"type": "string"
|
|
2294
|
-
}
|
|
2295
|
-
}
|
|
2296
|
-
}
|
|
2297
|
-
}
|
|
2298
|
-
}
|
|
2299
|
-
}
|
|
2300
|
-
]
|
|
2301
|
-
}
|
|
2302
|
-
```
|
|
2303
|
-
|
|
2304
|
-
</details>
|
|
2305
|
-
|
|
2306
689
|
**Exit 1:** Unexpected error.
|
|
2307
690
|
|
|
2308
691
|
- **stderr:** format=`text`
|
|
@@ -2315,229 +698,6 @@ speckeeper propose-acceptance-criteria --adapter gemini --dry-run
|
|
|
2315
698
|
|
|
2316
699
|
- **stdout:** format=`{options.report-format}`
|
|
2317
700
|
|
|
2318
|
-
|
|
2319
|
-
<details>
|
|
2320
|
-
<summary>JSON Schema</summary>
|
|
2321
|
-
|
|
2322
|
-
```json
|
|
2323
|
-
{
|
|
2324
|
-
"type": "object",
|
|
2325
|
-
"description": "Proposed acceptance criteria for design specs.",
|
|
2326
|
-
"allOf": [
|
|
2327
|
-
{
|
|
2328
|
-
"type": "object",
|
|
2329
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
2330
|
-
"required": [
|
|
2331
|
-
"summary",
|
|
2332
|
-
"riskLevel",
|
|
2333
|
-
"findings"
|
|
2334
|
-
],
|
|
2335
|
-
"properties": {
|
|
2336
|
-
"summary": {
|
|
2337
|
-
"type": "string"
|
|
2338
|
-
},
|
|
2339
|
-
"riskLevel": {
|
|
2340
|
-
"type": "string",
|
|
2341
|
-
"enum": [
|
|
2342
|
-
"low",
|
|
2343
|
-
"medium",
|
|
2344
|
-
"high",
|
|
2345
|
-
"critical"
|
|
2346
|
-
]
|
|
2347
|
-
},
|
|
2348
|
-
"findings": {
|
|
2349
|
-
"type": "array",
|
|
2350
|
-
"items": {
|
|
2351
|
-
"type": "object",
|
|
2352
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
2353
|
-
"required": [
|
|
2354
|
-
"severity",
|
|
2355
|
-
"category",
|
|
2356
|
-
"message"
|
|
2357
|
-
],
|
|
2358
|
-
"properties": {
|
|
2359
|
-
"id": {
|
|
2360
|
-
"type": "string",
|
|
2361
|
-
"description": "Unique finding identifier."
|
|
2362
|
-
},
|
|
2363
|
-
"severity": {
|
|
2364
|
-
"type": "string",
|
|
2365
|
-
"enum": [
|
|
2366
|
-
"info",
|
|
2367
|
-
"warning",
|
|
2368
|
-
"error",
|
|
2369
|
-
"critical"
|
|
2370
|
-
]
|
|
2371
|
-
},
|
|
2372
|
-
"category": {
|
|
2373
|
-
"type": "string",
|
|
2374
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
2375
|
-
},
|
|
2376
|
-
"target": {
|
|
2377
|
-
"type": "string",
|
|
2378
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
2379
|
-
},
|
|
2380
|
-
"location": {
|
|
2381
|
-
"type": "string",
|
|
2382
|
-
"description": "Location within the target."
|
|
2383
|
-
},
|
|
2384
|
-
"message": {
|
|
2385
|
-
"type": "string"
|
|
2386
|
-
},
|
|
2387
|
-
"recommendation": {
|
|
2388
|
-
"type": "string"
|
|
2389
|
-
},
|
|
2390
|
-
"confidence": {
|
|
2391
|
-
"type": "number",
|
|
2392
|
-
"minimum": 0,
|
|
2393
|
-
"maximum": 1,
|
|
2394
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
2395
|
-
},
|
|
2396
|
-
"evidence": {
|
|
2397
|
-
"type": "array",
|
|
2398
|
-
"items": {
|
|
2399
|
-
"type": "object",
|
|
2400
|
-
"description": "Evidence supporting an agent finding.",
|
|
2401
|
-
"required": [
|
|
2402
|
-
"kind"
|
|
2403
|
-
],
|
|
2404
|
-
"properties": {
|
|
2405
|
-
"kind": {
|
|
2406
|
-
"type": "string",
|
|
2407
|
-
"enum": [
|
|
2408
|
-
"file",
|
|
2409
|
-
"command",
|
|
2410
|
-
"schema",
|
|
2411
|
-
"diff",
|
|
2412
|
-
"stdout",
|
|
2413
|
-
"stderr",
|
|
2414
|
-
"text"
|
|
2415
|
-
]
|
|
2416
|
-
},
|
|
2417
|
-
"target": {
|
|
2418
|
-
"type": "string",
|
|
2419
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
2420
|
-
},
|
|
2421
|
-
"location": {
|
|
2422
|
-
"type": "string",
|
|
2423
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
2424
|
-
},
|
|
2425
|
-
"excerpt": {
|
|
2426
|
-
"type": "string",
|
|
2427
|
-
"description": "Relevant excerpt from the target."
|
|
2428
|
-
}
|
|
2429
|
-
}
|
|
2430
|
-
}
|
|
2431
|
-
},
|
|
2432
|
-
"details": {
|
|
2433
|
-
"type": "object",
|
|
2434
|
-
"additionalProperties": true
|
|
2435
|
-
}
|
|
2436
|
-
}
|
|
2437
|
-
}
|
|
2438
|
-
},
|
|
2439
|
-
"recommendedActions": {
|
|
2440
|
-
"type": "array",
|
|
2441
|
-
"items": {
|
|
2442
|
-
"type": "object",
|
|
2443
|
-
"description": "A recommended action from an agent audit.",
|
|
2444
|
-
"required": [
|
|
2445
|
-
"kind",
|
|
2446
|
-
"title"
|
|
2447
|
-
],
|
|
2448
|
-
"properties": {
|
|
2449
|
-
"kind": {
|
|
2450
|
-
"type": "string",
|
|
2451
|
-
"enum": [
|
|
2452
|
-
"run_command",
|
|
2453
|
-
"edit_file",
|
|
2454
|
-
"review",
|
|
2455
|
-
"confirm",
|
|
2456
|
-
"block",
|
|
2457
|
-
"ignore"
|
|
2458
|
-
]
|
|
2459
|
-
},
|
|
2460
|
-
"title": {
|
|
2461
|
-
"type": "string"
|
|
2462
|
-
},
|
|
2463
|
-
"command": {
|
|
2464
|
-
"type": "string",
|
|
2465
|
-
"description": "CLI command to run (for run_command kind)."
|
|
2466
|
-
},
|
|
2467
|
-
"target": {
|
|
2468
|
-
"type": "string",
|
|
2469
|
-
"description": "Target file or resource."
|
|
2470
|
-
},
|
|
2471
|
-
"rationale": {
|
|
2472
|
-
"type": "string"
|
|
2473
|
-
}
|
|
2474
|
-
}
|
|
2475
|
-
}
|
|
2476
|
-
},
|
|
2477
|
-
"metadata": {
|
|
2478
|
-
"type": "object",
|
|
2479
|
-
"properties": {
|
|
2480
|
-
"tool": {
|
|
2481
|
-
"type": "string"
|
|
2482
|
-
},
|
|
2483
|
-
"command": {
|
|
2484
|
-
"type": "string"
|
|
2485
|
-
},
|
|
2486
|
-
"version": {
|
|
2487
|
-
"type": "string"
|
|
2488
|
-
},
|
|
2489
|
-
"generatedAt": {
|
|
2490
|
-
"type": "string"
|
|
2491
|
-
},
|
|
2492
|
-
"adapter": {
|
|
2493
|
-
"type": "string"
|
|
2494
|
-
},
|
|
2495
|
-
"model": {
|
|
2496
|
-
"type": "string"
|
|
2497
|
-
}
|
|
2498
|
-
}
|
|
2499
|
-
}
|
|
2500
|
-
}
|
|
2501
|
-
},
|
|
2502
|
-
{
|
|
2503
|
-
"type": "object",
|
|
2504
|
-
"required": [
|
|
2505
|
-
"criteriaProposals"
|
|
2506
|
-
],
|
|
2507
|
-
"properties": {
|
|
2508
|
-
"criteriaProposals": {
|
|
2509
|
-
"type": "array",
|
|
2510
|
-
"items": {
|
|
2511
|
-
"type": "object",
|
|
2512
|
-
"required": [
|
|
2513
|
-
"specId",
|
|
2514
|
-
"criteria",
|
|
2515
|
-
"rationale"
|
|
2516
|
-
],
|
|
2517
|
-
"properties": {
|
|
2518
|
-
"specId": {
|
|
2519
|
-
"type": "string"
|
|
2520
|
-
},
|
|
2521
|
-
"criteria": {
|
|
2522
|
-
"type": "array",
|
|
2523
|
-
"items": {
|
|
2524
|
-
"type": "string"
|
|
2525
|
-
}
|
|
2526
|
-
},
|
|
2527
|
-
"rationale": {
|
|
2528
|
-
"type": "string"
|
|
2529
|
-
}
|
|
2530
|
-
}
|
|
2531
|
-
}
|
|
2532
|
-
}
|
|
2533
|
-
}
|
|
2534
|
-
}
|
|
2535
|
-
]
|
|
2536
|
-
}
|
|
2537
|
-
```
|
|
2538
|
-
|
|
2539
|
-
</details>
|
|
2540
|
-
|
|
2541
701
|
**Exit 11:** Runtime dependency missing (agent-contracts-runtime).
|
|
2542
702
|
|
|
2543
703
|
- **stderr:** format=`text`
|
|
@@ -2551,591 +711,9 @@ speckeeper propose-acceptance-criteria --adapter gemini --dry-run
|
|
|
2551
711
|
```yaml
|
|
2552
712
|
x-agent:
|
|
2553
713
|
recommended_before_use:
|
|
2554
|
-
- Run with --
|
|
714
|
+
- Run with --show-prompt first to preview the prompt
|
|
2555
715
|
retryableExitCodes:
|
|
2556
716
|
- 12
|
|
2557
717
|
```
|
|
2558
718
|
|
|
2559
719
|
---
|
|
2560
|
-
|
|
2561
|
-
---
|
|
2562
|
-
|
|
2563
|
-
## Schemas
|
|
2564
|
-
|
|
2565
|
-
### AgentEvidence
|
|
2566
|
-
|
|
2567
|
-
Evidence supporting an agent finding.
|
|
2568
|
-
|
|
2569
|
-
Type: `object`
|
|
2570
|
-
|
|
2571
|
-
| Property | Type | Required | Description |
|
|
2572
|
-
|---|---|---|---|
|
|
2573
|
-
| `kind` | `enum(7 values)` | Yes | |
|
|
2574
|
-
| `target` | `string` | No | Target identifier (file path, command ID, schema name). |
|
|
2575
|
-
| `location` | `string` | No | Location within the target (line number, JSON pointer). |
|
|
2576
|
-
| `excerpt` | `string` | No | Relevant excerpt from the target. |
|
|
2577
|
-
|
|
2578
|
-
<details>
|
|
2579
|
-
<summary>JSON Schema</summary>
|
|
2580
|
-
|
|
2581
|
-
```json
|
|
2582
|
-
{
|
|
2583
|
-
"type": "object",
|
|
2584
|
-
"description": "Evidence supporting an agent finding.",
|
|
2585
|
-
"required": [
|
|
2586
|
-
"kind"
|
|
2587
|
-
],
|
|
2588
|
-
"properties": {
|
|
2589
|
-
"kind": {
|
|
2590
|
-
"type": "string",
|
|
2591
|
-
"enum": [
|
|
2592
|
-
"file",
|
|
2593
|
-
"command",
|
|
2594
|
-
"schema",
|
|
2595
|
-
"diff",
|
|
2596
|
-
"stdout",
|
|
2597
|
-
"stderr",
|
|
2598
|
-
"text"
|
|
2599
|
-
]
|
|
2600
|
-
},
|
|
2601
|
-
"target": {
|
|
2602
|
-
"type": "string",
|
|
2603
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
2604
|
-
},
|
|
2605
|
-
"location": {
|
|
2606
|
-
"type": "string",
|
|
2607
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
2608
|
-
},
|
|
2609
|
-
"excerpt": {
|
|
2610
|
-
"type": "string",
|
|
2611
|
-
"description": "Relevant excerpt from the target."
|
|
2612
|
-
}
|
|
2613
|
-
}
|
|
2614
|
-
}
|
|
2615
|
-
```
|
|
2616
|
-
|
|
2617
|
-
</details>
|
|
2618
|
-
|
|
2619
|
-
### AgentFinding
|
|
2620
|
-
|
|
2621
|
-
A single finding from an agent audit or analysis.
|
|
2622
|
-
|
|
2623
|
-
Type: `object`
|
|
2624
|
-
|
|
2625
|
-
| Property | Type | Required | Description |
|
|
2626
|
-
|---|---|---|---|
|
|
2627
|
-
| `id` | `string` | No | Unique finding identifier. |
|
|
2628
|
-
| `severity` | `"info" \| "warning" \| "error" \| "critical"` | Yes | |
|
|
2629
|
-
| `category` | `string` | Yes | Finding category (e.g. verifiability, ambiguity, granularity). |
|
|
2630
|
-
| `target` | `string` | No | Target of the finding (spec ID, model type). |
|
|
2631
|
-
| `location` | `string` | No | Location within the target. |
|
|
2632
|
-
| `message` | `string` | Yes | |
|
|
2633
|
-
| `recommendation` | `string` | No | |
|
|
2634
|
-
| `confidence` | `number (min: 0, max: 1)` | No | Confidence score (0-1) for LLM-generated findings. |
|
|
2635
|
-
| `evidence` | `object[]` | No | |
|
|
2636
|
-
| `evidence[].kind` | `enum(7 values)` | Yes | |
|
|
2637
|
-
| `evidence[].target` | `string` | No | Target identifier (file path, command ID, schema name). |
|
|
2638
|
-
| `evidence[].location` | `string` | No | Location within the target (line number, JSON pointer). |
|
|
2639
|
-
| `evidence[].excerpt` | `string` | No | Relevant excerpt from the target. |
|
|
2640
|
-
| `details` | `Record<string, any>` | No | |
|
|
2641
|
-
|
|
2642
|
-
<details>
|
|
2643
|
-
<summary>JSON Schema</summary>
|
|
2644
|
-
|
|
2645
|
-
```json
|
|
2646
|
-
{
|
|
2647
|
-
"type": "object",
|
|
2648
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
2649
|
-
"required": [
|
|
2650
|
-
"severity",
|
|
2651
|
-
"category",
|
|
2652
|
-
"message"
|
|
2653
|
-
],
|
|
2654
|
-
"properties": {
|
|
2655
|
-
"id": {
|
|
2656
|
-
"type": "string",
|
|
2657
|
-
"description": "Unique finding identifier."
|
|
2658
|
-
},
|
|
2659
|
-
"severity": {
|
|
2660
|
-
"type": "string",
|
|
2661
|
-
"enum": [
|
|
2662
|
-
"info",
|
|
2663
|
-
"warning",
|
|
2664
|
-
"error",
|
|
2665
|
-
"critical"
|
|
2666
|
-
]
|
|
2667
|
-
},
|
|
2668
|
-
"category": {
|
|
2669
|
-
"type": "string",
|
|
2670
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
2671
|
-
},
|
|
2672
|
-
"target": {
|
|
2673
|
-
"type": "string",
|
|
2674
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
2675
|
-
},
|
|
2676
|
-
"location": {
|
|
2677
|
-
"type": "string",
|
|
2678
|
-
"description": "Location within the target."
|
|
2679
|
-
},
|
|
2680
|
-
"message": {
|
|
2681
|
-
"type": "string"
|
|
2682
|
-
},
|
|
2683
|
-
"recommendation": {
|
|
2684
|
-
"type": "string"
|
|
2685
|
-
},
|
|
2686
|
-
"confidence": {
|
|
2687
|
-
"type": "number",
|
|
2688
|
-
"minimum": 0,
|
|
2689
|
-
"maximum": 1,
|
|
2690
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
2691
|
-
},
|
|
2692
|
-
"evidence": {
|
|
2693
|
-
"type": "array",
|
|
2694
|
-
"items": {
|
|
2695
|
-
"type": "object",
|
|
2696
|
-
"description": "Evidence supporting an agent finding.",
|
|
2697
|
-
"required": [
|
|
2698
|
-
"kind"
|
|
2699
|
-
],
|
|
2700
|
-
"properties": {
|
|
2701
|
-
"kind": {
|
|
2702
|
-
"type": "string",
|
|
2703
|
-
"enum": [
|
|
2704
|
-
"file",
|
|
2705
|
-
"command",
|
|
2706
|
-
"schema",
|
|
2707
|
-
"diff",
|
|
2708
|
-
"stdout",
|
|
2709
|
-
"stderr",
|
|
2710
|
-
"text"
|
|
2711
|
-
]
|
|
2712
|
-
},
|
|
2713
|
-
"target": {
|
|
2714
|
-
"type": "string",
|
|
2715
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
2716
|
-
},
|
|
2717
|
-
"location": {
|
|
2718
|
-
"type": "string",
|
|
2719
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
2720
|
-
},
|
|
2721
|
-
"excerpt": {
|
|
2722
|
-
"type": "string",
|
|
2723
|
-
"description": "Relevant excerpt from the target."
|
|
2724
|
-
}
|
|
2725
|
-
}
|
|
2726
|
-
}
|
|
2727
|
-
},
|
|
2728
|
-
"details": {
|
|
2729
|
-
"type": "object",
|
|
2730
|
-
"additionalProperties": true
|
|
2731
|
-
}
|
|
2732
|
-
}
|
|
2733
|
-
}
|
|
2734
|
-
```
|
|
2735
|
-
|
|
2736
|
-
</details>
|
|
2737
|
-
|
|
2738
|
-
### AgentRecommendedAction
|
|
2739
|
-
|
|
2740
|
-
A recommended action from an agent audit.
|
|
2741
|
-
|
|
2742
|
-
Type: `object`
|
|
2743
|
-
|
|
2744
|
-
| Property | Type | Required | Description |
|
|
2745
|
-
|---|---|---|---|
|
|
2746
|
-
| `kind` | `enum(6 values)` | Yes | |
|
|
2747
|
-
| `title` | `string` | Yes | |
|
|
2748
|
-
| `command` | `string` | No | CLI command to run (for run_command kind). |
|
|
2749
|
-
| `target` | `string` | No | Target file or resource. |
|
|
2750
|
-
| `rationale` | `string` | No | |
|
|
2751
|
-
|
|
2752
|
-
<details>
|
|
2753
|
-
<summary>JSON Schema</summary>
|
|
2754
|
-
|
|
2755
|
-
```json
|
|
2756
|
-
{
|
|
2757
|
-
"type": "object",
|
|
2758
|
-
"description": "A recommended action from an agent audit.",
|
|
2759
|
-
"required": [
|
|
2760
|
-
"kind",
|
|
2761
|
-
"title"
|
|
2762
|
-
],
|
|
2763
|
-
"properties": {
|
|
2764
|
-
"kind": {
|
|
2765
|
-
"type": "string",
|
|
2766
|
-
"enum": [
|
|
2767
|
-
"run_command",
|
|
2768
|
-
"edit_file",
|
|
2769
|
-
"review",
|
|
2770
|
-
"confirm",
|
|
2771
|
-
"block",
|
|
2772
|
-
"ignore"
|
|
2773
|
-
]
|
|
2774
|
-
},
|
|
2775
|
-
"title": {
|
|
2776
|
-
"type": "string"
|
|
2777
|
-
},
|
|
2778
|
-
"command": {
|
|
2779
|
-
"type": "string",
|
|
2780
|
-
"description": "CLI command to run (for run_command kind)."
|
|
2781
|
-
},
|
|
2782
|
-
"target": {
|
|
2783
|
-
"type": "string",
|
|
2784
|
-
"description": "Target file or resource."
|
|
2785
|
-
},
|
|
2786
|
-
"rationale": {
|
|
2787
|
-
"type": "string"
|
|
2788
|
-
}
|
|
2789
|
-
}
|
|
2790
|
-
}
|
|
2791
|
-
```
|
|
2792
|
-
|
|
2793
|
-
</details>
|
|
2794
|
-
|
|
2795
|
-
### RequirementAuditResult
|
|
2796
|
-
|
|
2797
|
-
Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.
|
|
2798
|
-
|
|
2799
|
-
Type: `object`
|
|
2800
|
-
|
|
2801
|
-
| Property | Type | Required | Description |
|
|
2802
|
-
|---|---|---|---|
|
|
2803
|
-
| `summary` | `string` | Yes | |
|
|
2804
|
-
| `riskLevel` | `"low" \| "medium" \| "high" \| "critical"` | Yes | |
|
|
2805
|
-
| `findings` | `object[]` | Yes | |
|
|
2806
|
-
| `findings[].id` | `string` | No | Unique finding identifier. |
|
|
2807
|
-
| `findings[].severity` | `"info" \| "warning" \| "error" \| "critical"` | Yes | |
|
|
2808
|
-
| `findings[].category` | `string` | Yes | Finding category (e.g. verifiability, ambiguity, granularity). |
|
|
2809
|
-
| `findings[].target` | `string` | No | Target of the finding (spec ID, model type). |
|
|
2810
|
-
| `findings[].location` | `string` | No | Location within the target. |
|
|
2811
|
-
| `findings[].message` | `string` | Yes | |
|
|
2812
|
-
| `findings[].recommendation` | `string` | No | |
|
|
2813
|
-
| `findings[].confidence` | `number (min: 0, max: 1)` | No | Confidence score (0-1) for LLM-generated findings. |
|
|
2814
|
-
| `findings[].evidence` | `object[]` | No | |
|
|
2815
|
-
| `findings[].evidence[].kind` | `enum(7 values)` | Yes | |
|
|
2816
|
-
| `findings[].evidence[].target` | `string` | No | Target identifier (file path, command ID, schema name). |
|
|
2817
|
-
| `findings[].evidence[].location` | `string` | No | Location within the target (line number, JSON pointer). |
|
|
2818
|
-
| `findings[].evidence[].excerpt` | `string` | No | Relevant excerpt from the target. |
|
|
2819
|
-
| `findings[].details` | `Record<string, any>` | No | |
|
|
2820
|
-
| `recommendedActions` | `object[]` | No | |
|
|
2821
|
-
| `recommendedActions[].kind` | `enum(6 values)` | Yes | |
|
|
2822
|
-
| `recommendedActions[].title` | `string` | Yes | |
|
|
2823
|
-
| `recommendedActions[].command` | `string` | No | CLI command to run (for run_command kind). |
|
|
2824
|
-
| `recommendedActions[].target` | `string` | No | Target file or resource. |
|
|
2825
|
-
| `recommendedActions[].rationale` | `string` | No | |
|
|
2826
|
-
| `metadata` | `object` | No | |
|
|
2827
|
-
| `metadata.tool` | `string` | No | |
|
|
2828
|
-
| `metadata.command` | `string` | No | |
|
|
2829
|
-
| `metadata.version` | `string` | No | |
|
|
2830
|
-
| `metadata.generatedAt` | `string` | No | |
|
|
2831
|
-
| `metadata.adapter` | `string` | No | |
|
|
2832
|
-
| `metadata.model` | `string` | No | |
|
|
2833
|
-
|
|
2834
|
-
<details>
|
|
2835
|
-
<summary>JSON Schema</summary>
|
|
2836
|
-
|
|
2837
|
-
```json
|
|
2838
|
-
{
|
|
2839
|
-
"type": "object",
|
|
2840
|
-
"description": "Top-level result from an agent audit. Canonical schema for agent interoperability across toolchains.",
|
|
2841
|
-
"required": [
|
|
2842
|
-
"summary",
|
|
2843
|
-
"riskLevel",
|
|
2844
|
-
"findings"
|
|
2845
|
-
],
|
|
2846
|
-
"properties": {
|
|
2847
|
-
"summary": {
|
|
2848
|
-
"type": "string"
|
|
2849
|
-
},
|
|
2850
|
-
"riskLevel": {
|
|
2851
|
-
"type": "string",
|
|
2852
|
-
"enum": [
|
|
2853
|
-
"low",
|
|
2854
|
-
"medium",
|
|
2855
|
-
"high",
|
|
2856
|
-
"critical"
|
|
2857
|
-
]
|
|
2858
|
-
},
|
|
2859
|
-
"findings": {
|
|
2860
|
-
"type": "array",
|
|
2861
|
-
"items": {
|
|
2862
|
-
"type": "object",
|
|
2863
|
-
"description": "A single finding from an agent audit or analysis.",
|
|
2864
|
-
"required": [
|
|
2865
|
-
"severity",
|
|
2866
|
-
"category",
|
|
2867
|
-
"message"
|
|
2868
|
-
],
|
|
2869
|
-
"properties": {
|
|
2870
|
-
"id": {
|
|
2871
|
-
"type": "string",
|
|
2872
|
-
"description": "Unique finding identifier."
|
|
2873
|
-
},
|
|
2874
|
-
"severity": {
|
|
2875
|
-
"type": "string",
|
|
2876
|
-
"enum": [
|
|
2877
|
-
"info",
|
|
2878
|
-
"warning",
|
|
2879
|
-
"error",
|
|
2880
|
-
"critical"
|
|
2881
|
-
]
|
|
2882
|
-
},
|
|
2883
|
-
"category": {
|
|
2884
|
-
"type": "string",
|
|
2885
|
-
"description": "Finding category (e.g. verifiability, ambiguity, granularity)."
|
|
2886
|
-
},
|
|
2887
|
-
"target": {
|
|
2888
|
-
"type": "string",
|
|
2889
|
-
"description": "Target of the finding (spec ID, model type)."
|
|
2890
|
-
},
|
|
2891
|
-
"location": {
|
|
2892
|
-
"type": "string",
|
|
2893
|
-
"description": "Location within the target."
|
|
2894
|
-
},
|
|
2895
|
-
"message": {
|
|
2896
|
-
"type": "string"
|
|
2897
|
-
},
|
|
2898
|
-
"recommendation": {
|
|
2899
|
-
"type": "string"
|
|
2900
|
-
},
|
|
2901
|
-
"confidence": {
|
|
2902
|
-
"type": "number",
|
|
2903
|
-
"minimum": 0,
|
|
2904
|
-
"maximum": 1,
|
|
2905
|
-
"description": "Confidence score (0-1) for LLM-generated findings."
|
|
2906
|
-
},
|
|
2907
|
-
"evidence": {
|
|
2908
|
-
"type": "array",
|
|
2909
|
-
"items": {
|
|
2910
|
-
"type": "object",
|
|
2911
|
-
"description": "Evidence supporting an agent finding.",
|
|
2912
|
-
"required": [
|
|
2913
|
-
"kind"
|
|
2914
|
-
],
|
|
2915
|
-
"properties": {
|
|
2916
|
-
"kind": {
|
|
2917
|
-
"type": "string",
|
|
2918
|
-
"enum": [
|
|
2919
|
-
"file",
|
|
2920
|
-
"command",
|
|
2921
|
-
"schema",
|
|
2922
|
-
"diff",
|
|
2923
|
-
"stdout",
|
|
2924
|
-
"stderr",
|
|
2925
|
-
"text"
|
|
2926
|
-
]
|
|
2927
|
-
},
|
|
2928
|
-
"target": {
|
|
2929
|
-
"type": "string",
|
|
2930
|
-
"description": "Target identifier (file path, command ID, schema name)."
|
|
2931
|
-
},
|
|
2932
|
-
"location": {
|
|
2933
|
-
"type": "string",
|
|
2934
|
-
"description": "Location within the target (line number, JSON pointer)."
|
|
2935
|
-
},
|
|
2936
|
-
"excerpt": {
|
|
2937
|
-
"type": "string",
|
|
2938
|
-
"description": "Relevant excerpt from the target."
|
|
2939
|
-
}
|
|
2940
|
-
}
|
|
2941
|
-
}
|
|
2942
|
-
},
|
|
2943
|
-
"details": {
|
|
2944
|
-
"type": "object",
|
|
2945
|
-
"additionalProperties": true
|
|
2946
|
-
}
|
|
2947
|
-
}
|
|
2948
|
-
}
|
|
2949
|
-
},
|
|
2950
|
-
"recommendedActions": {
|
|
2951
|
-
"type": "array",
|
|
2952
|
-
"items": {
|
|
2953
|
-
"type": "object",
|
|
2954
|
-
"description": "A recommended action from an agent audit.",
|
|
2955
|
-
"required": [
|
|
2956
|
-
"kind",
|
|
2957
|
-
"title"
|
|
2958
|
-
],
|
|
2959
|
-
"properties": {
|
|
2960
|
-
"kind": {
|
|
2961
|
-
"type": "string",
|
|
2962
|
-
"enum": [
|
|
2963
|
-
"run_command",
|
|
2964
|
-
"edit_file",
|
|
2965
|
-
"review",
|
|
2966
|
-
"confirm",
|
|
2967
|
-
"block",
|
|
2968
|
-
"ignore"
|
|
2969
|
-
]
|
|
2970
|
-
},
|
|
2971
|
-
"title": {
|
|
2972
|
-
"type": "string"
|
|
2973
|
-
},
|
|
2974
|
-
"command": {
|
|
2975
|
-
"type": "string",
|
|
2976
|
-
"description": "CLI command to run (for run_command kind)."
|
|
2977
|
-
},
|
|
2978
|
-
"target": {
|
|
2979
|
-
"type": "string",
|
|
2980
|
-
"description": "Target file or resource."
|
|
2981
|
-
},
|
|
2982
|
-
"rationale": {
|
|
2983
|
-
"type": "string"
|
|
2984
|
-
}
|
|
2985
|
-
}
|
|
2986
|
-
}
|
|
2987
|
-
},
|
|
2988
|
-
"metadata": {
|
|
2989
|
-
"type": "object",
|
|
2990
|
-
"properties": {
|
|
2991
|
-
"tool": {
|
|
2992
|
-
"type": "string"
|
|
2993
|
-
},
|
|
2994
|
-
"command": {
|
|
2995
|
-
"type": "string"
|
|
2996
|
-
},
|
|
2997
|
-
"version": {
|
|
2998
|
-
"type": "string"
|
|
2999
|
-
},
|
|
3000
|
-
"generatedAt": {
|
|
3001
|
-
"type": "string"
|
|
3002
|
-
},
|
|
3003
|
-
"adapter": {
|
|
3004
|
-
"type": "string"
|
|
3005
|
-
},
|
|
3006
|
-
"model": {
|
|
3007
|
-
"type": "string"
|
|
3008
|
-
}
|
|
3009
|
-
}
|
|
3010
|
-
}
|
|
3011
|
-
}
|
|
3012
|
-
}
|
|
3013
|
-
```
|
|
3014
|
-
|
|
3015
|
-
</details>
|
|
3016
|
-
|
|
3017
|
-
### TraceLinkResult
|
|
3018
|
-
|
|
3019
|
-
Result of trace link proposal with candidate links.
|
|
3020
|
-
|
|
3021
|
-
Type: `object`
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
### ImpactExplainResult
|
|
3025
|
-
|
|
3026
|
-
Human-readable explanation of impact analysis output.
|
|
3027
|
-
|
|
3028
|
-
Type: `object`
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
### AcceptanceCriteriaResult
|
|
3032
|
-
|
|
3033
|
-
Proposed acceptance criteria for design specs.
|
|
3034
|
-
|
|
3035
|
-
Type: `object`
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
### ImpactAnalysisOutput
|
|
3039
|
-
|
|
3040
|
-
JSON output from speckeeper impact --format json.
|
|
3041
|
-
|
|
3042
|
-
Type: `object`
|
|
3043
|
-
|
|
3044
|
-
| Property | Type | Required | Description |
|
|
3045
|
-
|---|---|---|---|
|
|
3046
|
-
| `target` | `string` | Yes | |
|
|
3047
|
-
| `targetType` | `string` | Yes | |
|
|
3048
|
-
| `direction` | `"upstream" \| "downstream" \| "both"` | No | |
|
|
3049
|
-
| `depth` | `integer` | No | |
|
|
3050
|
-
| `impactedNodes` | `object[]` | Yes | |
|
|
3051
|
-
| `impactedNodes[].id` | `string` | Yes | |
|
|
3052
|
-
| `impactedNodes[].type` | `string` | Yes | |
|
|
3053
|
-
| `impactedNodes[].depth` | `integer` | Yes | |
|
|
3054
|
-
| `impactedNodes[].impactType` | `"direct" \| "indirect"` | Yes | |
|
|
3055
|
-
| `impactedNodes[].relations` | `object[]` | No | |
|
|
3056
|
-
| `impactedNodes[].relations[].type` | `string` | No | |
|
|
3057
|
-
| `impactedNodes[].relations[].from` | `string` | No | |
|
|
3058
|
-
| `impactedNodes[].relations[].to` | `string` | No | |
|
|
3059
|
-
|
|
3060
|
-
<details>
|
|
3061
|
-
<summary>JSON Schema</summary>
|
|
3062
|
-
|
|
3063
|
-
```json
|
|
3064
|
-
{
|
|
3065
|
-
"type": "object",
|
|
3066
|
-
"description": "JSON output from speckeeper impact --format json.",
|
|
3067
|
-
"required": [
|
|
3068
|
-
"target",
|
|
3069
|
-
"targetType",
|
|
3070
|
-
"impactedNodes"
|
|
3071
|
-
],
|
|
3072
|
-
"properties": {
|
|
3073
|
-
"target": {
|
|
3074
|
-
"type": "string"
|
|
3075
|
-
},
|
|
3076
|
-
"targetType": {
|
|
3077
|
-
"type": "string"
|
|
3078
|
-
},
|
|
3079
|
-
"direction": {
|
|
3080
|
-
"type": "string",
|
|
3081
|
-
"enum": [
|
|
3082
|
-
"upstream",
|
|
3083
|
-
"downstream",
|
|
3084
|
-
"both"
|
|
3085
|
-
]
|
|
3086
|
-
},
|
|
3087
|
-
"depth": {
|
|
3088
|
-
"type": "integer"
|
|
3089
|
-
},
|
|
3090
|
-
"impactedNodes": {
|
|
3091
|
-
"type": "array",
|
|
3092
|
-
"items": {
|
|
3093
|
-
"type": "object",
|
|
3094
|
-
"required": [
|
|
3095
|
-
"id",
|
|
3096
|
-
"type",
|
|
3097
|
-
"depth",
|
|
3098
|
-
"impactType"
|
|
3099
|
-
],
|
|
3100
|
-
"properties": {
|
|
3101
|
-
"id": {
|
|
3102
|
-
"type": "string"
|
|
3103
|
-
},
|
|
3104
|
-
"type": {
|
|
3105
|
-
"type": "string"
|
|
3106
|
-
},
|
|
3107
|
-
"depth": {
|
|
3108
|
-
"type": "integer"
|
|
3109
|
-
},
|
|
3110
|
-
"impactType": {
|
|
3111
|
-
"type": "string",
|
|
3112
|
-
"enum": [
|
|
3113
|
-
"direct",
|
|
3114
|
-
"indirect"
|
|
3115
|
-
]
|
|
3116
|
-
},
|
|
3117
|
-
"relations": {
|
|
3118
|
-
"type": "array",
|
|
3119
|
-
"items": {
|
|
3120
|
-
"type": "object",
|
|
3121
|
-
"properties": {
|
|
3122
|
-
"type": {
|
|
3123
|
-
"type": "string"
|
|
3124
|
-
},
|
|
3125
|
-
"from": {
|
|
3126
|
-
"type": "string"
|
|
3127
|
-
},
|
|
3128
|
-
"to": {
|
|
3129
|
-
"type": "string"
|
|
3130
|
-
}
|
|
3131
|
-
}
|
|
3132
|
-
}
|
|
3133
|
-
}
|
|
3134
|
-
}
|
|
3135
|
-
}
|
|
3136
|
-
}
|
|
3137
|
-
}
|
|
3138
|
-
}
|
|
3139
|
-
```
|
|
3140
|
-
|
|
3141
|
-
</details>
|