Repository navigation
Expand file tree
/
Copy pathrun_tests.py
More file actions
6627 lines (6587 loc) · 201 KB
/
Copy pathrun_tests.py
File metadata and controls
6627 lines (6587 loc) · 201 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
"""Run reviewed maintainer test groups and conservative change-based selections.
Exact membership detects additions and renames. Source routes name measured
producer and consumer modules directly; requirement bindings retain their exact
pytest selectors. Unknown paths and shared inputs require the full suite.
"""
from __future__ import annotations
import argparse
import os
import subprocess
import sys
from dataclasses import dataclass
from pathlib import Path, PurePosixPath
ROOT = Path(__file__).resolve().parent.parent
def _tests(names: str) -> tuple[str, ...]:
"""Expand explicit test module names; never infer membership from a glob."""
return tuple(f"tests/test_{name}.py" for name in names.split())
# Every test file must appear here or in MANUAL_TESTS. Overlap is intentional:
# a consumer can guard more than one producer. Keep the frozen replay separate
# from the broader deterministic integration tests.
GROUPS = {
"quick": _tests("""
agent_definitions
check_specs
ci_test_workflow
contract_integrity
new_schemas
run_tests
script_layout
runtime_cleanup
schema_integrity
taxonomy_coverage
"""),
"prose-formatting": _tests("""
apply_prose_fixes
apply_prose_fixes_coverage
compose_threat_model
compose_threat_model_cov
compose_threat_model_cov3
e2e_pipeline
inline_code_formatter
qa_checks_cov_band3
walkthrough_renderer
"""),
"report": _tests("""
actor_attribution
actor_presentation
component_labels
annotate_architecture
annotate_sequences
build_plane
build_supply_chain_view
figure1b_compose
figure1b_svg
compose_depth_scoped_crossrefs
compose_services
deployment_inventory
compose_threat_model
compose_threat_model_cov
compose_threat_model_cov2
compose_threat_model_cov3
e2e_pipeline
report_anatomy
export_html
export_pdf
export_sarif
export_threat_dragon
export_threat_model_skill
extract_report_section
figure1_dfd
figure1_detail
figure1_layout_harness
figure1_security
figure1_svg
figure2_svg
figure_deployment
figure_details
figure_theme
final_render_guards
fragment_authoring_fidelity
fragment_invariant_parity
fragment_registry
inline_code_formatter
mermaid_validator
no_bare_ids
p1_renderer_correctness
p2_structural_determinism
p3_behavior_tuning
p4_cross_reference_coverage
pentest_tasks
pregenerate_fragments
pregenerate_fragments_coverage
qa_checks
qa_checks_cov_band1
qa_checks_cov_band2
qa_checks_cov_band3
qa_checks_cov_band4
query_threat_model
reference_format
render_abuse_cases
render_changelog_audit
render_integrity
render_pentest_tasks
render_properties
render_requirements_banner
render_review_report
render_threat_model
run_invariants
sarif_validation
section_condition_wiring
slug
summarize_threat_model
threat_fixture
validate_fragment
walkthrough_renderer
"""),
"scanner": _tests("""
agent_config_checks
arch_coverage_bridge
arch_coverage_bridge_coverage
architecture_coverage_checks
authnz_report
authz_confirm
backfill_scanner_remediation
capability_signals
check_target_specificity
client_api_flows
config_iac_checks
config_iac_scanner
config_scanner_wireup
credential_lifecycle_checks
crypto_path_xxe_checks
database_privilege_separation
detect_open_registration
egress_clients
handler_resolver
iac_resource_checks
lib_manifest
manifest_readers
mass_assignment_scanner
recon_patterns
repo_profile
repo_scan
route_inventory
scan_excludes
secret_scan
source_auth_scanner
source_lex
supply_chain_config
scanner_review_regressions
supply_chain_facts
"""),
"prompts": _tests("""
agent_config_checks
agent_definitions
agent_doc_shell_snippets
ask_threat_model_skill
authnz_review_skill
check_permissions
check_permissions_coverage
context_prompt_budgets
context_routing
dispatch_prompt_cache_order
help_reference
lazy_phase_group_loading
phase_group_prompts
prompt_token_bounds
runtime_doc_cli_contract
skill_definitions
stride_quick_profile
"""),
"runtime": _tests("""
acquire_lock_heartbeat
active_tool_calls
agent_lifecycle
agent_logger
agent_logger_branches
agent_logger_checkpoint_abort
analyst_catalog
analyst_cli
assessment_console
analyst_controller
analyst_host
assessment_context
assessment_declarations
assessment_host
assessment_jobs
assessment_posture
assessment_review
assessment_scanner_findings
assessment_sources
assessment_stage2
assessment_state
multi_repo_analysis
multi_repo_builder
multi_repo_figures
multi_repo_exports
multi_repo_boundaries
multi_repo_controller
multi_repo_assessment
single_repo_controller
controller_fixture
controller_e2e
multi_repo_config
multi_repo_discovery
multi_repo_scope
serving_units
portable_model_readers
reconcile_multi_repo_architecture
review_multi_repo_connections
validate_assessment_architecture
analyst_isolation
analyst_questions
analyst_skill
analyst_state
build_analyst_context
build_analyst_snapshot
select_analyst_context
eval_analyst
appsec_reviewer_cli
render_analyst_report
resolve_analyst_catalog
agent_logger_cov
agent_logger_run_scope
aggregate_run_issues
appsec_status
appsec_status_live
artifact_stamp
assert_completeness
budget_watchdog
check_state
check_state_coverage
check_state_hung_aborted
ci_dispatch_workflows
completion_contract
completion_relay
context_window_report
cost_running_total
cutoff_cause
diagnostic_bundle
dispatch_manifest
dispatch_model_and_diagnostics
dispatch_prompt_cache_order
event_log
gate_preconditions
headless_usage
remote_repositories
hook_payload
hook_payload_contract
hooks_schema
lens_coverage
live_canary
live_run_holder
log_agent_end
log_event
log_shape_contract
measure_run
orchestration_controller
refusal_aware_stride
render_completion_summary
render_completion_summary_config
render_completion_summary_verdict
render_progress
render_run_diagnosis
report_plugin_issue
run_defect_fixes_2026_07_24
run_diagnostics_recovery_2026_07_20
run_headless_completion
run_interruptible
run_issues_pipeline
run_ownership
run_path_guard
run_statistics_appendix
run_summary
run_timing
runtime_cleanup
runtime_doc_cli_contract
runtime_helper_batch
schema_canonicalize
session_banner
skill_auto_retry
stage1_coverage_recovery_2026_07_20
stage1_coverage_recovery_2026_08_02
stamp_threat_model
stride_attempt_writer
stride_dispatch_waves
stride_outputs
stride_quick_profile
term_style
terminate_run
thin_runtime_regressions_2026_07_20
validate_analyst
verify_run_costs
wait_agent_calls
watch_run
write_stride_progress
"""),
"incremental": _tests("""
analysis_version_upgrade
build_threat_model_yaml
persist_run_baseline
"""),
"e2e": _tests("""
e2e_pipeline
"""),
"qa-repair": _tests("""
architect_review_runtime
architect_review
build_architect_context
calibrate_architect_review
apply_content_repair
apply_content_repair_coverage
apply_prose_fixes
apply_prose_fixes_coverage
eval_threat_model
evidence_verification_schema
ground_truth_recall
guard_evidence_verification
inline_code_formatter
mermaid_validator
qa_arch_coverage
qa_arch_coverage_coverage
qa_checks
qa_checks_cov_band1
qa_checks_cov_band2
qa_checks_cov_band3
qa_checks_cov_band4
qa_depth_profile
recommend_fixes
repair_eligibility
repair_proof_gate
repair_self_verification
review_threat_model
validate_evidence_lines
validate_mitigation_quality
validate_ms_compactness
"""),
"findings": _tests("""
aggregate_threat_summary
arch_coverage_bridge
arch_coverage_bridge_coverage
attack_step_quality
auto_emitter_pass
business_relevance
critical_findings_sync
cvss_eligibility
decision_register
derive_abuse_cases
detect_impl_strategy
emit_auth_coverage
emit_clean_finding_titles
emit_config_scan_mitigations
emit_dep_update_activity
emit_finding_fix_mitigations
emit_general_mitigation_titles
emit_known_bad_libs
emit_meta_findings
emit_review_mitigations
emit_sca_practice
emit_severity_rationale
emit_threat_vektors
emit_verdict_to_model
enforce_control_taxonomy
enforce_yaml_invariants
enrich_asset_links
enrichment_pass
finding_intake
hydrate_mitigation_details
merge_threats
ms_input_digest
promote_verified_abuse_cases
reconcile_privileged_roles
reconcile_role_access
register_titles
sanitize_perimeter_claims
security_relevance_filter
security_score
severity_rollup
severity_policy
team_questions
threat_model_fields
threat_model_health
threats_merged_schema
triage_compute_ranking
triage_validate_ratings
weakness_class_config_consistency
weakness_signals
"""),
"config": _tests("""
detect_public_repo
haiku_routing_per_depth
load_business_context
model_lineup
model_release_pricing
org_profile_schema
phase_budgets
reasoning_model_resolution
resolve_config
resolve_config_org_profile
resolve_config_slug
resolve_org_profile
security_steering
security_steering_units
validate_config
"""),
"requirements": _tests("""
build_verify_diff
fetch_requirements
harvest_requirements
render_requirements_banner
requirements_catalog_predicate
requirements_gate
requirements_hook
requirements_mapping
requirements_report
requirements_resolution
requirements_source_resolution
requirements_state
requirements_trace
requirements_verification
requirements_yaml
"""),
"baseline": _tests("""
baseline_check
baseline_content_unchanged
baseline_modular
baseline_release
baseline_state_coverage
install_baseline
remove_baseline
sync_baseline
update_baseline
"""),
"packaging": _tests("""
build_plugin_package
check_release_meta
check_skill_enabled
compose_plugin
composition_runtime
internal_packaging_end_to_end
marketplace_manifest
package_internal_plugin
plugin_meta
skill_policy_gate
smoke_test_package
version_status
"""),
"context": _tests("""
business_context_preview
business_impact_scope
business_use_case
abuse_case_gate
abuse_case_hypothesis
abuse_case_verdicts
abuse_cases_schema
build_abuse_case_contexts
build_architecture_analysis_context
build_cross_repo_register
build_post_stride_contexts
build_posture_verdict
build_stride_evidence_bundles
build_threat_modeling_context
build_trust_boundary_assessment_input
business_abuse_cases
canonicalize_component_id
classify_component
context_prompt_budgets
context_routing
discover_identity_providers
embedded_store_access
finalize_component_inventory
flow_route_auth
load_related_repos
match_abuse_cases
normalize_security_architecture
prepare_trust_boundary_context
reclassify_components
recon_signals_schema
resolve_abuse_cases
resolve_actors
slice_actors
slice_cross_repo_for_component
stage1_context_edge_inventory
topology_workloads
validate_recon_summary
validate_threat_modeling_context
verify_abuse_cases
"""),
"trust": _tests("""
artifact_names
assessment_location
ensure_output_gitignore
legacy_import
path_guard
plugin_read_gate
plugin_write_gate
preflight_untrusted
redact_known_secrets
remote_url
run_path_guard
url_guard
"""),
"shared": _tests("""
atomic_io
boundary_interface
finding_locator
finding_state
intermediate_json
reserve_ids
safe_cond
schema_drift
schemas
shared_paths
threat_model_fields
threat_model_fields_evidence
validate_intermediate
yaml_io
"""),
"tooling": _tests("""
acceptance_invocation
audit_test_routes
check_fragment_registry
check_specs
check_target_specificity
ci_dispatch_workflows
ci_test_workflow
enforcement_mutations
run_tests
spec_guard
"""),
"integration": _tests("""
e2e_cross_repo_fixture_script
e2e_fixture_script
e2e_spring_fixture_script
full_run_e2e_driver
integration
single_repo_no_cross_repo_regression
threat_fixture
verify_full_run_oracle
"""),
}
MANUAL_TESTS = {
"tests/test_full_run_e2e.py": "Assertions on live-run artifacts; only enabled by the manual E2E driver.",
"tests/test_host_isolation_live.py": "Calls the real claude host and spends money; enabled by APPSEC_LIVE_HOST=1.",
}
# These sources retain the full suite until their behavior has measured coverage.
# A file-content scan alone does not establish a bounded consumer route.
FULL_SUITE_SOURCES = {
"scripts/shared/_yaml_io.py": "Shared YAML I/O has an unmeasured consumer in model/migrate_v3_to_v4.py.",
"scripts/model/migrate_v3_to_v4.py": "Legacy migration has no measured behavioral tests.",
"scripts/mock-server.py": "Manual server behavior has no measured behavioral tests.",
"scripts/renderers/render_threat_model_schema.py": "Schema-document generation has no measured behavioral tests.",
}
# Each route lists every test module that executes the file, uses its
# module-level constants or classes, or reads it; `make audit-test-routes`
# measures this and rejects a route that misses one. Do not replace them with
# group names: groups are convenient maintainer suites, not dependency boundaries.
# Resource routes also cover tests that execute their loaders and renderers in
# subprocesses, where the audit records execution but not file reads.
# Repository documents (guidance, changelog, docs, specs, requirement bindings)
# are not runtime input: their routes name the tests that read them, including
# the tracked-file content scan. Shipped Markdown under agents/ and skills/
# remains runtime input and falls back to all unless explicitly routed below. threat_fixture replays
# build_threat_model_yaml and compose_threat_model, so modules they import
# route to it.
# Measured readers of every shipped agent or skill file: the prompt contracts,
# glob scans and tracked-file scans. A route for one of these files starts from
# its base and adds the tests that read that file by name or path.
_AGENT_FILE_TESTS = (
"agent_definitions agent_doc_shell_snippets check_target_specificity context_routing "
"requirements_verification stride_outputs"
)
_SKILL_FILE_TESTS = "check_target_specificity context_routing requirements_verification"
SOURCE_TESTS = {
"scripts/compose_plugin.py": _tests(
"compose_plugin composition_runtime package_internal_plugin finding_state gate_preconditions run_path_guard check_target_specificity requirements_verification shared_paths stride_outputs"
),
"scripts/composition_runtime.py": _tests(
"compose_plugin composition_runtime package_internal_plugin finding_state gate_preconditions run_path_guard check_target_specificity requirements_verification shared_paths stride_outputs"
),
"schemas/organization-dispatch.schema.json": _tests("package_internal_plugin schemas"),
"schemas/components-lock.schema.json": _tests(
"compose_plugin package_internal_plugin check_target_specificity requirements_verification schemas"
),
"schemas/component-manifest.schema.json": _tests(
"compose_plugin package_internal_plugin check_target_specificity requirements_verification schemas"
),
"scripts/runtime/remote_repositories.py": _tests("remote_repositories"),
".claude/settings.json": _tests("check_permissions requirements_hook spec_guard requirements_verification"),
"specs/README.md": _tests("requirements_verification"),
"specs/changes/root-requirements-catalog/proposal.md": _tests("requirements_verification"),
"scripts/orchestrator/assessment_context.py": _tests("assessment_context check_target_specificity"),
"scripts/orchestrator/assessment_workspace.py": _tests(
"multi_repo_assessment single_repo_controller assessment_context assessment_review assessment_posture check_target_specificity"
),
"scripts/orchestrator/assessment_stage2.py": _tests("assessment_stage2 check_target_specificity"),
"scripts/orchestrator/assessment_review.py": _tests("assessment_review check_target_specificity"),
"scripts/orchestrator/assessment_declarations.py": _tests(
"assessment_declarations assessment_posture multi_repo_boundaries check_target_specificity"
),
"scripts/model/assessment_scanner_findings.py": _tests(
"assessment_scanner_findings assessment_posture multi_repo_controller check_target_specificity"
),
"scripts/model/assessment_posture.py": _tests(
"assessment_posture assessment_declarations check_target_specificity"
),
"schemas/trust-boundary-coverage-v2.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas check_target_specificity multi_repo_builder multi_repo_exports"
),
"scripts/runtime/assessment_state.py": _tests(
"assessment_state legacy_import multi_repo_controller check_target_specificity finding_state gate_preconditions shared_paths stride_outputs"
),
"schemas/multi-repo-state.schema.json": _tests(
"assessment_state multi_repo_controller schemas check_target_specificity"
),
"tests/e2e/fake_claude.py": _tests("controller_e2e"),
"scripts/runtime/assessment_jobs.py": _tests(
"assessment_jobs multi_repo_controller check_target_specificity finding_state gate_preconditions shared_paths stride_outputs"
),
"schemas/assessment-job-receipt.schema.json": _tests(
"assessment_jobs multi_repo_controller schemas check_target_specificity"
),
"scripts/shared/assessment_sources.py": _tests(
"assessment_sources multi_repo_analysis multi_repo_boundaries multi_repo_controller check_target_specificity finding_state gate_preconditions shared_paths stride_outputs multi_repo_builder multi_repo_figures multi_repo_exports portable_model_readers threat_fixture"
),
"schemas/threat-model.output-v2.schema.yaml": _tests(
"assessment_sources multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas schema_integrity check_target_specificity multi_repo_builder multi_repo_figures multi_repo_exports"
),
"scripts/contexts/multi_repo_analysis.py": _tests(
"multi_repo_analysis serving_units multi_repo_boundaries multi_repo_controller check_target_specificity finding_state gate_preconditions shared_paths stride_outputs multi_repo_builder multi_repo_exports threat_fixture"
),
"schemas/multi-repo-architecture.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas check_target_specificity multi_repo_builder multi_repo_exports"
),
"schemas/multi-repo-stride.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas check_target_specificity multi_repo_builder multi_repo_exports"
),
"schemas/multi-repo-controls.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas check_target_specificity multi_repo_builder multi_repo_exports"
),
"schemas/multi-repo-evidence-review.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas check_target_specificity multi_repo_builder multi_repo_exports"
),
"schemas/threats-merged-v2.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas check_target_specificity multi_repo_builder multi_repo_exports"
),
"schemas/fragments/trust-boundary-candidates-v2.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas schema_integrity check_fragment_registry fragment_registry check_target_specificity multi_repo_builder multi_repo_exports"
),
"schemas/fragments/trust-boundaries-v3.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas schema_integrity check_fragment_registry fragment_registry check_target_specificity multi_repo_builder multi_repo_exports"
),
"schemas/trust-boundary-assessment-input-v2.schema.json": _tests(
"multi_repo_analysis multi_repo_boundaries multi_repo_controller schemas schema_integrity check_target_specificity multi_repo_builder multi_repo_exports"
),
"scripts/contexts/review_multi_repo_connections.py": _tests("""
review_multi_repo_connections check_target_specificity finding_state gate_preconditions shared_paths stride_outputs
"""),
"scripts/validators/validate_assessment_architecture.py": _tests(
"""
threat_fixture
validate_assessment_architecture review_multi_repo_connections
check_target_specificity finding_state gate_preconditions shared_paths stride_outputs
multi_repo_builder
multi_repo_exports
multi_repo_assessment
"""
),
"schemas/multi-repo-connection-review.schema.json": _tests("""
review_multi_repo_connections schemas check_target_specificity
"""),
"schemas/component-inventory-finalization-v2.schema.json": _tests(
"""
validate_assessment_architecture review_multi_repo_connections schemas check_target_specificity
multi_repo_builder
multi_repo_exports
"""
),
"schemas/fragments/components-v2.schema.json": _tests(
"""
validate_assessment_architecture review_multi_repo_connections schemas schema_integrity
check_fragment_registry fragment_registry check_target_specificity
multi_repo_builder multi_repo_figures
multi_repo_exports
"""
),
"schemas/fragments/data-flows-v2.schema.json": _tests(
"""
validate_assessment_architecture review_multi_repo_connections schemas schema_integrity
check_fragment_registry fragment_registry check_target_specificity
multi_repo_builder
multi_repo_exports
"""
),
"scripts/analyzers/serving_units.py": _tests("""
serving_units multi_repo_controller
"""),
"schemas/architecture-serving-units.schema.json": _tests("""
serving_units schemas
"""),
"scripts/runtime/multi_repo_discovery.py": _tests("""
review_multi_repo_connections serving_units assessment_jobs controller_e2e
multi_repo_discovery check_target_specificity finding_state gate_preconditions shared_paths stride_outputs
"""),
"scripts/runtime/assessment_host.py": _tests("""
review_multi_repo_connections
assessment_host multi_repo_discovery check_target_specificity finding_state gate_preconditions shared_paths stride_outputs
"""),
"scripts/runtime/multi_repo_scope.py": _tests(
"""
threat_fixture
validate_assessment_architecture review_multi_repo_connections
multi_repo_scope assessment_host multi_repo_discovery reconcile_multi_repo_architecture
check_target_specificity finding_state gate_preconditions shared_paths stride_outputs
multi_repo_builder multi_repo_figures
multi_repo_exports
"""
),
"schemas/multi-repo-scope.schema.json": _tests(
"""
validate_assessment_architecture review_multi_repo_connections
multi_repo_scope multi_repo_discovery reconcile_multi_repo_architecture schemas check_target_specificity
multi_repo_builder multi_repo_figures
multi_repo_exports
"""
),
"scripts/contexts/reconcile_multi_repo_architecture.py": _tests("""
validate_assessment_architecture review_multi_repo_connections
reconcile_multi_repo_architecture multi_repo_discovery
check_target_specificity finding_state gate_preconditions shared_paths stride_outputs
"""),
"schemas/multi-repo-discovery.schema.json": _tests("""
validate_assessment_architecture review_multi_repo_connections
reconcile_multi_repo_architecture multi_repo_discovery schemas check_target_specificity
"""),
"schemas/multi-repo-connections.schema.json": _tests("""
validate_assessment_architecture review_multi_repo_connections
reconcile_multi_repo_architecture multi_repo_discovery schemas check_target_specificity
"""),
"specs/changes/headless-multi-repository/proposal.md": _tests("requirements_verification"),
"agents/appsec-authnz-analyzer.md": _tests(
f"{_AGENT_FILE_TESTS} agent_logger authnz_report authnz_review_skill fragment_invariant_parity"
),
"skills/authnz-review/SKILL.md": _tests(
f"{_SKILL_FILE_TESTS} authnz_review_skill lazy_phase_group_loading package_internal_plugin "
"runtime_doc_cli_contract skill_definitions"
),
"skills/authnz-review/save-and-export.md": _tests(
f"{_SKILL_FILE_TESTS} authnz_review_skill lazy_phase_group_loading skill_definitions"
),
"skills/authnz-review/HELP.txt": _tests(f"{_SKILL_FILE_TESTS} skill_definitions"),
"skills/abuse-cases/SKILL.md": _tests(f"{_SKILL_FILE_TESTS} resolve_abuse_cases skill_definitions"),
"skills/ask-security-assessment/SKILL.md": _tests(f"{_SKILL_FILE_TESTS} query_threat_model skill_definitions"),
"skills/help/SKILL.md": _tests(f"{_SKILL_FILE_TESTS} help_reference skill_definitions"),
"skills/appsec-analyzer/SKILL.md": _tests(
f"{_SKILL_FILE_TESTS} assessment_console single_repo_controller skill_definitions"
),
"skills/appsec-analyzer/business-context.md": _tests(
f"{_SKILL_FILE_TESTS} single_repo_controller skill_definitions"
),
"data/supply-chain-controls.yaml": _tests("""
emit_sca_practice
scanner_review_regressions
"""),
"data/config-iac-checks.yaml": _tests("""
agent_config_checks
config_iac_checks
config_iac_scanner
config_scanner_wireup
emit_sca_practice
iac_resource_checks
merge_threats
recommend_fixes
stage1_context_edge_inventory
supply_chain_facts
validate_intermediate
build_supply_chain_view
"""),
"schemas/config-scan-findings.schema.yaml": _tests("""
agent_definitions
build_supply_chain_view
config_iac_scanner
config_scanner_wireup
merge_threats
orchestration_controller
supply_chain_facts
validate_intermediate
"""),
"schemas/source-auth-findings.schema.yaml": _tests("""
authnz_report
authz_confirm
check_target_specificity
context_routing
credential_lifecycle_checks
requirements_verification
resolve_actors
schemas
security_score
validate_intermediate
"""),
"scripts/analyzers/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/baseline/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/contexts/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/exporters/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/model/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/orchestrator/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/renderers/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/repairs/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/requirements/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/runtime/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/shared/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"scripts/validators/__init__.py": _tests(
"script_layout check_target_specificity gate_preconditions requirements_verification stride_outputs"
),
"agents/appsec-architect-reviewer.md": _tests("""
agent_logger
completion_contract
fragment_invariant_parity
requirements_verification
agent_definitions
agent_doc_shell_snippets
check_target_specificity
prompt_token_bounds
stride_outputs
"""),
"scripts/analyzers/architect_review_runtime.py": _tests("""
run_invariants
actor_presentation
runtime_doc_cli_contract
threat_fixture
render_completion_summary
architect_review_runtime
build_threat_model_yaml
orchestration_controller
check_target_specificity
gate_preconditions
run_path_guard
stride_outputs
auto_emitter_pass
detect_public_repo
emit_general_mitigation_titles
render_completion_summary_config
requirements_verification
"""),
"schemas/ms-input-digest.schema.json": _tests("""
ms_input_digest
orchestration_controller
schemas
"""),
"schemas/analyst-request.schema.json": _tests("""
analyst_cli
analyst_controller
analyst_host
analyst_questions
build_analyst_context
render_analyst_report
resolve_analyst_catalog
analyst_isolation
analyst_state
build_analyst_snapshot
schemas
validate_analyst
check_target_specificity
requirements_verification
"""),
"schemas/analyst-snapshot.schema.json": _tests("""
analyst_cli
analyst_controller
analyst_host
analyst_questions
build_analyst_context
render_analyst_report
resolve_analyst_catalog
analyst_isolation
analyst_state
build_analyst_snapshot
schemas
validate_analyst
check_target_specificity
requirements_verification
"""),
"schemas/analyst-state.schema.json": _tests("""
analyst_isolation
analyst_state
build_analyst_snapshot
schemas
validate_analyst
"""),
"schemas/architect-review-runtime.schema.json": _tests("""
render_completion_summary
architect_review_runtime
check_target_specificity
schemas
render_completion_summary_config
requirements_verification
"""),
"scripts/analyzers/architect_review.py": _tests("""
orchestration_controller
actor_presentation
build_threat_model_yaml
runtime_doc_cli_contract
threat_fixture
architect_review
architect_review_runtime
build_architect_context
calibrate_architect_review
check_target_specificity
gate_preconditions
run_path_guard
stride_outputs
auto_emitter_pass
detect_public_repo
emit_general_mitigation_titles
render_completion_summary_config
requirements_verification
"""),
"scripts/contexts/build_architect_context.py": _tests("""
build_architect_context
architect_review_runtime
calibrate_architect_review
check_target_specificity
gate_preconditions
run_path_guard
stride_outputs
render_completion_summary_config
requirements_verification
"""),
"schemas/architect-review-job.schema.json": _tests("""
architect_review_runtime
orchestration_controller
context_routing
check_target_specificity
requirements_verification
schemas
"""),
"schemas/architect-review-proposals.schema.json": _tests("""
architect_review_runtime
orchestration_controller
check_target_specificity
requirements_verification
schemas
"""),
"scripts/calibrate_architect_review.py": _tests("""
calibrate_architect_review
check_target_specificity
gate_preconditions
run_path_guard
stride_outputs
requirements_verification
"""),
"schemas/architect-review-context.schema.json": _tests("""
build_architect_context
architect_review_runtime
calibrate_architect_review
check_target_specificity
schemas
requirements_verification
"""),
"schemas/architect-review-calibration.schema.json": _tests("""
architect_review_runtime
calibrate_architect_review
check_target_specificity
schemas
requirements_verification
"""),
"agents/shared/architect-semantic-review.md": _tests("""