ADR Conformance Map¶
Static structural map of ADR enforcement, derived purely from parsing Accepted ADRs' **Enforcement:** / **Enforced by:** fields. This file never executes a check and carries no live pass/fail outcome — see adr_conformance.jsonl and the ADR_CONFORMANCE_UPDATE event for runtime results.
Static Enforcement Map¶
| ADR | Enforcement | Cited checks |
|---|---|---|
| ADR-0001 | enforced | pytest:tests/test_orchestrator_loops.py, pytest:tests/architecture/test_loop_count_matches_adr0001.py |
| ADR-0002 | enforced | pytest:tests/test_state_machine.py |
| ADR-0004 | enforced | pytest:tests/test_agent_cli.py, pytest:tests/test_base_runner.py |
| ADR-0005 | enforced | pytest:tests/test_implement_phase.py |
| ADR-0007 | enforced | pytest:tests/test_dashboard_routes_repo.py |
| ADR-0008 | enforced | pytest:tests/test_dashboard_routes_repo.py |
| ADR-0009 | enforced | pytest:tests/architecture/test_adr0009_process_per_repo_isolation.py::test_workspace_paths_are_repo_slug_scoped_and_collision_free |
| ADR-0010 | enforced | pytest:tests/test_integration_worktree.py |
| ADR-0011 | enforced | pytest:tests/test_epic.py, pytest:tests/test_release.py |
| ADR-0012 | enforced | pytest:tests/test_epic_merge_coordination.py |
| ADR-0014 | enforced | pytest:tests/test_state_machine.py |
| ADR-0015 | enforced | pytest:tests/test_review_phase_hooks.py |
| ADR-0016 | enforced | pytest:tests/test_visual_validation.py |
| ADR-0017 | enforced | pytest:tests/test_state_machine.py |
| ADR-0018 | enforced | pytest:tests/test_screenshot_scanner.py, pytest:tests/test_report_issue_loop.py |
| ADR-0019 | enforced | pytest:tests/test_epic_manager.py, pytest:tests/test_post_merge_handler.py |
| ADR-0021 | enforced | pytest:tests/test_state_persistence.py, pytest:tests/test_event_persistence.py, pytest:tests/test_data_migration_d2.py |
| ADR-0022 | enforced | pytest:tests/test_integration_pipeline.py |
| ADR-0023 | enforced | pytest:tests/architecture/test_adr0023_test_local_class_instantiation.py::test_no_dead_test_local_classes |
| ADR-0024 | enforced | pytest:tests/test_implement_phase.py, pytest:tests/scenarios/fakes/test_prior_failure_propagation.py |
| ADR-0025 | manual | Review checklist — reviewers verify symmetric field-assertion coverage (all three legs per method) by searching for the field name across test functions for the affected methods (see "Review checklist" under Consequences). |
| ADR-0027 | enforced | pytest:tests/architecture/test_adr0027_duplicate_model_class_definitions.py::test_no_dead_duplicate_model_class_definitions |
| ADR-0028 | enforced | pytest:tests/test_report_event_flow.py |
| ADR-0029 | enforced | pytest:tests/test_caretaker_loop_wiring.py |
| ADR-0030 | enforced | pytest:tests/architecture/test_adr0030_dashboard_routes_decomposition.py::test_create_router_wires_each_named_domain_register |
| ADR-0032 | enforced | pytest:tests/test_repo_wiki.py, pytest:tests/test_repo_wiki_store_git.py, pytest:tests/test_repo_wiki_ingest.py, pytest:tests/test_wiki_drift_detector.py, pytest:tests/test_wiki_drift_symbols.py, pytest:tests/test_wiki_semantic_drift.py, pytest:tests/test_repo_wiki_temporal.py, pytest:tests/test_wiki_corroboration.py |
| ADR-0034 | enforced | pytest:tests/test_state_machine.py |
| ADR-0035 | manual | Code review checklist item (Decision §3) applied during PR review of any change touching toggle-gated logic; see also 'docs/wiki/testing.md'. |
| ADR-0037 | enforced | pytest:tests/test_adr_pre_validator.py |
| ADR-0041 | enforced | pytest:tests/test_issue_cache.py, pytest:tests/test_precondition_gate.py |
| ADR-0042 | enforced | pytest:tests/architecture/test_adr0042_two_tier_branch_rulesets.py::test_main_ruleset_is_merge_commit_only |
| ADR-0043 | enforced | pytest:tests/test_preflight_plugins.py, pytest:tests/test_phase_skill_filter.py |
| ADR-0045 | enforced | pytest:tests/test_trust_fleet_sanity_loop.py, pytest:tests/test_loop_wiring_completeness.py, pytest:tests/test_trust_fleet_anomaly_detectors.py |
| ADR-0047 | enforced | make:trust-contracts, pytest:tests/trust/contracts/test_fake_github_contract.py |
| ADR-0049 | enforced | pytest:tests/test_loop_kill_switch_completeness.py, pytest:tests/regressions/test_canonical_killswitch.py |
| ADR-0050 | enforced | pytest:tests/test_auto_agent_preflight_loop.py, pytest:tests/scenarios/test_auto_agent_preflight.py, pytest:tests/test_loop_wiring_completeness.py, pytest:tests/test_auto_agent_hitl_intake.py, pytest:tests/test_preflight_decision_hitl_widened.py |
| ADR-0051 | manual | 'superpowers:subagent-driven-development' workflow (per-task reviews), this ADR (process documentation), 'superpowers:requesting-code-review' (which dispatches the 'code-reviewer' agent) skill (the fresh-eyes reviewer) — a process convention, not a runnable check. |
| ADR-0052 | enforced | pytest:tests/test_mockworld_fakes_conformance.py, pytest:tests/test_sandbox_scenario_contract.py |
| ADR-0053 | enforced | pytest:tests/test_ubiquitous_language_drift.py, pytest:tests/test_seed_terms.py |
| ADR-0054 | enforced | pytest:tests/test_term_proposer_loop.py, pytest:tests/architecture/test_term_proposer_wiring.py |
| ADR-0056 | enforced | pytest:tests/test_adr_touchpoint_auditor_loop.py |
| ADR-0057 | enforced | pytest:tests/test_term_pruner_loop.py, pytest:tests/architecture/test_term_pruner_wiring.py |
| ADR-0058 | enforced | pytest:tests/test_edge_proposer_loop.py, pytest:tests/architecture/test_edge_proposer_wiring.py |
| ADR-0060 | enforced | pytest:tests/test_atlas_routes.py |
| ADR-0061 | enforced | pytest:tests/test_atlas_routes.py |
| ADR-0062 | enforced | pytest:tests/test_entry_evidence_loop.py, pytest:tests/scenarios/test_entry_evidence_loop_scenario.py |
| ADR-0064 | enforced | pytest:tests/test_adversarial_retry_loop.py |
| ADR-0065 | enforced | pytest:tests/architecture/test_adr0065_code_grooming_removed.py::test_no_live_code_grooming_references_in_src_or_tests |
| ADR-0071 | enforced | pytest:tests/test_route_back.py |
| ADR-0083 | enforced | pytest:tests/test_sandbox_scenario_contract.py, pytest:tests/test_no_screenshot_regression_tests.py |
| ADR-0085 | enforced | pytest:tests/test_secret_scrub.py, pytest:tests/regressions/test_issue_9143_codeql_suppression.py |
| ADR-0087 | enforced | pytest:tests/test_prompt_registry_completeness.py, pytest:tests/test_audit_prompts.py |
| ADR-0088 | enforced | pytest:tests/test_label_drift_watcher_loop.py, pytest:tests/test_label_drift_watcher_integration.py |
| ADR-0089 | enforced | pytest:tests/test_memory_backlog_loop.py, pytest:tests/test_loop_wiring_completeness.py, pytest:tests/architecture/test_functional_area_coverage.py |
| ADR-0090 | enforced | pytest:tests/test_atlas_routes.py |
| ADR-0092 | enforced | pytest:tests/test_untrusted_text.py, pytest:tests/test_preflight_untrusted_fencing.py, pytest:tests/test_agent_cli.py, pytest:tests/test_agent_advanced.py |
| ADR-0093 | enforced | pytest:tests/test_loop_fitness_completeness.py |
| ADR-0094 | enforced | pytest:tests/test_convergence_ledger.py, pytest:tests/test_convergence_gate.py, pytest:tests/scenarios/test_convergence_review_mockworld.py, pytest:tests/sandbox_scenarios/scenarios/s50_convergence_review.py |
| ADR-0095 | enforced | pytest:tests/test_review_advisor.py, pytest:tests/test_review_phase_core.py::TestApproveConvergenceGate, pytest:tests/scenarios/test_convergence_review_mockworld.py, pytest:tests/sandbox_scenarios/scenarios/s50_convergence_review.py |
| ADR-0096 | enforced | pytest:tests/scenarios/test_convergence_pipeline_mockworld.py |
| ADR-0097 | enforced | pytest:tests/scenarios/test_convergence_counter_migration_mockworld.py |
| ADR-0098 | enforced | pytest:tests/scenarios/test_convergence_oscillation_mockworld.py |
| ADR-0099 | enforced | pytest:tests/test_seed_terms.py |
| ADR-0100 | enforced | pytest:tests/test_adr_conformance_coverage.py |
| ADR-0102 | enforced | pytest:tests/test_review_phase_core.py |
| ADR-0103 | enforced | pytest:tests/test_human_steering.py, pytest:tests/test_human_steering_loop.py, pytest:tests/test_human_steering_actuator.py, pytest:tests/test_human_steering_state.py, pytest:tests/test_orchestrator_human_steering.py, pytest:tests/test_config_env.py |
| ADR-0104 | enforced | pytest:tests/test_auto_tighten_invariant.py |
| ADR-0106 | enforced | pytest:tests/regressions/test_issue_9552.py |
| ADR-0107 | enforced | pytest:tests/architecture/test_adr0107_discover_shape_collapsed.py::test_pipeline_stage_has_no_discover_or_shape |
| ADR-0109 | enforced | pytest:tests/test_ultra_review.py |
| ADR-0110 | enforced | pytest:tests/test_config_combo_env.py::test_reject_glm_model_on_claude_provider |
| ADR-0111 | enforced | pytest:tests/test_flows.py |
| ADR-0112 | enforced | pytest:tests/architecture/test_adr0112_clone_local_isolation.py::test_workspace_create_uses_git_clone_local |
| ADR-0113 | enforced | pytest:tests/test_audit_lineage_check.py::test_control_plane_adr_missing_both_lines_fails |
| ADR-0114 | enforced | pytest:tests/test_events.py::TestEventBusTypedSubscription::test_typed_subscriber_receives_only_subscribed_types |
| ADR-0115 | enforced | pytest:tests/regressions/test_escape_auto_diagnose_before_human.py::TestEscapeAutoDiagnoseBeforeHuman::test_real_and_encoded_is_auto_resolved_no_human_surface, pytest:tests/regressions/test_escape_auto_diagnose_before_human.py::TestEscapeAutoDiagnoseBeforeHuman::test_inconclusive_still_reaches_a_human, pytest:tests/regressions/test_sampled_audit_auto_adjudicate_before_human.py::TestSampledAuditAutoAdjudicateBeforeHuman::test_upheld_self_applies_label_and_crosslinks, pytest:tests/regressions/test_sampled_audit_auto_adjudicate_before_human.py::TestSampledAuditAutoAdjudicateBeforeHuman::test_inconclusive_leaves_it_for_a_human, pytest:tests/test_escape_auto_diagnose.py::TestClassifyDiagnosis::test_bug_label_stays_inconclusive_not_dismissed, pytest:tests/test_audit_adjudicate.py::TestParseAdjudication::test_unparseable_is_inconclusive_not_upheld, pytest:tests/regressions/test_issue_11176.py::test_aging_resolvable_escape_self_answers_despite_a_busy_ask_budget |
| ADR-0116 | enforced | pytest:tests/test_prompt_registry_completeness.py, pytest:tests/test_prompt_fitness.py, pytest:tests/test_adr_enforcement_completeness.py, pytest:tests/test_prompt_rubric_calibration.py |
| ADR-0117 | enforced | pytest:tests/test_prompt_observatory.py |
| ADR-0118 | enforced | pytest:tests/architecture/test_no_otel_imports.py |
| ADR-0119 | enforced | pytest:tests/test_credit_failover.py |
| ADR-0134 | enforced | pytest:tests/test_repo_backend.py, pytest:tests/test_config_repo_provider.py, pytest:tests/test_base_runner_repo_provider.py, pytest:tests/test_base_subprocess_runner_repo_provider.py, pytest:tests/test_dashboard_routes_state.py |
Check → ADRs it protects¶
| Check | Protects |
|---|---|
'superpowers:subagent-driven-development' workflow (per-task reviews), this ADR (process documentation), 'superpowers:requesting-code-review' (which dispatches the 'code-reviewer' agent) skill (the fresh-eyes reviewer) — a process convention, not a runnable check. |
ADR-0051 |
Code review checklist item (Decision §3) applied during PR review of any change touching toggle-gated logic; see also 'docs/wiki/testing.md'. |
ADR-0035 |
Review checklist — reviewers verify symmetric field-assertion coverage (all three legs per method) by searching for the field name across test functions for the affected methods (see "Review checklist" under Consequences). |
ADR-0025 |
make:trust-contracts |
ADR-0047 |
pytest:tests/architecture/test_adr0009_process_per_repo_isolation.py::test_workspace_paths_are_repo_slug_scoped_and_collision_free |
ADR-0009 |
pytest:tests/architecture/test_adr0023_test_local_class_instantiation.py::test_no_dead_test_local_classes |
ADR-0023 |
pytest:tests/architecture/test_adr0027_duplicate_model_class_definitions.py::test_no_dead_duplicate_model_class_definitions |
ADR-0027 |
pytest:tests/architecture/test_adr0030_dashboard_routes_decomposition.py::test_create_router_wires_each_named_domain_register |
ADR-0030 |
pytest:tests/architecture/test_adr0042_two_tier_branch_rulesets.py::test_main_ruleset_is_merge_commit_only |
ADR-0042 |
pytest:tests/architecture/test_adr0065_code_grooming_removed.py::test_no_live_code_grooming_references_in_src_or_tests |
ADR-0065 |
pytest:tests/architecture/test_adr0107_discover_shape_collapsed.py::test_pipeline_stage_has_no_discover_or_shape |
ADR-0107 |
pytest:tests/architecture/test_adr0112_clone_local_isolation.py::test_workspace_create_uses_git_clone_local |
ADR-0112 |
pytest:tests/architecture/test_edge_proposer_wiring.py |
ADR-0058 |
pytest:tests/architecture/test_functional_area_coverage.py |
ADR-0089 |
pytest:tests/architecture/test_loop_count_matches_adr0001.py |
ADR-0001 |
pytest:tests/architecture/test_no_otel_imports.py |
ADR-0118 |
pytest:tests/architecture/test_term_proposer_wiring.py |
ADR-0054 |
pytest:tests/architecture/test_term_pruner_wiring.py |
ADR-0057 |
pytest:tests/regressions/test_canonical_killswitch.py |
ADR-0049 |
pytest:tests/regressions/test_escape_auto_diagnose_before_human.py::TestEscapeAutoDiagnoseBeforeHuman::test_inconclusive_still_reaches_a_human |
ADR-0115 |
pytest:tests/regressions/test_escape_auto_diagnose_before_human.py::TestEscapeAutoDiagnoseBeforeHuman::test_real_and_encoded_is_auto_resolved_no_human_surface |
ADR-0115 |
pytest:tests/regressions/test_issue_11176.py::test_aging_resolvable_escape_self_answers_despite_a_busy_ask_budget |
ADR-0115 |
pytest:tests/regressions/test_issue_9143_codeql_suppression.py |
ADR-0085 |
pytest:tests/regressions/test_issue_9552.py |
ADR-0106 |
pytest:tests/regressions/test_sampled_audit_auto_adjudicate_before_human.py::TestSampledAuditAutoAdjudicateBeforeHuman::test_inconclusive_leaves_it_for_a_human |
ADR-0115 |
pytest:tests/regressions/test_sampled_audit_auto_adjudicate_before_human.py::TestSampledAuditAutoAdjudicateBeforeHuman::test_upheld_self_applies_label_and_crosslinks |
ADR-0115 |
pytest:tests/sandbox_scenarios/scenarios/s50_convergence_review.py |
ADR-0094, ADR-0095 |
pytest:tests/scenarios/fakes/test_prior_failure_propagation.py |
ADR-0024 |
pytest:tests/scenarios/test_auto_agent_preflight.py |
ADR-0050 |
pytest:tests/scenarios/test_convergence_counter_migration_mockworld.py |
ADR-0097 |
pytest:tests/scenarios/test_convergence_oscillation_mockworld.py |
ADR-0098 |
pytest:tests/scenarios/test_convergence_pipeline_mockworld.py |
ADR-0096 |
pytest:tests/scenarios/test_convergence_review_mockworld.py |
ADR-0094, ADR-0095 |
pytest:tests/scenarios/test_entry_evidence_loop_scenario.py |
ADR-0062 |
pytest:tests/test_adr_conformance_coverage.py |
ADR-0100 |
pytest:tests/test_adr_enforcement_completeness.py |
ADR-0116 |
pytest:tests/test_adr_pre_validator.py |
ADR-0037 |
pytest:tests/test_adr_touchpoint_auditor_loop.py |
ADR-0056 |
pytest:tests/test_adversarial_retry_loop.py |
ADR-0064 |
pytest:tests/test_agent_advanced.py |
ADR-0092 |
pytest:tests/test_agent_cli.py |
ADR-0004, ADR-0092 |
pytest:tests/test_atlas_routes.py |
ADR-0060, ADR-0061, ADR-0090 |
pytest:tests/test_audit_adjudicate.py::TestParseAdjudication::test_unparseable_is_inconclusive_not_upheld |
ADR-0115 |
pytest:tests/test_audit_lineage_check.py::test_control_plane_adr_missing_both_lines_fails |
ADR-0113 |
pytest:tests/test_audit_prompts.py |
ADR-0087 |
pytest:tests/test_auto_agent_hitl_intake.py |
ADR-0050 |
pytest:tests/test_auto_agent_preflight_loop.py |
ADR-0050 |
pytest:tests/test_auto_tighten_invariant.py |
ADR-0104 |
pytest:tests/test_base_runner.py |
ADR-0004 |
pytest:tests/test_base_runner_repo_provider.py |
ADR-0134 |
pytest:tests/test_base_subprocess_runner_repo_provider.py |
ADR-0134 |
pytest:tests/test_caretaker_loop_wiring.py |
ADR-0029 |
pytest:tests/test_config_combo_env.py::test_reject_glm_model_on_claude_provider |
ADR-0110 |
pytest:tests/test_config_env.py |
ADR-0103 |
pytest:tests/test_config_repo_provider.py |
ADR-0134 |
pytest:tests/test_convergence_gate.py |
ADR-0094 |
pytest:tests/test_convergence_ledger.py |
ADR-0094 |
pytest:tests/test_credit_failover.py |
ADR-0119 |
pytest:tests/test_dashboard_routes_repo.py |
ADR-0007, ADR-0008 |
pytest:tests/test_dashboard_routes_state.py |
ADR-0134 |
pytest:tests/test_data_migration_d2.py |
ADR-0021 |
pytest:tests/test_edge_proposer_loop.py |
ADR-0058 |
pytest:tests/test_entry_evidence_loop.py |
ADR-0062 |
pytest:tests/test_epic.py |
ADR-0011 |
pytest:tests/test_epic_manager.py |
ADR-0019 |
pytest:tests/test_epic_merge_coordination.py |
ADR-0012 |
pytest:tests/test_escape_auto_diagnose.py::TestClassifyDiagnosis::test_bug_label_stays_inconclusive_not_dismissed |
ADR-0115 |
pytest:tests/test_event_persistence.py |
ADR-0021 |
pytest:tests/test_events.py::TestEventBusTypedSubscription::test_typed_subscriber_receives_only_subscribed_types |
ADR-0114 |
pytest:tests/test_flows.py |
ADR-0111 |
pytest:tests/test_human_steering.py |
ADR-0103 |
pytest:tests/test_human_steering_actuator.py |
ADR-0103 |
pytest:tests/test_human_steering_loop.py |
ADR-0103 |
pytest:tests/test_human_steering_state.py |
ADR-0103 |
pytest:tests/test_implement_phase.py |
ADR-0005, ADR-0024 |
pytest:tests/test_integration_pipeline.py |
ADR-0022 |
pytest:tests/test_integration_worktree.py |
ADR-0010 |
pytest:tests/test_issue_cache.py |
ADR-0041 |
pytest:tests/test_label_drift_watcher_integration.py |
ADR-0088 |
pytest:tests/test_label_drift_watcher_loop.py |
ADR-0088 |
pytest:tests/test_loop_fitness_completeness.py |
ADR-0093 |
pytest:tests/test_loop_kill_switch_completeness.py |
ADR-0049 |
pytest:tests/test_loop_wiring_completeness.py |
ADR-0045, ADR-0050, ADR-0089 |
pytest:tests/test_memory_backlog_loop.py |
ADR-0089 |
pytest:tests/test_mockworld_fakes_conformance.py |
ADR-0052 |
pytest:tests/test_no_screenshot_regression_tests.py |
ADR-0083 |
pytest:tests/test_orchestrator_human_steering.py |
ADR-0103 |
pytest:tests/test_orchestrator_loops.py |
ADR-0001 |
pytest:tests/test_phase_skill_filter.py |
ADR-0043 |
pytest:tests/test_post_merge_handler.py |
ADR-0019 |
pytest:tests/test_precondition_gate.py |
ADR-0041 |
pytest:tests/test_preflight_decision_hitl_widened.py |
ADR-0050 |
pytest:tests/test_preflight_plugins.py |
ADR-0043 |
pytest:tests/test_preflight_untrusted_fencing.py |
ADR-0092 |
pytest:tests/test_prompt_fitness.py |
ADR-0116 |
pytest:tests/test_prompt_observatory.py |
ADR-0117 |
pytest:tests/test_prompt_registry_completeness.py |
ADR-0087, ADR-0116 |
pytest:tests/test_prompt_rubric_calibration.py |
ADR-0116 |
pytest:tests/test_release.py |
ADR-0011 |
pytest:tests/test_repo_backend.py |
ADR-0134 |
pytest:tests/test_repo_wiki.py |
ADR-0032 |
pytest:tests/test_repo_wiki_ingest.py |
ADR-0032 |
pytest:tests/test_repo_wiki_store_git.py |
ADR-0032 |
pytest:tests/test_repo_wiki_temporal.py |
ADR-0032 |
pytest:tests/test_report_event_flow.py |
ADR-0028 |
pytest:tests/test_report_issue_loop.py |
ADR-0018 |
pytest:tests/test_review_advisor.py |
ADR-0095 |
pytest:tests/test_review_phase_core.py::TestApproveConvergenceGate |
ADR-0095 |
pytest:tests/test_review_phase_core.py |
ADR-0102 |
pytest:tests/test_review_phase_hooks.py |
ADR-0015 |
pytest:tests/test_route_back.py |
ADR-0071 |
pytest:tests/test_sandbox_scenario_contract.py |
ADR-0052, ADR-0083 |
pytest:tests/test_screenshot_scanner.py |
ADR-0018 |
pytest:tests/test_secret_scrub.py |
ADR-0085 |
pytest:tests/test_seed_terms.py |
ADR-0053, ADR-0099 |
pytest:tests/test_state_machine.py |
ADR-0002, ADR-0014, ADR-0017, ADR-0034 |
pytest:tests/test_state_persistence.py |
ADR-0021 |
pytest:tests/test_term_proposer_loop.py |
ADR-0054 |
pytest:tests/test_term_pruner_loop.py |
ADR-0057 |
pytest:tests/test_trust_fleet_anomaly_detectors.py |
ADR-0045 |
pytest:tests/test_trust_fleet_sanity_loop.py |
ADR-0045 |
pytest:tests/test_ubiquitous_language_drift.py |
ADR-0053 |
pytest:tests/test_ultra_review.py |
ADR-0109 |
pytest:tests/test_untrusted_text.py |
ADR-0092 |
pytest:tests/test_visual_validation.py |
ADR-0016 |
pytest:tests/test_wiki_corroboration.py |
ADR-0032 |
pytest:tests/test_wiki_drift_detector.py |
ADR-0032 |
pytest:tests/test_wiki_drift_symbols.py |
ADR-0032 |
pytest:tests/test_wiki_semantic_drift.py |
ADR-0032 |
pytest:tests/trust/contracts/test_fake_github_contract.py |
ADR-0047 |
Manual ADRs¶
| ADR | Prose pointer |
|---|---|
| ADR-0025 | Review checklist — reviewers verify symmetric field-assertion coverage (all three legs per method) by searching for the field name across test functions for the affected methods (see "Review checklist" under Consequences). |
| ADR-0035 | Code review checklist item (Decision §3) applied during PR review of any change touching toggle-gated logic; see also 'docs/wiki/testing.md'. |
| ADR-0051 | 'superpowers:subagent-driven-development' workflow (per-task reviews), this ADR (process documentation), 'superpowers:requesting-code-review' (which dispatches the 'code-reviewer' agent) skill (the fresh-eyes reviewer) — a process convention, not a runnable check. |