LICENSE
MANIFEST.in
README.md
pyproject.toml
src/atdd/__init__.py
src/atdd/__main__.py
src/atdd/cli.py
src/atdd/conftest.py
src/atdd/version_check.py
src/atdd.egg-info/PKG-INFO
src/atdd.egg-info/SOURCES.txt
src/atdd.egg-info/dependency_links.txt
src/atdd.egg-info/entry_points.txt
src/atdd.egg-info/requires.txt
src/atdd.egg-info/top_level.txt
src/atdd/coach/__init__.py
src/atdd/coach/github.py
src/atdd/coach/commands/__init__.py
src/atdd/coach/commands/add_persistence_metadata.py
src/atdd/coach/commands/agent.py
src/atdd/coach/commands/analyze_migrations.py
src/atdd/coach/commands/auto_phase.py
src/atdd/coach/commands/autofix.py
src/atdd/coach/commands/babysit.py
src/atdd/coach/commands/branch.py
src/atdd/coach/commands/branch_protection.py
src/atdd/coach/commands/checkpoint.py
src/atdd/coach/commands/coach.py
src/atdd/coach/commands/coach_gc.py
src/atdd/coach/commands/coach_review.py
src/atdd/coach/commands/coach_status.py
src/atdd/coach/commands/coach_watch.py
src/atdd/coach/commands/coach_workspace.py
src/atdd/coach/commands/color.py
src/atdd/coach/commands/consumers.py
src/atdd/coach/commands/diagnostics.py
src/atdd/coach/commands/durability.py
src/atdd/coach/commands/emergency.py
src/atdd/coach/commands/event_queue.py
src/atdd/coach/commands/gate.py
src/atdd/coach/commands/git_watcher.py
src/atdd/coach/commands/infer_governance_status.py
src/atdd/coach/commands/initializer.py
src/atdd/coach/commands/interface.py
src/atdd/coach/commands/inventory.py
src/atdd/coach/commands/issue.py
src/atdd/coach/commands/issue_graph.py
src/atdd/coach/commands/issue_lifecycle.py
src/atdd/coach/commands/issue_review.py
src/atdd/coach/commands/issue_template.py
src/atdd/coach/commands/judge.py
src/atdd/coach/commands/judge_call_sites.py
src/atdd/coach/commands/liveness_checker.py
src/atdd/coach/commands/merge_cascade.py
src/atdd/coach/commands/merge_cascade_pyproject.py
src/atdd/coach/commands/merge_cascade_topology.py
src/atdd/coach/commands/migration.py
src/atdd/coach/commands/observer.py
src/atdd/coach/commands/orchestrate.py
src/atdd/coach/commands/orchestrate_wave_walk.py
src/atdd/coach/commands/pr.py
src/atdd/coach/commands/registry.py
src/atdd/coach/commands/resume.py
src/atdd/coach/commands/rules.py
src/atdd/coach/commands/runtime_watcher.py
src/atdd/coach/commands/session_template.py
src/atdd/coach/commands/spawn.py
src/atdd/coach/commands/spawn_harness_blocks.py
src/atdd/coach/commands/suppress.py
src/atdd/coach/commands/sync.py
src/atdd/coach/commands/test_interface.py
src/atdd/coach/commands/test_runner.py
src/atdd/coach/commands/token_threshold.py
src/atdd/coach/commands/traceability.py
src/atdd/coach/commands/two_phase_commit.py
src/atdd/coach/commands/upgrader.py
src/atdd/coach/commands/urn.py
src/atdd/coach/commands/validation_baseline.py
src/atdd/coach/commands/viz_app.py
src/atdd/coach/commands/watchers.py
src/atdd/coach/commands/worktree_gc.py
src/atdd/coach/commands/_archived/__init__.py
src/atdd/coach/commands/_archived/babysit.py
src/atdd/coach/commands/_archived/orchestrate.py
src/atdd/coach/commands/llm_clients/__init__.py
src/atdd/coach/commands/llm_clients/_subprocess_shim.py
src/atdd/coach/commands/tests/__init__.py
src/atdd/coach/commands/tests/_e007_respawn_harness.py
src/atdd/coach/commands/tests/conftest.py
src/atdd/coach/commands/tests/test_E001_cli_characterization.py
src/atdd/coach/commands/tests/test_E001_integration_001_phase_a_rollback.py
src/atdd/coach/commands/tests/test_E001_integration_002_phase_b_launch.py
src/atdd/coach/commands/tests/test_E001_integration_003_resume_source_replaced.py
src/atdd/coach/commands/tests/test_E001_smoke_001_two_phase_commit_real_fs.py
src/atdd/coach/commands/tests/test_E002_integration_001_cold_start_spawns_planner.py
src/atdd/coach/commands/tests/test_E002_integration_002_cold_start_writes_decisions_jsonl.py
src/atdd/coach/commands/tests/test_E002_integration_003_cold_start_then_resume_reconstructs.py
src/atdd/coach/commands/tests/test_E002_integration_004_complete_with_auto_merge.py
src/atdd/coach/commands/tests/test_E002_integration_005_refactor_without_auto_merge_escalates.py
src/atdd/coach/commands/tests/test_E009_integration_001_resume_invokes_transition_action.py
src/atdd/coach/commands/tests/test_E009_integration_002_resume_spawns_pending_phase_persona.py
src/atdd/coach/commands/tests/test_E009_integration_003_no_paper_fast_forward_on_block.py
src/atdd/coach/commands/tests/test_E009_integration_004_already_complete_resume_idempotent.py
src/atdd/coach/commands/tests/test_E009_smoke_001_resume_real_orchestration.py
src/atdd/coach/commands/tests/test_E009_unit_001_missing_transition_action_fails_loudly.py
src/atdd/coach/commands/tests/test_E025_integration_001_consumer_sweep_excludes_red_phase.py
src/atdd/coach/commands/tests/test_E025_unit_consumer_validator_scope_gate.py
src/atdd/coach/commands/tests/test_J3_integration_001_decision_per_transition.py
src/atdd/coach/commands/tests/test_J3_integration_002_write_before_side_effect.py
src/atdd/coach/commands/tests/test_J3_integration_003_resume_replays_correctly.py
src/atdd/coach/commands/tests/test_K1_integration_001_spawn_at_each_transition.py
src/atdd/coach/commands/tests/test_K1_integration_002_persona_prompts_loaded.py
src/atdd/coach/commands/tests/test_K1_integration_003_persona_llm_honored.py
src/atdd/coach/commands/tests/test_K1_integration_004_multiplexer_mode_honored.py
src/atdd/coach/commands/tests/test_K1_integration_005_spawn_failure_retries_then_escalates.py
src/atdd/coach/commands/tests/test_L002_integration_001_observer_cospawns_with_planner.py
src/atdd/coach/commands/tests/test_L002_integration_002_observer_failure_does_not_block_persona.py
src/atdd/coach/commands/tests/test_L002_unit_001_fake_multiplexer_records_both_spawns.py
src/atdd/coach/commands/tests/test_L004_integration_001_observer_is_tab_not_pane.py
src/atdd/coach/commands/tests/test_L004_integration_002_pane_count_unchanged.py
src/atdd/coach/commands/tests/test_L004_integration_003_workspace_mode_unaffected.py
src/atdd/coach/commands/tests/test_L004_unit_001_multiplexer_abc_supports_new_surface_in_pane.py
src/atdd/coach/commands/tests/test_M3_integration_001_validators_fire_at_phase_exit.py
src/atdd/coach/commands/tests/test_M3_integration_002_strict_violation_blocks.py
src/atdd/coach/commands/tests/test_M3_integration_003_risk_threshold_block.py
src/atdd/coach/commands/tests/test_R001_integration_001_resume_mid_run.py
src/atdd/coach/commands/tests/test_R001_integration_002_no_duplicate_transitions.py
src/atdd/coach/commands/tests/test_R001_integration_003_watcher_reconstruct.py
src/atdd/coach/commands/tests/test_R001_smoke_001_resume_real_runtime.py
src/atdd/coach/commands/tests/test_auto_phase.py
src/atdd/coach/commands/tests/test_babysit.py
src/atdd/coach/commands/tests/test_babysit_aggregate_approve.py
src/atdd/coach/commands/tests/test_babysit_classifier.py
src/atdd/coach/commands/tests/test_babysit_dashboard.py
src/atdd/coach/commands/tests/test_babysit_pane_mode.py
src/atdd/coach/commands/tests/test_babysit_token_alert.py
src/atdd/coach/commands/tests/test_branch_empty_pr_defer.py
src/atdd/coach/commands/tests/test_branch_protection.py
src/atdd/coach/commands/tests/test_checkpoint.py
src/atdd/coach/commands/tests/test_coach_agent_done_advance.py
src/atdd/coach/commands/tests/test_coach_cold_start_creates_worktree.py
src/atdd/coach/commands/tests/test_coach_review_in_process.py
src/atdd/coach/commands/tests/test_coach_stale_done_json_baseline.py
src/atdd/coach/commands/tests/test_coach_watcher_runtime_dir.py
src/atdd/coach/commands/tests/test_d001_integration_001_no_scope_leak.py
src/atdd/coach/commands/tests/test_d001_integration_001_one_pane_across_lifecycle_blocked_intact.py
src/atdd/coach/commands/tests/test_d001_integration_001_worker_added_as_right_pane_surface.py
src/atdd/coach/commands/tests/test_d001_smoke_001_judge_real_infrastructure.py
src/atdd/coach/commands/tests/test_d001_smoke_001_real_layout_holds_as_workers_added.py
src/atdd/coach/commands/tests/test_d001_unit_001_issue_surface_named_by_issue_identity.py
src/atdd/coach/commands/tests/test_d001_unit_001_judge_cli_returns_structured_or_fails_loud.py
src/atdd/coach/commands/tests/test_d001_unit_001_reviewer_cannot_write_worktree.py
src/atdd/coach/commands/tests/test_d001_unit_001_split_ratio_is_fixed_fifty_fifty.py
src/atdd/coach/commands/tests/test_d001_unit_001_state_machine_skeleton.py
src/atdd/coach/commands/tests/test_d001_unit_001_worked_example_doc_committed.py
src/atdd/coach/commands/tests/test_d001_unit_002_fail_open_matches_config.py
src/atdd/coach/commands/tests/test_d001_unit_002_flag_parsing.py
src/atdd/coach/commands/tests/test_d001_unit_002_integration_bugs_section_present.py
src/atdd/coach/commands/tests/test_d001_unit_002_issue_surface_resolved_or_created_once.py
src/atdd/coach/commands/tests/test_d001_unit_002_reviewer_output_channel_bounded.py
src/atdd/coach/commands/tests/test_d001_unit_003_compute_waves_reuse.py
src/atdd/coach/commands/tests/test_d001_unit_003_every_call_writes_judgments_jsonl.py
src/atdd/coach/commands/tests/test_d001_unit_003_persona_respawned_in_place_not_cleared.py
src/atdd/coach/commands/tests/test_d001_unit_003_production_readiness_disclaimer_noted.py
src/atdd/coach/commands/tests/test_d002_judge_integration_001_coach_routes.py
src/atdd/coach/commands/tests/test_d002_judge_unit_001_call_site_trigger_conditions.py
src/atdd/coach/commands/tests/test_d002_judge_unit_002_response_schemas.py
src/atdd/coach/commands/tests/test_d002_smoke_001_agent_cli_e2e.py
src/atdd/coach/commands/tests/test_d002_smoke_001_session_convention_committed_and_loadable.py
src/atdd/coach/commands/tests/test_d002_unit_001_session_convention_spawn_time_section.py
src/atdd/coach/commands/tests/test_d002_unit_001_subcommands_resolve.py
src/atdd/coach/commands/tests/test_d002_unit_002_commit_trailers.py
src/atdd/coach/commands/tests/test_d002_unit_003_ask_answer_roundtrip.py
src/atdd/coach/commands/tests/test_d003_integration_001_coach_routes_aggregate_decision.py
src/atdd/coach/commands/tests/test_d003_unit_001_mixed_verdict_fires_call_site_once.py
src/atdd/coach/commands/tests/test_d003_unit_002_aggregate_response_schema.py
src/atdd/coach/commands/tests/test_d004_integration_001_feeds_spawn_feedback.py
src/atdd/coach/commands/tests/test_d004_unit_001_legacy_alias_triggers_call_site.py
src/atdd/coach/commands/tests/test_d004_unit_002_consolidation_response_schema.py
src/atdd/coach/commands/tests/test_d005_integration_001_aggregate_feeds_pre_coach.py
src/atdd/coach/commands/tests/test_d005_smoke_001_issue_review_real_infrastructure.py
src/atdd/coach/commands/tests/test_d005_unit_001_multi_pass_cross_llm_discipline.py
src/atdd/coach/commands/tests/test_d005_unit_002_five_dimensions_per_pass.py
src/atdd/coach/commands/tests/test_d006_smoke_001_review_returns_parseable_verdict.py
src/atdd/coach/commands/tests/test_d006_unit_001_default_clients_registered.py
src/atdd/coach/commands/tests/test_d006_unit_001_issue_body_injected_inline.py
src/atdd/coach/commands/tests/test_d006_unit_002_missing_clients_degrade_gracefully.py
src/atdd/coach/commands/tests/test_d006_unit_002_rule_binding_survives_malformed_payload.py
src/atdd/coach/commands/tests/test_d006_unit_003_judge_works_with_registered_llm.py
src/atdd/coach/commands/tests/test_d006_unit_003_repo_graph_summary_in_prompt.py
src/atdd/coach/commands/tests/test_decommission_babysit.py
src/atdd/coach/commands/tests/test_decommission_orchestrate.py
src/atdd/coach/commands/tests/test_e001_contract_001_agent_spawned_event_conforms.py
src/atdd/coach/commands/tests/test_e001_integration_001_between_wave_dependency_order_preserved.py
src/atdd/coach/commands/tests/test_e001_integration_001_coach_cli_uses_resolve_multiplexer_mode.py
src/atdd/coach/commands/tests/test_e001_integration_001_view_renders_into_canonical_tab.py
src/atdd/coach/commands/tests/test_e001_smoke_001_cycle_reaches_complete.py
src/atdd/coach/commands/tests/test_e001_smoke_001_pane_mode_in_real_cmux_session.py
src/atdd/coach/commands/tests/test_e001_smoke_001_real_coach_tab_shows_every_issue.py
src/atdd/coach/commands/tests/test_e001_smoke_002_artifacts_readable.py
src/atdd/coach/commands/tests/test_e001_unit_001_concurrent_spawn_before_terminal.py
src/atdd/coach/commands/tests/test_e001_unit_001_conforming_report_persists_and_emits_event.py
src/atdd/coach/commands/tests/test_e001_unit_001_observer_aggregate_approve.py
src/atdd/coach/commands/tests/test_e001_unit_001_one_status_row_per_managed_issue.py
src/atdd/coach/commands/tests/test_e001_unit_001_pane_mode_default_when_cmux_workspace_id_set.py
src/atdd/coach/commands/tests/test_e001_unit_001_spawn_cli_launches_session.py
src/atdd/coach/commands/tests/test_e001_unit_002_claude_code_adapter_invoked.py
src/atdd/coach/commands/tests/test_e001_unit_002_malformed_report_rejected_with_rule_id_error.py
src/atdd/coach/commands/tests/test_e001_unit_002_pane_mode_default_respects_tmux_env.py
src/atdd/coach/commands/tests/test_e001_unit_002_parity_with_babysit_aggregate_approve.py
src/atdd/coach/commands/tests/test_e001_unit_002_wave_joins_before_next_wave.py
src/atdd/coach/commands/tests/test_e001_unit_003_blocked_member_not_aborting_siblings.py
src/atdd/coach/commands/tests/test_e002_integration_001_cli_dispatch_routes_review.py
src/atdd/coach/commands/tests/test_e002_integration_001_coach_cli_no_prompt_when_not_tty.py
src/atdd/coach/commands/tests/test_e002_integration_001_headless_observer_uniform_across_backends.py
src/atdd/coach/commands/tests/test_e002_smoke_001_multiagent_observer_live.py
src/atdd/coach/commands/tests/test_e002_smoke_001_no_prompt_auto_in_piped_invocation.py
src/atdd/coach/commands/tests/test_e002_smoke_001_real_spawn_yields_one_tab_no_obs.py
src/atdd/coach/commands/tests/test_e002_unit_001_canonical_naming_and_layout_at_spawn.py
src/atdd/coach/commands/tests/test_e002_unit_001_cmd_spawn_runs_observer_headless.py
src/atdd/coach/commands/tests/test_e002_unit_001_coach_review_pr_spawns_reviewer_and_exits_on_verdict.py
src/atdd/coach/commands/tests/test_e002_unit_001_coach_starts_one_observer.py
src/atdd/coach/commands/tests/test_e002_unit_001_no_prompt_auto_enabled_when_not_tty.py
src/atdd/coach/commands/tests/test_e002_unit_002_commit_variant_skips_gh_resolution.py
src/atdd/coach/commands/tests/test_e002_unit_002_multiagent_observer_watches_all_dirs.py
src/atdd/coach/commands/tests/test_e002_unit_003_observer_debounced_no_subsecond_poll.py
src/atdd/coach/commands/tests/test_e002_unit_003_output_json_flag_returns_report_payload.py
src/atdd/coach/commands/tests/test_e002_unit_004_no_llm_registry_exits_nonzero_with_clear_error.py
src/atdd/coach/commands/tests/test_e002_unit_004_no_per_worker_obs_surface.py
src/atdd/coach/commands/tests/test_e002_unit_005_observer_terminates_on_coach_exit.py
src/atdd/coach/commands/tests/test_e003_integration_001_graph_helper_matches_spliced_content.py
src/atdd/coach/commands/tests/test_e003_integration_002_gc_detects_orphans.py
src/atdd/coach/commands/tests/test_e003_integration_003_gc_apply_closes.py
src/atdd/coach/commands/tests/test_e003_smoke_002_gc_detects_orphans_real_cmux.py
src/atdd/coach/commands/tests/test_e003_smoke_003_gc_apply_closes_real_cmux.py
src/atdd/coach/commands/tests/test_e003_unit_001_close_on_rename_failure.py
src/atdd/coach/commands/tests/test_e003_unit_001_prompt_contains_architecture_section.py
src/atdd/coach/commands/tests/test_e003_unit_002_no_wagon_graceful_degrade.py
src/atdd/coach/commands/tests/test_e003_unit_003_bootstrap_inbox_priming.py
src/atdd/coach/commands/tests/test_e003_unit_004_inbox_drain_subcommand.py
src/atdd/coach/commands/tests/test_e003_unit_005_inbox_peek_subcommand.py
src/atdd/coach/commands/tests/test_e003_unit_006_dispatch_multiplexer_removed.py
src/atdd/coach/commands/tests/test_e003_unit_008_schema_deprecation.py
src/atdd/coach/commands/tests/test_e004_integration_001_claude_header_actually_renames.py
src/atdd/coach/commands/tests/test_e004_integration_001_coach_suite_creates_zero_cmux_workspaces.py
src/atdd/coach/commands/tests/test_e004_integration_002_uuid_captured.py
src/atdd/coach/commands/tests/test_e004_integration_003_status_surfaces_resume_hint.py
src/atdd/coach/commands/tests/test_e004_smoke_001_coach_suite_no_real_cmux_leak.py
src/atdd/coach/commands/tests/test_e004_smoke_001_real_spawn_uses_shim_process_tree.py
src/atdd/coach/commands/tests/test_e004_unit_001_cmd_spawn_uses_shim_as_surface_command.py
src/atdd/coach/commands/tests/test_e004_unit_001_routing_test_is_hermetic.py
src/atdd/coach/commands/tests/test_e004_unit_002_inbox_priming_before_shim_starts.py
src/atdd/coach/commands/tests/test_e004_unit_002_suite_audit_no_live_multiplexer_callers.py
src/atdd/coach/commands/tests/test_e004_unit_003_fallback_to_direct_dispatch.py
src/atdd/coach/commands/tests/test_e004_unit_004_from_prompt_file_derives_defaults.py
src/atdd/coach/commands/tests/test_e005_integration_001_atdd_agent_done_resolves_from_injected_env.py
src/atdd/coach/commands/tests/test_e005_smoke_001_real_spawn_persona_completes_phase_transition.py
src/atdd/coach/commands/tests/test_e005_unit_001_parse_cli_defaults_review_phases_to_refactor.py
src/atdd/coach/commands/tests/test_e005_unit_001_persona_launch_env_carries_agent_id.py
src/atdd/coach/commands/tests/test_e005_unit_002_launch_prompt_states_agent_id_fallback.py
src/atdd/coach/commands/tests/test_e005_unit_002_skip_review_bypasses_default.py
src/atdd/coach/commands/tests/test_e005_unit_003_explicit_review_phases_override.py
src/atdd/coach/commands/tests/test_e005_unit_003_multiplexer_help_flag_exits_zero.py
src/atdd/coach/commands/tests/test_e006_smoke_001_no_orphan_pane_after_spawn_failure.py
src/atdd/coach/commands/tests/test_e006_unit_001_close_called_on_exception_after_surface_create.py
src/atdd/coach/commands/tests/test_e006_unit_001_persona_dir_co_created_with_observer.py
src/atdd/coach/commands/tests/test_e006_unit_002_close_not_called_on_success.py
src/atdd/coach/commands/tests/test_e006_unit_002_observer_cospawn_gated_on_persona.py
src/atdd/coach/commands/tests/test_e006_unit_003_close_tolerates_close_failure.py
src/atdd/coach/commands/tests/test_e007_integration_001_cmd_spawn_uses_surface_rpc.py
src/atdd/coach/commands/tests/test_e007_integration_001_multi_phase_fresh_process.py
src/atdd/coach/commands/tests/test_e007_integration_001_wave_planning_uses_graph.py
src/atdd/coach/commands/tests/test_e007_integration_002_merge_cascade_topological.py
src/atdd/coach/commands/tests/test_e007_integration_003_merge_cascade_blocks_orphan_creating_pr.py
src/atdd/coach/commands/tests/test_e007_smoke_001_new_surface_in_pane_no_broken_pipe.py
src/atdd/coach/commands/tests/test_e007_smoke_001_real_respawn.py
src/atdd/coach/commands/tests/test_e007_smoke_001_wave_plan_against_real_repo_graph.py
src/atdd/coach/commands/tests/test_e007_unit_001_respawn_primitive_backend_neutral.py
src/atdd/coach/commands/tests/test_e007_unit_001_surface_mode_calls_new_surface_in_pane.py
src/atdd/coach/commands/tests/test_e007_unit_002_resolve_multiplexer_mode_defaults_surface.py
src/atdd/coach/commands/tests/test_e007_unit_002_transition_respawns_no_cli_quit.py
src/atdd/coach/commands/tests/test_e007_unit_003_deprecated_modes_raise_error.py
src/atdd/coach/commands/tests/test_e007_unit_003_per_phase_adapter_selection.py
src/atdd/coach/commands/tests/test_e007_unit_004_phase_qualified_surface_name.py
src/atdd/coach/commands/tests/test_e008_integration_001_chosen_model_flows_to_spawn.py
src/atdd/coach/commands/tests/test_e008_integration_001_issue_creation_commits_manifest_with_dirty_index.py
src/atdd/coach/commands/tests/test_e008_integration_002_registration_failure_exits_non_zero.py
src/atdd/coach/commands/tests/test_e008_smoke_001_interactive_tty_prompt.py
src/atdd/coach/commands/tests/test_e008_smoke_001_nonexistent_pr_exits_0_with_broken_verdict.py
src/atdd/coach/commands/tests/test_e008_smoke_001_registration_visible_cross_worktree.py
src/atdd/coach/commands/tests/test_e008_unit_001_path_scoped_commit_isolates_index.py
src/atdd/coach/commands/tests/test_e008_unit_001_pr_resolution_failure_in_process_writes_sentinel.py
src/atdd/coach/commands/tests/test_e008_unit_001_tty_prompt_shown_per_persona.py
src/atdd/coach/commands/tests/test_e008_unit_002_non_tty_no_prompt.py
src/atdd/coach/commands/tests/test_e008_unit_002_pr_resolution_failure_spawn_path_still_returns_2.py
src/atdd/coach/commands/tests/test_e008_unit_002_registration_failure_is_not_swallowed.py
src/atdd/coach/commands/tests/test_e008_unit_003_persona_llm_flag_skips_prompt.py
src/atdd/coach/commands/tests/test_e008_unit_003_sentinel_summary_names_pr_resolution.py
src/atdd/coach/commands/tests/test_e008_unit_004_no_prompt_flag_skips_prompt.py
src/atdd/coach/commands/tests/test_e008_unit_005_invalid_model_rejected.py
src/atdd/coach/commands/tests/test_e009_integration_001_spawn_cli_resolves_new_adapter_ids.py
src/atdd/coach/commands/tests/test_e009_smoke_001_missing_env_var_produces_clear_adapter_error.py
src/atdd/coach/commands/tests/test_e009_unit_001_require_env_raises_adapter_error.py
src/atdd/coach/commands/tests/test_e009_unit_002_all_adapters_raise_on_missing_credentials.py
src/atdd/coach/commands/tests/test_e009_unit_003_adapter_returns_non_empty_command.py
src/atdd/coach/commands/tests/test_e009_unit_004_adapter_registry_has_five_entries.py
src/atdd/coach/commands/tests/test_e010_integration_001_full_spawn_path_with_readiness_gate.py
src/atdd/coach/commands/tests/test_e010_smoke_001_readiness_gate_with_real_multiplexer.py
src/atdd/coach/commands/tests/test_e010_smoke_001_real_branch_creation_starts_at_origin.py
src/atdd/coach/commands/tests/test_e010_unit_001_branch_manager_cuts_from_origin_default.py
src/atdd/coach/commands/tests/test_e010_unit_001_pre_trust_writes_worktree_entry.py
src/atdd/coach/commands/tests/test_e010_unit_002_ff_default_branch_clean_tree.py
src/atdd/coach/commands/tests/test_e010_unit_002_wait_for_claude_ready_polls_session_file.py
src/atdd/coach/commands/tests/test_e010_unit_003_ff_default_branch_dirty_tree_skipped.py
src/atdd/coach/commands/tests/test_e010_unit_003_wait_for_claude_ready_raises_timeout.py
src/atdd/coach/commands/tests/test_e010_unit_004_assert_worker_processing_passes_on_thinking_marker.py
src/atdd/coach/commands/tests/test_e010_unit_005_decision_log_gated_on_assertion.py
src/atdd/coach/commands/tests/test_e011_integration_001_full_spawn_path_verify_each_stage.py
src/atdd/coach/commands/tests/test_e011_smoke_001_real_fs_lock_prevents_concurrent_coaches.py
src/atdd/coach/commands/tests/test_e011_smoke_001_verify_stage_with_real_multiplexer.py
src/atdd/coach/commands/tests/test_e011_unit_001_lock_created_on_acquire.py
src/atdd/coach/commands/tests/test_e011_unit_001_verify_stage_raises_rename_not_accepted.py
src/atdd/coach/commands/tests/test_e011_unit_002_live_pid_raises_already_running.py
src/atdd/coach/commands/tests/test_e011_unit_002_verify_stage_raises_paste_did_not_land.py
src/atdd/coach/commands/tests/test_e011_unit_003_dead_pid_cleans_stale_lock.py
src/atdd/coach/commands/tests/test_e011_unit_003_verify_stage_raises_prompt_not_submitted.py
src/atdd/coach/commands/tests/test_e011_unit_004_capture_pane_text_on_multiplexer_backend.py
src/atdd/coach/commands/tests/test_e011_unit_004_context_manager_releases_on_exit.py
src/atdd/coach/commands/tests/test_e011_unit_005_apply_canonical_name_verify_after_send.py
src/atdd/coach/commands/tests/test_e011_unit_005_run_refuses_second_coach_with_clear_message.py
src/atdd/coach/commands/tests/test_e011_unit_006_assert_worker_processing_hard_raises.py
src/atdd/coach/commands/tests/test_e011_unit_006_no_progress_ttl_escalates_and_exits.py
src/atdd/coach/commands/tests/test_e011_unit_007_verify_stage_retries_once_before_raise.py
src/atdd/coach/commands/tests/test_e012_integration_001_full_spawn_atomic_rename_and_orphan_cleanup.py
src/atdd/coach/commands/tests/test_e012_smoke_001_atomic_rename_on_real_cmux.py
src/atdd/coach/commands/tests/test_e012_smoke_pre_commit_manifest_exception.py
src/atdd/coach/commands/tests/test_e012_unit_001_atomic_rename_send_no_separate_enter.py
src/atdd/coach/commands/tests/test_e012_unit_002_rename_accepted_requires_post_submit_signal.py
src/atdd/coach/commands/tests/test_e012_unit_003_fake_mux_models_enter_races_text.py
src/atdd/coach/commands/tests/test_e012_unit_004_orphan_pane_closed_on_readiness_timeout.py
src/atdd/coach/commands/tests/test_e012_unit_branch_self_heal.py
src/atdd/coach/commands/tests/test_e013_smoke_001_live_adapter_registry_passes_layer_b_validator.py
src/atdd/coach/commands/tests/test_e013_smoke_001_live_gh_search_runs_without_error.py
src/atdd/coach/commands/tests/test_e013_smoke_docs_models_and_manifest_backfill.py
src/atdd/coach/commands/tests/test_e013_unit_001_adapter_registry_has_permission_fields.py
src/atdd/coach/commands/tests/test_e013_unit_001_dup_check_warns_on_match.py
src/atdd/coach/commands/tests/test_e013_unit_002_claude_adapters_declare_accept_edits_flag.py
src/atdd/coach/commands/tests/test_e013_unit_002_dup_check_returns_empty_on_no_match.py
src/atdd/coach/commands/tests/test_e013_unit_003_new_aborts_on_match_without_no_dup_check.py
src/atdd/coach/commands/tests/test_e013_unit_003_validator_fails_on_missing_permission_fields.py
src/atdd/coach/commands/tests/test_e013_unit_004_new_proceeds_with_no_dup_check_flag.py
src/atdd/coach/commands/tests/test_e013_unit_docs_models_and_manifest_backfill.py
src/atdd/coach/commands/tests/test_e014_smoke_001_live_bash_auto_approve_no_stale_reference.py
src/atdd/coach/commands/tests/test_e014_smoke_001_spawn_guard_reachable_from_cli.py
src/atdd/coach/commands/tests/test_e014_unit_001_adapter_command_rejected.py
src/atdd/coach/commands/tests/test_e014_unit_001_bash_auto_approve_no_modal_typing_reference.py
src/atdd/coach/commands/tests/test_e014_unit_002_bash_auto_approve_fix_hint_references_allowlist.py
src/atdd/coach/commands/tests/test_e014_unit_002_clean_command_passes_guard.py
src/atdd/coach/commands/tests/test_e014_unit_003_claude_code_adapter_never_emits_forbidden_flag.py
src/atdd/coach/commands/tests/test_e015_smoke_001_deployed_templates_contain_smoke_acceptance_checklist.py
src/atdd/coach/commands/tests/test_e015_smoke_001_gate_output_contains_rules_in_live_repo.py
src/atdd/coach/commands/tests/test_e015_unit_001_gate_includes_portable_rules_when_yaml_exists.py
src/atdd/coach/commands/tests/test_e015_unit_001_session_launch_template_names_must_have_smoke_acceptance_rule.py
src/atdd/coach/commands/tests/test_e015_unit_002_atdd_md_init_phase_instructs_pre_commit_validate_planner.py
src/atdd/coach/commands/tests/test_e015_unit_002_gate_silent_when_no_yaml.py
src/atdd/coach/commands/tests/test_e015_unit_003_agent_rules_yaml_is_valid_yaml.py
src/atdd/coach/commands/tests/test_e016_smoke_001_no_popen_exec_failure_with_cli_return_env.py
src/atdd/coach/commands/tests/test_e016_unit_001_inject_agent_env_returns_tuple.py
src/atdd/coach/commands/tests/test_e016_unit_002_build_shim_command_emits_env_flags.py
src/atdd/coach/commands/tests/test_e016_unit_003_non_cli_return_shell_prefix_reconstructed.py
src/atdd/coach/commands/tests/test_e017_smoke_001_shim_invoked_via_same_python_as_coach.py
src/atdd/coach/commands/tests/test_e017_unit_001_build_shim_command_uses_module_invocation.py
src/atdd/coach/commands/tests/test_e017_unit_002_no_bare_atdd_shim_token_in_command.py
src/atdd/coach/commands/tests/test_e017_unit_003_module_invocation_passes_all_existing_args.py
src/atdd/coach/commands/tests/test_e018_integration_001_immediately_failing_shim_triggers_escalation.py
src/atdd/coach/commands/tests/test_e018_integration_001_scope_flag_in_cli_help.py
src/atdd/coach/commands/tests/test_e018_integration_002_scope_changed_files_exits_zero_on_clean_branch.py
src/atdd/coach/commands/tests/test_e018_smoke_001_live_spawn_pipeline_detects_dead_shim.py
src/atdd/coach/commands/tests/test_e018_smoke_001_scoped_check_exits_zero_on_this_branch.py
src/atdd/coach/commands/tests/test_e018_unit_001_process_not_alive_exception.py
src/atdd/coach/commands/tests/test_e018_unit_001_scoped_check_exits_zero_no_wagon_sources.py
src/atdd/coach/commands/tests/test_e018_unit_002_cli_return_output_log_heartbeat_check.py
src/atdd/coach/commands/tests/test_e018_unit_002_scoped_check_exits_one_names_drifted_wagon.py
src/atdd/coach/commands/tests/test_e018_unit_003_pr578_replay_16_drifted_wagons_no_touch.py
src/atdd/coach/commands/tests/test_e018_unit_003_process_alive_stage_sequenced_after_surface_created.py
src/atdd/coach/commands/tests/test_e019_integration_001_path_bleed_regression.py
src/atdd/coach/commands/tests/test_e019_integration_001_published_issue_passes_body_validators.py
src/atdd/coach/commands/tests/test_e019_smoke_001_live_create_zero_edit_calls.py
src/atdd/coach/commands/tests/test_e019_smoke_001_shim_command_runtime_dir_is_absolute_in_live_spawn.py
src/atdd/coach/commands/tests/test_e019_unit_001_build_shim_command_resolves_relative_runtime_dir_to_absolute.py
src/atdd/coach/commands/tests/test_e019_unit_001_single_graphql_call_on_create.py
src/atdd/coach/commands/tests/test_e019_unit_002_build_shim_command_absolute_path_unchanged.py
src/atdd/coach/commands/tests/test_e019_unit_002_non_compliant_body_refused_before_publish.py
src/atdd/coach/commands/tests/test_e019_unit_003_cmd_spawn_materializes_absolute_runtime_root.py
src/atdd/coach/commands/tests/test_e019_unit_003_edit_reruns_check_gate.py
src/atdd/coach/commands/tests/test_e020_smoke_001_deployed_shim_resolves_relative_runtime_dir.py
src/atdd/coach/commands/tests/test_e020_smoke_001_live_sync_codex_produces_conductor_md.py
src/atdd/coach/commands/tests/test_e020_unit_001_agent_files_maps_codex_to_conductor_md.py
src/atdd/coach/commands/tests/test_e020_unit_001_shim_main_resolves_relative_runtime_dir_to_absolute.py
src/atdd/coach/commands/tests/test_e020_unit_002_persona_template_maps_codex_to_conductor_md_tmpl.py
src/atdd/coach/commands/tests/test_e020_unit_002_shim_main_absolute_runtime_dir_unchanged.py
src/atdd/coach/commands/tests/test_e020_unit_003_sync_codex_agent_writes_conductor_md.py
src/atdd/coach/commands/tests/test_e020_unit_004_conductor_md_tmpl_template_file_exists.py
src/atdd/coach/commands/tests/test_e020_unit_005_stale_agents_md_triggers_migration_notice.py
src/atdd/coach/commands/tests/test_e021_integration_001_ci_check_fails_on_drifted_pr.py
src/atdd/coach/commands/tests/test_e021_smoke_001_live_process_alive_message_names_polled_path.py
src/atdd/coach/commands/tests/test_e021_smoke_001_registry_check_passes_on_main_after_chore_pr.py
src/atdd/coach/commands/tests/test_e021_unit_001_registry_check_exits_zero_after_resync.py
src/atdd/coach/commands/tests/test_e021_unit_001_timeout_message_names_polled_path_and_scan_outcome.py
src/atdd/coach/commands/tests/test_e021_unit_002_pre_push_hook_rejects_drift.py
src/atdd/coach/commands/tests/test_e021_unit_002_timeout_names_bleed_path_when_candidate_found.py
src/atdd/coach/commands/tests/test_e021_unit_003_pre_push_hook_passes_after_resync.py
src/atdd/coach/commands/tests/test_e021_unit_004_fix_hint_names_exact_command.py
src/atdd/coach/commands/tests/test_e025_smoke_001_consumer_sweep_excludes_toolkit_only_tests.py
src/atdd/coach/commands/tests/test_init_force_preserves_manifest_sessions.py
src/atdd/coach/commands/tests/test_initializer_workflow_emission.py
src/atdd/coach/commands/tests/test_is_atdd_source_repo.py
src/atdd/coach/commands/tests/test_issue_branch_check.py
src/atdd/coach/commands/tests/test_issue_chain_to_branch.py
src/atdd/coach/commands/tests/test_issue_creation_injects_graph_context.py
src/atdd/coach/commands/tests/test_issue_lifecycle.py
src/atdd/coach/commands/tests/test_issue_planned_pr_gate.py
src/atdd/coach/commands/tests/test_issue_template.py
src/atdd/coach/commands/tests/test_issue_template_new_sections.py
src/atdd/coach/commands/tests/test_issue_train_required_hint.py
src/atdd/coach/commands/tests/test_issue_update_fallback.py
src/atdd/coach/commands/tests/test_k4_per_llm_convention_sync.py
src/atdd/coach/commands/tests/test_l001_integration_001_cli_dispatch_wires_status.py
src/atdd/coach/commands/tests/test_l001_smoke_001_claude_code_no_modal_on_bash_read.py
src/atdd/coach/commands/tests/test_l001_smoke_001_status_cli_e2e.py
src/atdd/coach/commands/tests/test_l001_unit_001_adapter_registry_has_non_interactive_smoke.py
src/atdd/coach/commands/tests/test_l001_unit_001_no_runs_exits_zero.py
src/atdd/coach/commands/tests/test_l001_unit_001_status_prints_per_surface_table.py
src/atdd/coach/commands/tests/test_l001_unit_002_fixture_run_renders_table.py
src/atdd/coach/commands/tests/test_l001_unit_002_parity_with_babysit_dashboard.py
src/atdd/coach/commands/tests/test_l001_unit_003_json_flag_parseable.py
src/atdd/coach/commands/tests/test_l001_unit_004_nonexistent_run_id_exits_nonzero.py
src/atdd/coach/commands/tests/test_l002_smoke_001_relative_runtime_root_output_log_at_absolute_path.py
src/atdd/coach/commands/tests/test_m001_integration_001_runtime_event_latency.py
src/atdd/coach/commands/tests/test_m001_integration_002_git_watcher_commit_observed.py
src/atdd/coach/commands/tests/test_m001_integration_003_liveness_stuck_detection.py
src/atdd/coach/commands/tests/test_m001_integration_004_watcher_reattachment.py
src/atdd/coach/commands/tests/test_m001_integration_005_append_only_no_interleave.py
src/atdd/coach/commands/tests/test_m001_smoke_001_basic_observer_rules_load_end_to_end.py
src/atdd/coach/commands/tests/test_m001_smoke_001_integration_log_covers_every_handoff.py
src/atdd/coach/commands/tests/test_m001_smoke_001_runtime_watcher_real_infrastructure.py
src/atdd/coach/commands/tests/test_m001_unit_001_rule_01_unstructured_question.py
src/atdd/coach/commands/tests/test_m001_unit_002_rule_02_token_silence.py
src/atdd/coach/commands/tests/test_m001_unit_003_rule_03_completion_without_commit.py
src/atdd/coach/commands/tests/test_m001_unit_004_rule_04_out_of_scope_edit.py
src/atdd/coach/commands/tests/test_m001_unit_005_rule_05_missed_heartbeat.py
src/atdd/coach/commands/tests/test_m001_unit_006_rule_08_reviewer_edit_attempt.py
src/atdd/coach/commands/tests/test_m001_unit_007_rule_09_validator_failure_ignored.py
src/atdd/coach/commands/tests/test_m001_unit_008_rules_co_located_as_yaml.py
src/atdd/coach/commands/tests/test_m002_unit_001_rule_06_fires_above_threshold.py
src/atdd/coach/commands/tests/test_m002_unit_002_config_override_lowers_threshold.py
src/atdd/coach/commands/tests/test_m002_unit_003_babysit_parity_preserved.py
src/atdd/coach/commands/tests/test_m003_unit_001_rule_13_bash_auto_approve.py
src/atdd/coach/commands/tests/test_m003_unit_002_rule_14_canonical_naming_drift.py
src/atdd/coach/commands/tests/test_m003_unit_003_rule_15_layout_drift.py
src/atdd/coach/commands/tests/test_m003_unit_004_rule_16_smoke_skip.py
src/atdd/coach/commands/tests/test_m003_unit_005_yaml_loader_python_trigger.py
src/atdd/coach/commands/tests/test_m004_smoke_001_substrate_rules_e2e.py
src/atdd/coach/commands/tests/test_m004_unit_001_rule_10_stale_suppression.py
src/atdd/coach/commands/tests/test_m004_unit_002_rule_11_unbound_rule_id.py
src/atdd/coach/commands/tests/test_m004_unit_003_rule_12_grammar_violation.py
src/atdd/coach/commands/tests/test_m004_unit_004_rule_17_disposition_declared.py
src/atdd/coach/commands/tests/test_m005_smoke_001_real_observer_heartbeats_reach_coach.py
src/atdd/coach/commands/tests/test_m005_unit_001_observer_emits_heartbeat_on_cadence.py
src/atdd/coach/commands/tests/test_m005_unit_002_heartbeat_emission_is_adapter_agnostic.py
src/atdd/coach/commands/tests/test_m006_smoke_001_real_blocked_worker_reaches_coach.py
src/atdd/coach/commands/tests/test_m006_unit_001_blocked_worker_emits_ask.py
src/atdd/coach/commands/tests/test_m006_unit_002_hard_blocked_worker_emits_escalate.py
src/atdd/coach/commands/tests/test_m006_unit_003_healthy_worker_emits_no_ask_or_escalate.py
src/atdd/coach/commands/tests/test_main_dispatcher.py
src/atdd/coach/commands/tests/test_merge_cascade.py
src/atdd/coach/commands/tests/test_merge_cascade_pyproject_resolve.py
src/atdd/coach/commands/tests/test_merge_cascade_topology.py
src/atdd/coach/commands/tests/test_multiplexer.py
src/atdd/coach/commands/tests/test_observer_scan_worktree_excludes_runtime.py
src/atdd/coach/commands/tests/test_orchestrate.py
src/atdd/coach/commands/tests/test_orchestrate_ready_lifecycle_smoke.py
src/atdd/coach/commands/tests/test_orchestrate_wave_walk.py
src/atdd/coach/commands/tests/test_orchestration_convention_session_unit.py
src/atdd/coach/commands/tests/test_p001_smoke_001_observer_cli_e2e.py
src/atdd/coach/commands/tests/test_p001_smoke_002_observer_loop_closes.py
src/atdd/coach/commands/tests/test_p001_unit_001_decisions_append_only.py
src/atdd/coach/commands/tests/test_p001_unit_001_observer_run_tails_log.py
src/atdd/coach/commands/tests/test_p001_unit_002_correction_fires_and_writes.py
src/atdd/coach/commands/tests/test_p001_unit_002_judgments_append_only.py
src/atdd/coach/commands/tests/test_p001_unit_003_attach_prints_recent_observations.py
src/atdd/coach/commands/tests/test_p001_unit_003_schema_validation_at_write.py
src/atdd/coach/commands/tests/test_p001_unit_004_actions_idempotent.py
src/atdd/coach/commands/tests/test_p001_unit_004_rule_failure_isolation.py
src/atdd/coach/commands/tests/test_p001_unit_005_durability_smoke.py
src/atdd/coach/commands/tests/test_p001_unit_005_rule_loading_order_independent.py
src/atdd/coach/commands/tests/test_p001_unit_006_rule_load_error_surfaced.py
src/atdd/coach/commands/tests/test_p001_unit_007_three_injection_paths_available.py
src/atdd/coach/commands/tests/test_p001_unit_008_cmd_run_exits_when_persona_dir_removed.py
src/atdd/coach/commands/tests/test_p001_unit_009_cmd_run_exits_after_idle_timeout.py
src/atdd/coach/commands/tests/test_p001_unit_010_teardown_fixture_reaps_observer_procs.py
src/atdd/coach/commands/tests/test_p002_integration_001_persona_heartbeat_produced.py
src/atdd/coach/commands/tests/test_p002_smoke_001_blocked_persona_triggers_correction.py
src/atdd/coach/commands/tests/test_p002_smoke_002_acquisition_and_observability.py
src/atdd/coach/commands/tests/test_p002_unit_001_collect_input_reads_persona_dir.py
src/atdd/coach/commands/tests/test_p002_unit_002_time_token_fields_populated.py
src/atdd/coach/commands/tests/test_p002_unit_003_persona_output_stream_acquired.py
src/atdd/coach/commands/tests/test_p002_unit_004_observer_status_line_and_trace.py
src/atdd/coach/commands/tests/test_p002_unit_005_universal_operator_visibility.py
src/atdd/coach/commands/tests/test_p2_integration_001_complete_triggers_merge.py
src/atdd/coach/commands/tests/test_p2_integration_002_cleanup.py
src/atdd/coach/commands/tests/test_p2_integration_003_no_auto_merge_without_flag.py
src/atdd/coach/commands/tests/test_parent_body_template_seed.py
src/atdd/coach/commands/tests/test_pr_base_validation.py
src/atdd/coach/commands/tests/test_pr_risk_breakdown.py
src/atdd/coach/commands/tests/test_r001_integration_001_answered_worker_unblocks.py
src/atdd/coach/commands/tests/test_r001_smoke_001_live_bash_auto_approve_escalation_path.py
src/atdd/coach/commands/tests/test_r001_smoke_001_real_ask_answer_roundtrip.py
src/atdd/coach/commands/tests/test_r001_unit_001_answer_delivered_back_to_worker.py
src/atdd/coach/commands/tests/test_r001_unit_001_deny_pattern_routes_to_escalate.py
src/atdd/coach/commands/tests/test_r001_unit_002_roundtrip_delivery_is_adapter_agnostic.py
src/atdd/coach/commands/tests/test_r002_integration_001_full_lifecycle_no_abort.py
src/atdd/coach/commands/tests/test_r002_unit_001_green_is_not_terminal.py
src/atdd/coach/commands/tests/test_r002_unit_002_loop_continues_through_green.py
src/atdd/coach/commands/tests/test_r004_integration_001_branch_gate_passes_from_flat_sibling_worktree.py
src/atdd/coach/commands/tests/test_r004_integration_002_init_worktree_layout_noop_on_already_flat.py
src/atdd/coach/commands/tests/test_r004_integration_003_issue_reenter_create_branch_passes.py
src/atdd/coach/commands/tests/test_rules_cli.py
src/atdd/coach/commands/tests/test_security_rules_cli.py
src/atdd/coach/commands/tests/test_session_template.py
src/atdd/coach/commands/tests/test_session_template_checkpoint.py
src/atdd/coach/commands/tests/test_spawn_harness_rules_blocks.py
src/atdd/coach/commands/tests/test_spawn_harness_security_block.py
src/atdd/coach/commands/tests/test_suppress_backfill.py
src/atdd/coach/commands/tests/test_sync.py
src/atdd/coach/commands/tests/test_sync_labels.py
src/atdd/coach/commands/tests/test_sync_wmbts.py
src/atdd/coach/commands/tests/test_sync_wmbts_autospec.py
src/atdd/coach/commands/tests/test_telemetry_array_validation.py
src/atdd/coach/commands/tests/test_test_runner.py
src/atdd/coach/commands/tests/test_transition_side_effects.py
src/atdd/coach/commands/tests/test_upgrader.py
src/atdd/coach/commands/tests/test_urn_graph_edge_type_exclude_default.py
src/atdd/coach/commands/tests/test_viz_app_journey_mode.py
src/atdd/coach/commands/tests/test_worktree_gc.py
src/atdd/coach/commands/tests/test_y001_integration_001_two_issues_resolve_to_one_tab.py
src/atdd/coach/commands/tests/test_y001_integration_001_warm_resume_skips_planner.py
src/atdd/coach/commands/tests/test_y001_smoke_001_help_text_shows_timeout_in_real_shell.py
src/atdd/coach/commands/tests/test_y001_smoke_001_real_multiplexer_shows_one_coach_tab.py
src/atdd/coach/commands/tests/test_y001_unit_001_canonical_coach_tab_name_is_invariant.py
src/atdd/coach/commands/tests/test_y001_unit_001_default_timeout_is_30s.py
src/atdd/coach/commands/tests/test_y001_unit_001_read_current_phase_at_startup.py
src/atdd/coach/commands/tests/test_y001_unit_001_user_content_before_block_preserved.py
src/atdd/coach/commands/tests/test_y001_unit_002_help_text_advertises_env_var.py
src/atdd/coach/commands/tests/test_y001_unit_002_spawn_correct_persona_for_phase.py
src/atdd/coach/commands/tests/test_y001_unit_002_user_content_after_block_preserved.py
src/atdd/coach/commands/tests/test_y001_unit_003_within_block_deletion_warns.py
src/atdd/coach/commands/tests/test_y002_integration_001_github_label_reflects_sm_phase.py
src/atdd/coach/commands/tests/test_y002_integration_001_headless_observer_still_writes_corrections.py
src/atdd/coach/commands/tests/test_y002_smoke_001_banner_absent_after_sync_in_real_env.py
src/atdd/coach/commands/tests/test_y002_smoke_001_real_spawn_yields_one_tab.py
src/atdd/coach/commands/tests/test_y002_unit_001_banner_muted_when_marker_exists.py
src/atdd/coach/commands/tests/test_y002_unit_001_persona_spawn_creates_no_obs_surface.py
src/atdd/coach/commands/tests/test_y002_unit_001_swap_phase_label_helper_exists.py
src/atdd/coach/commands/tests/test_y002_unit_002_atdd_sync_writes_marker.py
src/atdd/coach/commands/tests/test_y002_unit_002_label_swapped_on_each_watcher_advance.py
src/atdd/coach/commands/tests/test_y003_smoke_001_resume_absent_from_real_help_output.py
src/atdd/coach/commands/tests/test_y003_unit_001_resume_not_in_help_text.py
src/atdd/coach/commands/tests/test_y003_unit_002_resume_flag_removed_or_hidden.py
src/atdd/coach/commands/tests/test_y004_smoke_001_real_template_render_excludes_sibling_deps_from_merge_wait.py
src/atdd/coach/commands/tests/test_y004_unit_001_parse_typed_deps_classifies_tagged_entries.py
src/atdd/coach/commands/tests/test_y004_unit_002_bare_dep_classified_as_prereq_with_warning_flag.py
src/atdd/coach/commands/tests/test_y004_unit_003_merge_wait_loop_excludes_sibling_deps.py
src/atdd/coach/commands/tests/test_y004_unit_004_render_includes_sibling_context_block.py
src/atdd/coach/commands/tests/test_y004_unit_005_no_prereqs_skips_merge_wait_loop.py
src/atdd/coach/commands/tests/test_y004_unit_006_render_emits_bare_dep_warning.py
src/atdd/coach/commands/tests/test_y006_smoke_init_hookspath_worktree_isolation.py
src/atdd/coach/commands/tests/test_y006_unit_init_hookspath_worktree_isolation.py
src/atdd/coach/conventions/code-roots.convention.yaml
src/atdd/coach/conventions/commit-trailers.convention.yaml
src/atdd/coach/conventions/forbidden_commands.convention.yaml
src/atdd/coach/conventions/issue.convention.yaml
src/atdd/coach/conventions/naming.convention.yaml
src/atdd/coach/conventions/observer.convention.yaml
src/atdd/coach/conventions/orchestration.convention.yaml
src/atdd/coach/conventions/pr.convention.yaml
src/atdd/coach/conventions/rule-id.convention.yaml
src/atdd/coach/conventions/session.convention.yaml
src/atdd/coach/conventions/source-layout.convention.yaml
src/atdd/coach/conventions/spawn.convention.yaml
src/atdd/coach/conventions/wheel-completeness.convention.yaml
src/atdd/coach/handlers/__init__.py
src/atdd/coach/handlers/decisions.py
src/atdd/coach/handlers/observer.py
src/atdd/coach/handlers/reviewer.py
src/atdd/coach/handlers/spawn.py
src/atdd/coach/handlers/state_machine.py
src/atdd/coach/handlers/two_phase_commit.py
src/atdd/coach/handlers/validator_dispatch.py
src/atdd/coach/handlers/watcher.py
src/atdd/coach/handlers/tests/__init__.py
src/atdd/coach/handlers/tests/test_e006_integration_001_persona_pane_and_spawned_event.py
src/atdd/coach/handlers/tests/test_e006_integration_002_coach_blocks_loudly_on_persona_failure.py
src/atdd/coach/handlers/tests/test_e006_smoke_001_real_green_to_smoke_spawn_creates_persona.py
src/atdd/coach/handlers/tests/test_e006_unit_003_incomplete_persona_spawn_maps_to_error.py
src/atdd/coach/handlers/tests/test_j5_integration_001_watcher_drives_state.py
src/atdd/coach/handlers/tests/test_j5_integration_002_stale_warn_fires.py
src/atdd/coach/handlers/tests/test_j5_integration_003_liveness_cleanup.py
src/atdd/coach/handlers/tests/test_j5_integration_004_event_serialization.py
src/atdd/coach/handlers/tests/test_j5_smoke_001_watcher_real_infrastructure.py
src/atdd/coach/handlers/tests/test_l1_integration_001_observer_alongside_agent.py
src/atdd/coach/handlers/tests/test_n5_integration_001_reviewer_at_phase_boundary.py
src/atdd/coach/handlers/tests/test_n5_integration_002_verdict_routing.py
src/atdd/coach/handlers/tests/test_n5_integration_003_skip_review_honored.py
src/atdd/coach/handlers/tests/test_rpb_e005_integration_001_reviewer_fires_at_refactor_boundary_by_default.py
src/atdd/coach/handlers/tests/test_spawn_transient_cmux_retry.py
src/atdd/coach/observer/__init__.py
src/atdd/coach/observer/predicates.py
src/atdd/coach/observer_rules/__init__.py
src/atdd/coach/observer_rules/bash_auto_approve.py
src/atdd/coach/observer_rules/canonical_naming_drift.py
src/atdd/coach/observer_rules/layout_drift.py
src/atdd/coach/observer_rules/smoke_skip.py
src/atdd/coach/overlays/__init__.py
src/atdd/coach/overlays/claude.md
src/atdd/coach/overlays/glm.md
src/atdd/coach/overlays/mistral.md
src/atdd/coach/plugins/__init__.py
src/atdd/coach/plugins/diagnostics.py
src/atdd/coach/plugins/violation_collector.py
src/atdd/coach/plugins/tests/__init__.py
src/atdd/coach/plugins/tests/test_diagnostics.py
src/atdd/coach/plugins/tests/test_e001_contract_001_violations_jsonl_schema_conformant.py
src/atdd/coach/plugins/tests/test_e001_smoke_001_violation_collector_real_subprocess.py
src/atdd/coach/plugins/tests/test_e001_unit_001_pytest_plugin_captures_all_violations.py
src/atdd/coach/prompts/judge-issue-review-aggregate.prompt.yaml
src/atdd/coach/prompts/judge/judge-reviewer-concern.prompt.yaml
src/atdd/coach/prompts/persona/coder/green.prompt.yaml
src/atdd/coach/prompts/persona/coder/refactor.prompt.yaml
src/atdd/coach/prompts/persona/planner/planned.prompt.yaml
src/atdd/coach/prompts/persona/reviewer/green.prompt.yaml
src/atdd/coach/prompts/persona/reviewer/planned.prompt.yaml
src/atdd/coach/prompts/persona/reviewer/red.prompt.yaml
src/atdd/coach/prompts/persona/reviewer/refactor.prompt.yaml
src/atdd/coach/prompts/persona/reviewer/smoke.prompt.yaml
src/atdd/coach/prompts/persona/tester/red.prompt.yaml
src/atdd/coach/prompts/persona/tester/smoke.prompt.yaml
src/atdd/coach/runtime/__init__.py
src/atdd/coach/runtime/dispatcher.py
src/atdd/coach/runtime/git_watcher.py
src/atdd/coach/runtime/graph.py
src/atdd/coach/runtime/integration_logger.py
src/atdd/coach/runtime/pr_watcher.py
src/atdd/coach/runtime/reader.py
src/atdd/coach/runtime/risk_score.py
src/atdd/coach/runtime/status_render.py
src/atdd/coach/runtime/suppression_filter.py
src/atdd/coach/runtime/validator_selection.py
src/atdd/coach/runtime/tests/__init__.py
src/atdd/coach/runtime/tests/test_c001_unit_001_toolkit_suppression_marker_absorbs_violation.py
src/atdd/coach/runtime/tests/test_c001_unit_002_repo_rule_violation_never_suppressed.py
src/atdd/coach/runtime/tests/test_c001_unit_003_stale_suppressions_populated.py
src/atdd/coach/runtime/tests/test_d001_unit_001_green_phase_selects_all_green_repo_rules.py
src/atdd/coach/runtime/tests/test_d001_unit_002_planned_runs_substrate_enforcement.py
src/atdd/coach/runtime/tests/test_d001_unit_003_config_override_substitutes_selection.py
src/atdd/coach/runtime/tests/test_e002_contract_001_risk_score_schema_validated_at_write.py
src/atdd/coach/runtime/tests/test_e002_unit_001_mixed_toolkit_and_repo_breakdown.py
src/atdd/coach/runtime/tests/test_e007_unit_001_graph_resolves_wagon_deps.py
src/atdd/coach/runtime/tests/test_m001_integration_001_backoff_on_secondary_limit.py
src/atdd/coach/runtime/tests/test_m001_integration_002_preflight_budget_check.py
src/atdd/coach/runtime/tests/test_m001_integration_003_coach_watch_cli_batched.py
src/atdd/coach/runtime/tests/test_m001_integration_004_agent_wait_ci_uses_watcher.py
src/atdd/coach/runtime/tests/test_m001_unit_001_batched_poll_single_api_call.py
src/atdd/coach/runtime/tests/test_m001_unit_001_commit_observed_event_emitted.py
src/atdd/coach/runtime/tests/test_m001_unit_002_cheap_state_default.py
src/atdd/coach/runtime/tests/test_m001_unit_002_missing_trailers_violation_routed_tier_1.py
src/atdd/coach/runtime/tests/test_m001_unit_003_failures_on_demand.py
src/atdd/coach/runtime/tests/test_m001_unit_003_git_watcher_smoke.py
src/atdd/coach/schemas/coach-decision.schema.json
src/atdd/coach/schemas/coach-judgment.schema.json
src/atdd/coach/schemas/config.schema.json
src/atdd/coach/schemas/correction.schema.json
src/atdd/coach/schemas/issue-review-aggregate.schema.json
src/atdd/coach/schemas/issue-review-pass.response.schema.json
src/atdd/coach/schemas/judge-borderline-tier1.response.schema.json
src/atdd/coach/schemas/judge-cross-phase-regression.response.schema.json
src/atdd/coach/schemas/judge-issue-review-aggregate.response.schema.json
src/atdd/coach/schemas/judge-retry-vs-escalate.response.schema.json
src/atdd/coach/schemas/judge-reviewer-concern.response.schema.json
src/atdd/coach/schemas/judge-superseded-rule-consolidation.response.schema.json
src/atdd/coach/schemas/label_taxonomy.schema.json
src/atdd/coach/schemas/manifest.schema.json
src/atdd/coach/schemas/project_fields.schema.json
src/atdd/coach/schemas/review-report.schema.json
src/atdd/coach/schemas/risk-score.schema.json
src/atdd/coach/schemas/runtime-event.schema.json
src/atdd/coach/schemas/session.schema.json
src/atdd/coach/schemas/validator-result.schema.json
src/atdd/coach/schemas/worker-state.schema.json
src/atdd/coach/shim/__init__.py
src/atdd/coach/shim/__main__.py
src/atdd/coach/shim/persona_shim.py
src/atdd/coach/shim/tests/__init__.py
src/atdd/coach/shim/tests/test_e003_smoke_001_correction_loop_end_to_end.py
src/atdd/coach/shim/tests/test_e003_smoke_002_operator_stdout_visible.py
src/atdd/coach/shim/tests/test_e003_unit_001_shim_spawns_agent_in_pty.py
src/atdd/coach/shim/tests/test_e003_unit_002_shim_drains_cli_return.py
src/atdd/coach/shim/tests/test_e003_unit_007_cli_return_consumed_end_to_end.py
src/atdd/coach/shim/tests/test_e003_unit_009_operator_keystrokes_forwarded.py
src/atdd/coach/shim/tests/test_e003_unit_010_shim_fault_isolation.py
src/atdd/coach/shim/tests/test_e003_unit_011_pty_output_forwarded_to_operator_stdout.py
src/atdd/coach/shim/tests/test_e003_unit_012_stdout_write_fault_isolation.py
src/atdd/coach/shim/tests/test_e005_smoke_001_full_shim_spawn_with_env_override.py
src/atdd/coach/shim/tests/test_e005_unit_001_shim_main_parses_env_flag.py
src/atdd/coach/shim/tests/test_e005_unit_002_persona_shim_applies_env_overrides.py
src/atdd/coach/shim/tests/test_e005_unit_003_regression_argv_leading_key_value_fails.py
src/atdd/coach/shim/tests/test_e006_smoke_001_stdin_bytes_reach_wrapped_subprocess.py
src/atdd/coach/shim/tests/test_e006_unit_001_run_loop_includes_stdin_in_select_when_isatty.py
src/atdd/coach/shim/tests/test_e006_unit_002_stdin_not_added_when_not_isatty.py
src/atdd/coach/shim/tests/test_e007_smoke_001_sentinel_enables_tui_submission.py
src/atdd/coach/shim/tests/test_e007_unit_001_sentinel_appended_to_correction.py
src/atdd/coach/shim/tests/test_e007_unit_002_sentinel_configurable_per_adapter.py
src/atdd/coach/shim/tests/test_e007_unit_003_existing_e003_tests_pass_with_sentinel_disabled.py
src/atdd/coach/shim/tests/test_e008_smoke_001_delivery_waits_for_tui.py
src/atdd/coach/shim/tests/test_e008_unit_001_run_loop_blocks_poll_until_ready_marker.py
src/atdd/coach/shim/tests/test_e008_unit_002_bootstrap_delay_fallback.py
src/atdd/coach/shim/tests/test_e008_unit_003_ready_marker_configurable.py
src/atdd/coach/spawn/__init__.py
src/atdd/coach/spawn/reviewer_adapter.py
src/atdd/coach/spawn_harness/__init__.py
src/atdd/coach/spawn_harness/renderer.py
src/atdd/coach/spawn_harness/tests/__init__.py
src/atdd/coach/spawn_harness/tests/test_renderer_unit.py
src/atdd/coach/spawn_harness/tests/test_repo_blocks_snapshot.py
src/atdd/coach/templates/ATDD-ISSUE-TEMPLATE.md
src/atdd/coach/templates/ATDD.md
src/atdd/coach/templates/PARENT-ISSUE-TEMPLATE.md
src/atdd/coach/templates/SESSION-LAUNCH-TEMPLATE.md
src/atdd/coach/templates/WMBT-SUBISSUE-TEMPLATE.md
src/atdd/coach/templates/__init__.py
src/atdd/coach/templates/harness/mount-train.mjs
src/atdd/coach/templates/harness/vitest.config.mjs
src/atdd/coach/templates/hooks/__init__.py
src/atdd/coach/templates/hooks/pre-commit
src/atdd/coach/templates/hooks/tests/__init__.py
src/atdd/coach/templates/hooks/tests/conftest.py
src/atdd/coach/templates/hooks/tests/test_C002_smoke_hooks_fire_via_git.py
src/atdd/coach/templates/hooks/tests/test_C002_unit_commit_msg_mass_delete.py
src/atdd/coach/templates/hooks/tests/test_C002_unit_pre_push_bare_mode.py
src/atdd/coach/templates/hooks/tests/test_C003_smoke_prepush_validator.py
src/atdd/coach/templates/hooks/tests/test_C003_unit_prepush_validator.py
src/atdd/coach/templates/hooks/tests/test_M002_unit_prepush_postcommit_plan_validate_planner.py
src/atdd/coach/templates/hooks/tests/test_Y004_smoke_pre_push_version_gate_no_pip.py
src/atdd/coach/templates/hooks/tests/test_Y004_unit_pre_push_version_gate_never_auto_upgrades.py
src/atdd/coach/templates/hooks/tests/test_e012_unit_pre_commit_manifest_exception.py
src/atdd/coach/templates/hooks/tests/test_e022_smoke_001_post_commit_core_bare_unchanged.py
src/atdd/coach/templates/hooks/tests/test_e022_unit_001_post_commit_excludes_slow_marker.py
src/atdd/coach/templates/hooks/tests/test_e022_unit_002_smoke_test_has_slow_marker.py
src/atdd/coach/templates/hooks/tests/test_e022_unit_003_post_commit_trap_restores_core_bare.py
src/atdd/coach/templates/hooks/tests/test_e023_smoke_001_routine_push_zero_bypasses.py
src/atdd/coach/templates/hooks/tests/test_e023_unit_001_skip_all_gates_bypass.py
src/atdd/coach/templates/hooks/tests/test_e023_unit_002_version_gate_uses_repo_minimum.py
src/atdd/coach/templates/hooks/tests/test_e023_unit_003_registry_auto_heal.py
src/atdd/coach/templates/hooks/tests/test_e024_smoke_001_merge_produces_one_publish_success.py
src/atdd/coach/templates/hooks/tests/test_e024_unit_001_atdd_validate_no_issues_trigger.py
src/atdd/coach/templates/hooks/tests/test_e024_unit_002_publish_condition_head_branch_main.py
src/atdd/coach/templates/hooks/tests/test_e026_smoke_001_routine_push_no_bypass.py
src/atdd/coach/templates/hooks/tests/test_e026_unit_001_bypass_audit_table_committed.py
src/atdd/coach/templates/hooks/tests/test_e026_unit_002_retired_flags_absent.py
src/atdd/coach/templates/hooks/tests/test_e026_unit_003_bypass_reason_required.py
src/atdd/coach/templates/hooks/tests/test_e026_unit_004_bypass_audit_jsonl.py
src/atdd/coach/templates/hooks/tests/test_e030_smoke_001_zero_skip_grep_matches.py
src/atdd/coach/templates/hooks/tests/test_e030_unit_001_all_skip_flags_absent.py
src/atdd/coach/templates/hooks/tests/test_e030_unit_002_bypass_reason_absent.py
src/atdd/coach/templates/hooks/tests/test_e031_smoke_001_emergency_cli_wired.py
src/atdd/coach/templates/hooks/tests/test_e031_unit_001_emergency_command.py
src/atdd/coach/templates/hooks/tests/test_e031_unit_002_hook_reads_emergency_bypass.py
src/atdd/coach/templates/hooks/tests/test_pretooluse_classifier_integration.py
src/atdd/coach/templates/workflows/__init__.py
src/atdd/coach/templates/workflows/atdd-auto-phase.yml
src/atdd/coach/utils/__init__.py
src/atdd/coach/utils/coach_config.py
src/atdd/coach/utils/coach_lock.py
src/atdd/coach/utils/config.py
src/atdd/coach/utils/coverage_phase.py
src/atdd/coach/utils/default_branch.py
src/atdd/coach/utils/diagnostics.py
src/atdd/coach/utils/disposition_gate.py
src/atdd/coach/utils/escalation_channel.py
src/atdd/coach/utils/ff_default_branch.py
src/atdd/coach/utils/forbidden_command_classifier.py
src/atdd/coach/utils/git.py
src/atdd/coach/utils/locale_phase.py
src/atdd/coach/utils/manifest.py
src/atdd/coach/utils/multiplexer.py
src/atdd/coach/utils/multiplexer_primer.py
src/atdd/coach/utils/phase_dispatch.py
src/atdd/coach/utils/repo.py
src/atdd/coach/utils/review_report_intake.py
src/atdd/coach/utils/risk_score.py
src/atdd/coach/utils/rule_binding.py
src/atdd/coach/utils/rule_id_registry.py
src/atdd/coach/utils/rule_validator_resolver.py
src/atdd/coach/utils/session_naming.py
src/atdd/coach/utils/session_naming_apply.py
src/atdd/coach/utils/suppression_scanner.py
src/atdd/coach/utils/theme_map.py
src/atdd/coach/utils/theme_scanner.py
src/atdd/coach/utils/train_spec_phase.py
src/atdd/coach/utils/graph/__init__.py
src/atdd/coach/utils/graph/edge_validator.py
src/atdd/coach/utils/graph/graph_builder.py
src/atdd/coach/utils/graph/resolver.py
src/atdd/coach/utils/graph/urn.py
src/atdd/coach/utils/graph/tests/__init__.py
src/atdd/coach/utils/graph/tests/test_get_subgraph_edge_type_exclude.py
src/atdd/coach/utils/graph/tests/test_graph_builder_security_edges.py
src/atdd/coach/utils/graph/tests/test_graph_builder_train_participants.py
src/atdd/coach/utils/graph/tests/test_graph_builder_train_step_edges.py
src/atdd/coach/utils/graph/tests/test_security_resolver.py
src/atdd/coach/utils/graph/tests/test_urn_extension_contract.py
src/atdd/coach/utils/graph/tests/test_urn_security_grammar.py
src/atdd/coach/utils/tests/__init__.py
src/atdd/coach/utils/tests/test_coach_config.py
src/atdd/coach/utils/tests/test_diagnostics.py
src/atdd/coach/utils/tests/test_disposition_gate.py
src/atdd/coach/utils/tests/test_e003_integration_001_spawn_failure_cleans_pane.py
src/atdd/coach/utils/tests/test_e003_smoke_001_coach_invoked_from_worktree_parent.py
src/atdd/coach/utils/tests/test_e003_smoke_001_spawn_failure_cleans_pane_real_cmux.py
src/atdd/coach/utils/tests/test_e003_unit_001_find_worktree_root_walks_up.py
src/atdd/coach/utils/tests/test_e003_unit_002_find_worktree_root_respects_repo_flag.py
src/atdd/coach/utils/tests/test_e003_unit_003_actionable_error_when_no_worktree_found.py
src/atdd/coach/utils/tests/test_e004_smoke_001_worktree_reused_not_duplicated.py
src/atdd/coach/utils/tests/test_e004_unit_001_detect_existing_worktree.py
src/atdd/coach/utils/tests/test_e004_unit_001_rename_submits_via_send_key.py
src/atdd/coach/utils/tests/test_e004_unit_002_coach_reuses_existing_worktree.py
src/atdd/coach/utils/tests/test_e004_unit_002_graceful_uuid_extraction.py
src/atdd/coach/utils/tests/test_e004_unit_003_coach_adds_worktree_when_none_exists.py
src/atdd/coach/utils/tests/test_e005_smoke_001_primer_printed_in_real_cmux_session.py
src/atdd/coach/utils/tests/test_e005_unit_001_primer_printed_when_mux_detected.py
src/atdd/coach/utils/tests/test_e005_unit_002_primer_text_contains_key_commands.py
src/atdd/coach/utils/tests/test_e005_unit_004_primer_not_reprinted_in_same_session.py
src/atdd/coach/utils/tests/test_escalation_channel.py
src/atdd/coach/utils/tests/test_forbidden_command_classifier.py
src/atdd/coach/utils/tests/test_get_code_roots.py
src/atdd/coach/utils/tests/test_git.py
src/atdd/coach/utils/tests/test_m001_smoke_001_live_session_naming_apply_no_slash_rename.py
src/atdd/coach/utils/tests/test_m001_unit_001_apply_canonical_name_no_slash_rename.py
src/atdd/coach/utils/tests/test_m001_unit_002_multiplexer_rename_still_called.py
src/atdd/coach/utils/tests/test_m001_unit_003_verify_after_send_no_rename_accepted.py
src/atdd/coach/utils/tests/test_multiplexer.py
src/atdd/coach/utils/tests/test_multiplexer_persona_surface.py
src/atdd/coach/utils/tests/test_phase_dispatch.py
src/atdd/coach/utils/tests/test_r004_smoke_001_real_linked_worktree_recognized_worktree_ready.py
src/atdd/coach/utils/tests/test_r004_unit_001_detector_resolves_linked_worktree_common_dir.py
src/atdd/coach/utils/tests/test_repo_rule_walker.py
src/atdd/coach/utils/tests/test_risk_score.py
src/atdd/coach/utils/tests/test_rule_binding.py
src/atdd/coach/utils/tests/test_rule_id_registry.py
src/atdd/coach/utils/tests/test_rule_validator_resolver.py
src/atdd/coach/utils/tests/test_security_walker.py
src/atdd/coach/utils/tests/test_session_naming.py
src/atdd/coach/utils/tests/test_suppression_scanner.py
src/atdd/coach/validators/__init__.py
src/atdd/coach/validators/_violation.py
src/atdd/coach/validators/claude_md_validators.py
src/atdd/coach/validators/conftest.py
src/atdd/coach/validators/red_phase_leak_scanner.py
src/atdd/coach/validators/rule_id_emission_extractor.py
src/atdd/coach/validators/shared_fixtures.py
src/atdd/coach/validators/test_C001_roundtrip.py
src/atdd/coach/validators/test_C002_project_board.py
src/atdd/coach/validators/test_auto_phase_workflow_exists.py
src/atdd/coach/validators/test_babysit_allowlist_consistency.py
src/atdd/coach/validators/test_branch_protection.py
src/atdd/coach/validators/test_commit_trailers_binding.py
src/atdd/coach/validators/test_config_themes.py
src/atdd/coach/validators/test_custom_theme_validation.py
src/atdd/coach/validators/test_d001_unit_001_six_schemas_exist.py
src/atdd/coach/validators/test_d001_unit_002_fixtures_validate.py
src/atdd/coach/validators/test_d002_unit_001_review_report_schema_committed.py
src/atdd/coach/validators/test_d002_unit_001_runtime_layout_doc_committed.py
src/atdd/coach/validators/test_d002_unit_002_pass_blocked_when_ac_not_covered.py
src/atdd/coach/validators/test_d002_unit_003_pass_blocked_with_strict_finding.py
src/atdd/coach/validators/test_d002_unit_004_rule_id_severity_matches_registry.py
src/atdd/coach/validators/test_d003_unit_001_five_phase_reviewer_prompts.py
src/atdd/coach/validators/test_d003_unit_001_validator_invocation_doc_committed.py
src/atdd/coach/validators/test_d004_unit_001_event_semantics_doc_complete.py
src/atdd/coach/validators/test_decommissioned_subcommand_help.py
src/atdd/coach/validators/test_e001_unit_001_spawn_cli_launches_session.py
src/atdd/coach/validators/test_e003_integration_001_block_verdict_fails_the_workflow.py
src/atdd/coach/validators/test_e003_integration_002_annotate_verdict_passes_with_comment.py
src/atdd/coach/validators/test_e003_unit_001_workflow_file_exists_with_correct_triggers.py
src/atdd/coach/validators/test_e005_integration_001_init_emits_only_parseable_atdd_commands.py
src/atdd/coach/validators/test_e005_integration_002_drift_validator_fires_in_validate_coach.py
src/atdd/coach/validators/test_e005_smoke_001_real_validate_coach_runs_extended_drift_validator.py
src/atdd/coach/validators/test_e005_unit_001_drift_scan_captures_all_atdd_lines.py
src/atdd/coach/validators/test_e005_unit_002_drift_validator_flags_unknown_subcommand.py
src/atdd/coach/validators/test_e009_runtime_artifacts_blocked.py
src/atdd/coach/validators/test_e009_unit_001_convention_declares_runtime_artifacts_rule.py
src/atdd/coach/validators/test_e022_smoke_001_live_claude_md_contains_no_atdd_skip_references.py
src/atdd/coach/validators/test_e022_unit_001_claude_md_contains_no_atdd_skip_references.py
src/atdd/coach/validators/test_e022_unit_002_claude_md_references_operator_emergency_bypass_doc.py
src/atdd/coach/validators/test_e022_unit_003_upgrade_banner_does_not_suggest_force.py
src/atdd/coach/validators/test_e023_smoke_001_live_claude_md_line_count_within_budget.py
src/atdd/coach/validators/test_e023_unit_001_claude_md_is_at_most_250_lines.py
src/atdd/coach/validators/test_e023_unit_002_claude_md_retains_atdd_lifecycle_and_command_pointers.py
src/atdd/coach/validators/test_e024_smoke_001_live_operator_emergency_bypass_doc_present_and_correct.py
src/atdd/coach/validators/test_e024_unit_001_operator_emergency_bypass_doc_exists.py
src/atdd/coach/validators/test_e024_unit_002_operator_emergency_bypass_doc_documents_cli_not_env_var.py
src/atdd/coach/validators/test_e026_bypass_inventory_guard.py
src/atdd/coach/validators/test_enrich_wagon_registry.py
src/atdd/coach/validators/test_fix_hint_completeness.py
src/atdd/coach/validators/test_github_client_mock_spec.py
src/atdd/coach/validators/test_init_substrate_mode.py
src/atdd/coach/validators/test_init_themes_prompt.py
src/atdd/coach/validators/test_issue_advancement.py
src/atdd/coach/validators/test_issue_gate_completion.py
src/atdd/coach/validators/test_issue_validation.py
src/atdd/coach/validators/test_l003_smoke_001_dispatched_agent_bash_log_contains_no_atdd_skip_invocations.py
src/atdd/coach/validators/test_m002_smoke_001_live_observer_rules_pass_validator.py
src/atdd/coach/validators/test_m002_unit_spawn_non_interactive_validator.py
src/atdd/coach/validators/test_m003_unit_001_rule_13_bash_auto_approve.py
src/atdd/coach/validators/test_m003_unit_002_rule_14_canonical_naming_drift.py
src/atdd/coach/validators/test_m003_unit_003_rule_15_layout_drift.py
src/atdd/coach/validators/test_m003_unit_004_rule_16_smoke_skip.py
src/atdd/coach/validators/test_manifest_write_discipline.py
src/atdd/coach/validators/test_no_hardcoded_rule_severity.py
src/atdd/coach/validators/test_no_red_phase_tests_in_consumer_entry_points.py
src/atdd/coach/validators/test_no_stale_suppressions.py
src/atdd/coach/validators/test_observer_universal_cospawn.py
src/atdd/coach/validators/test_open_issue_compliance.py
src/atdd/coach/validators/test_orchestration_session_naming.py
src/atdd/coach/validators/test_pr_base_branch.py
src/atdd/coach/validators/test_pr_mass_delete_guard.py
src/atdd/coach/validators/test_pr_merge_blocks_pre_smoke_close.py
src/atdd/coach/validators/test_pr_phase_alignment.py
src/atdd/coach/validators/test_pytest_invocation_form.py
src/atdd/coach/validators/test_r002_smoke_001_atdd_validate_coach_includes_size_budget_rule.py
src/atdd/coach/validators/test_r002_unit_001_validator_fails_when_claude_md_exceeds_budget.py
src/atdd/coach/validators/test_r002_unit_002_validator_passes_when_claude_md_within_budget.py
src/atdd/coach/validators/test_r003_smoke_001_atdd_validate_coach_includes_no_bypass_advertising_rule.py
src/atdd/coach/validators/test_r003_unit_001_validator_fails_when_claude_md_contains_atdd_skip_token.py
src/atdd/coach/validators/test_r003_unit_002_validator_passes_when_claude_md_is_clean.py
src/atdd/coach/validators/test_readonly_commands_no_writes.py
src/atdd/coach/validators/test_registry.py
src/atdd/coach/validators/test_release_versioning.py
src/atdd/coach/validators/test_required_label_set.py
src/atdd/coach/validators/test_review_gate_ci_safe.py
src/atdd/coach/validators/test_rule_disposition_required.py
src/atdd/coach/validators/test_rule_id_registry_coherence.py
src/atdd/coach/validators/test_rule_id_uniqueness.py
src/atdd/coach/validators/test_rule_validator_binding.py
src/atdd/coach/validators/test_spawn_non_interactive_validator.py
src/atdd/coach/validators/test_sync_theme_block.py
src/atdd/coach/validators/test_theme_scanner.py
src/atdd/coach/validators/test_toolkit_source_layout_assumptions.py
src/atdd/coach/validators/test_traceability.py
src/atdd/coach/validators/test_train_registry.py
src/atdd/coach/validators/test_unlabeled_open_issues.py
src/atdd/coach/validators/test_update_feature_paths.py
src/atdd/coach/validators/test_urn_traceability.py
src/atdd/coach/validators/test_validate_contract_consumers.py
src/atdd/coach/validators/test_validator_test_isolation.py
src/atdd/coach/validators/test_wheel_completeness.py
src/atdd/coach/validators/test_workflow_consistency.py
src/atdd/coach/validators/test_workflow_template_command_drift.py
src/atdd/coach/validators/test_worktree_enforcement.py
src/atdd/coach/validators/test_y003_smoke_001_guard_catches_polluter.py
src/atdd/coach/validators/test_y003_unit_001_repo_root_bare_guard.py
src/atdd/coach/validators/fixtures/minimal_repo/__init__.py
src/atdd/coach/validators/fixtures/minimal_repo/test_minimal_pass.py
src/atdd/coach/validators/fixtures/toolkit_source_layout/pattern_a_clean.py
src/atdd/coach/validators/fixtures/toolkit_source_layout/pattern_a_violation.py
src/atdd/coach/validators/fixtures/toolkit_source_layout/pattern_b_clean.py
src/atdd/coach/validators/fixtures/toolkit_source_layout/pattern_b_violation.py
src/atdd/coach/validators/tests/__init__.py
src/atdd/coach/validators/tests/test_E025_regression_validator_red_phase_leak.py
src/atdd/coach/validators/tests/test_fix_hint_completeness_helpers.py
src/atdd/coach/validators/tests/test_github_client_mock_spec_validator.py
src/atdd/coach/validators/tests/test_github_client_stub_autofix.py
src/atdd/coach/validators/tests/test_issue_advancement_non_lifecycle.py
src/atdd/coach/validators/tests/test_phase_3a_rules_array_coverage.py
src/atdd/coach/validators/tests/test_pr_base_branch_helpers.py
src/atdd/coach/validators/tests/test_pr_merge_blocks_pre_smoke_close_helpers.py
src/atdd/coach/validators/tests/test_rule_id_emission_extractor.py
src/atdd/coach/validators/tests/test_rule_id_legacy_grammar.py
src/atdd/coach/validators/tests/test_rule_id_uniqueness_helpers.py
src/atdd/coach/validators/tests/test_smoke_rules_discoverability.py
src/atdd/coach/validators/tests/test_violation.py
src/atdd/coach/validators/tests/test_wheel_completeness_helpers.py
src/atdd/coach/validators/tests/test_workflow_template_command_drift_helpers.py
src/atdd/coach/wrappers/__init__.py
src/atdd/coach/wrappers/atdd_cmux_send.py
src/atdd/coach/wrappers/tests/__init__.py
src/atdd/coach/wrappers/tests/test_e004_smoke_001_shim_console_script_real_exit_codes.py
src/atdd/coach/wrappers/tests/test_e004_unit_001_launch_intent_payload_rejected.py
src/atdd/coach/wrappers/tests/test_e004_unit_002_non_launch_payload_passthrough.py
src/atdd/coach/wrappers/tests/test_e004_unit_003_escape_flag_bypasses_classifier.py
src/atdd/coder/__init__.py
src/atdd/coder/conventions/adapter.recipe.yaml
src/atdd/coder/conventions/backend.convention.yaml
src/atdd/coder/conventions/boundaries.convention.yaml
src/atdd/coder/conventions/commons.convention.yaml
src/atdd/coder/conventions/complexity.recipe.yaml
src/atdd/coder/conventions/component-naming.convention.yaml
src/atdd/coder/conventions/composition.convention.yaml
src/atdd/coder/conventions/coverage.convention.yaml
src/atdd/coder/conventions/dead-code.convention.yaml
src/atdd/coder/conventions/design.convention.yaml
src/atdd/coder/conventions/design.recipe.yaml
src/atdd/coder/conventions/dto.convention.yaml
src/atdd/coder/conventions/duplication.convention.yaml
src/atdd/coder/conventions/error-response.convention.yaml
src/atdd/coder/conventions/frontend.convention.yaml
src/atdd/coder/conventions/green.convention.yaml
src/atdd/coder/conventions/logging.convention.yaml
src/atdd/coder/conventions/performance.convention.yaml
src/atdd/coder/conventions/presentation.convention.yaml
src/atdd/coder/conventions/refactor.convention.yaml
src/atdd/coder/conventions/security.convention.yaml
src/atdd/coder/conventions/technology.convention.yaml
src/atdd/coder/conventions/thinness.recipe.yaml
src/atdd/coder/conventions/train.convention.yaml
src/atdd/coder/conventions/verification.protocol.yaml
src/atdd/coder/conventions/tests/__init__.py
src/atdd/coder/conventions/tests/test_adapter_recipe.py
src/atdd/coder/conventions/tests/test_complexity_recipe.py
src/atdd/coder/conventions/tests/test_component_taxonomy.py
src/atdd/coder/conventions/tests/test_component_urn_naming.py
src/atdd/coder/conventions/tests/test_thinness_recipe.py
src/atdd/coder/schemas/design_system.schema.json
src/atdd/coder/utils/__init__.py
src/atdd/coder/utils/python_file_walker.py
src/atdd/coder/utils/tests/__init__.py
src/atdd/coder/utils/tests/test_python_file_walker.py
src/atdd/coder/validators/__init__.py
src/atdd/coder/validators/_ast_tsx.py
src/atdd/coder/validators/conftest.py
src/atdd/coder/validators/presentation_ratchet.py
src/atdd/coder/validators/route_train_wagon_analyzer.py
src/atdd/coder/validators/test_commons_structure.py
src/atdd/coder/validators/test_complexity.py
src/atdd/coder/validators/test_complexity_typescript.py
src/atdd/coder/validators/test_composition_completeness.py
src/atdd/coder/validators/test_contract_driven_http.py
src/atdd/coder/validators/test_cross_language_consistency.py
src/atdd/coder/validators/test_dead_code_python.py
src/atdd/coder/validators/test_dead_code_typescript.py
src/atdd/coder/validators/test_design_system_compliance.py
src/atdd/coder/validators/test_dto_testing_patterns.py
src/atdd/coder/validators/test_duplication_detector.py
src/atdd/coder/validators/test_duplication_detector_typescript.py
src/atdd/coder/validators/test_error_response_compliance.py
src/atdd/coder/validators/test_frontend_composition_root.py
src/atdd/coder/validators/test_frontend_security_patterns.py
src/atdd/coder/validators/test_god_hook_elimination.py
src/atdd/coder/validators/test_green_cross_stack_layers.py
src/atdd/coder/validators/test_green_layer_dependencies.py
src/atdd/coder/validators/test_green_python_layer_structure.py
src/atdd/coder/validators/test_green_supabase_layer_structure.py
src/atdd/coder/validators/test_gsap_layer_usage.py
src/atdd/coder/validators/test_hierarchy_coverage.py
src/atdd/coder/validators/test_i18n_runtime.py
src/atdd/coder/validators/test_import_boundaries.py
src/atdd/coder/validators/test_init_file_urns.py
src/atdd/coder/validators/test_no_silent_exception_swallowing_python.py
src/atdd/coder/validators/test_no_silent_exception_swallowing_typescript.py
src/atdd/coder/validators/test_no_stub_presentation_returns.py
src/atdd/coder/validators/test_page_elimination.py
src/atdd/coder/validators/test_preact_layer_boundaries.py
src/atdd/coder/validators/test_presentation_convention.py
src/atdd/coder/validators/test_presentation_ratchet_requires_smoke.py
src/atdd/coder/validators/test_python_architecture.py
src/atdd/coder/validators/test_quality_metrics.py
src/atdd/coder/validators/test_quality_metrics_typescript.py
src/atdd/coder/validators/test_query_count.py
src/atdd/coder/validators/test_route_train_compliance.py
src/atdd/coder/validators/test_route_train_wagon_coverage.py
src/atdd/coder/validators/test_security_patterns.py
src/atdd/coder/validators/test_station_master_pattern.py
src/atdd/coder/validators/test_structured_logging.py
src/atdd/coder/validators/test_train_composition_smoke.py
src/atdd/coder/validators/test_train_infrastructure.py
src/atdd/coder/validators/test_train_urns.py
src/atdd/coder/validators/test_train_yaml_render_metadata.py
src/atdd/coder/validators/test_typescript_architecture.py
src/atdd/coder/validators/test_usecase_structure.py
src/atdd/coder/validators/test_wagon_boundaries.py
src/atdd/coder/validators/test_wagon_boundaries_typescript.py
src/atdd/coder/validators/test_wagon_trains_export_shape.py
src/atdd/coder/validators/fixtures/composition_completeness/python_fail_setter/python/bad_match/orchestrate_bad/composition.py
src/atdd/coder/validators/fixtures/composition_completeness/python_fail_setter/python/bad_match/orchestrate_bad/src/application/play_match_use_case.py
src/atdd/coder/validators/fixtures/composition_completeness/python_fail_setter/python/bad_match/orchestrate_bad/src/domain/match.py
src/atdd/coder/validators/fixtures/composition_completeness/python_fail_setter/python/bad_match/orchestrate_bad/src/integration/match_repository.py
src/atdd/coder/validators/fixtures/composition_completeness/python_fail_setter/python/bad_match/orchestrate_bad/src/presentation/controllers/match_controller.py
src/atdd/coder/validators/fixtures/composition_completeness/python_pass/python/play_match/orchestrate_match/composition.py
src/atdd/coder/validators/fixtures/composition_completeness/python_pass/python/play_match/orchestrate_match/src/application/play_match_use_case.py
src/atdd/coder/validators/fixtures/composition_completeness/python_pass/python/play_match/orchestrate_match/src/domain/match.py
src/atdd/coder/validators/fixtures/composition_completeness/python_pass/python/play_match/orchestrate_match/src/integration/match_repository.py
src/atdd/coder/validators/fixtures/composition_completeness/python_pass/python/play_match/orchestrate_match/src/presentation/controllers/match_controller.py
src/atdd/coder/validators/fixtures/composition_completeness/python_pass/python/rankings/calculate_elo/composition.py
src/atdd/coder/validators/fixtures/composition_completeness/python_pass/python/rankings/calculate_elo/src/domain/elo_rating.py
src/atdd/coder/validators/fixtures/composition_completeness/python_pass/python/rankings/calculate_elo/src/integration/elo_repository.py
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/tsconfig.json
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/arena/show-forecast/application/useForecast.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/arena/show-forecast/domain/forecast.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/arena/show-forecast/integration/ForecastGateway.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/arena/show-forecast/presentation/ForecastView.tsx
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/application/useCameoBalance.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/application/useFinalsRewards.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/domain/cameo-types.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/domain/finals-rewards-types.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/integration/CameoRepository.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/integration/FinalsRewardsRepository.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/presentation/FinalsRewardCard.tsx
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/presentation/ProfilePage.tsx
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/manage-profile/display-profile/presentation/ProfileView.tsx
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/reveal-status/display-leaderboard/index.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/reveal-status/display-leaderboard/application/usePlayerRank.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/reveal-status/display-leaderboard/domain/rank.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/reveal-status/display-leaderboard/integration/LeaderboardRepository.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/reveal-status/display-leaderboard/presentation/LeaderboardPage.tsx
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/score/compute-elo/domain/elo.ts
src/atdd/coder/validators/fixtures/composition_completeness/typescript_repo/web/src/score/compute-elo/integration/EloRepository.ts
src/atdd/coder/validators/fixtures/route_train_wagon/dynamic_unknown.tsx
src/atdd/coder/validators/fixtures/route_train_wagon/ghost_train.tsx
src/atdd/coder/validators/fixtures/route_train_wagon/ghost_wagon.yaml
src/atdd/coder/validators/fixtures/route_train_wagon/good_router.tsx
src/atdd/coder/validators/fixtures/silent_swallow/python_clean/observed_handlers.py
src/atdd/coder/validators/fixtures/silent_swallow/python_violations/seek_opponent.py
src/atdd/coder/validators/fixtures/silent_swallow/typescript_clean/observedHandlers.ts
src/atdd/coder/validators/fixtures/silent_swallow/typescript_violations/seekOpponent.ts
src/atdd/coder/validators/fixtures/stub_presentation/arrow_null.tsx
src/atdd/coder/validators/fixtures/stub_presentation/conditional_null_ok.tsx
src/atdd/coder/validators/fixtures/stub_presentation/empty_div.tsx
src/atdd/coder/validators/fixtures/stub_presentation/empty_fragment.tsx
src/atdd/coder/validators/fixtures/stub_presentation/fn_return_null.tsx
src/atdd/coder/validators/fixtures/stub_presentation/passthrough_children_ok.tsx
src/atdd/coder/validators/fixtures/stub_presentation/ternary_both_null.tsx
src/atdd/coder/validators/fixtures/stub_presentation/jel_app_repro/AuthGateShell.tsx
src/atdd/coder/validators/tests/__init__.py
src/atdd/coder/validators/tests/test_dead_code_python_relative_imports.py
src/atdd/coder/validators/tests/test_dead_code_typescript_unit.py
src/atdd/coder/validators/tests/test_hierarchy_coverage_config_driven.py
src/atdd/coder/validators/tests/test_hierarchy_coverage_smoke_unknown_stack.py
src/atdd/coder/validators/tests/test_quality_metrics_duplication.py
src/atdd/coder/validators/tests/test_structured_logging_unit.py
src/atdd/coder/validators/tests/fixtures/flat_package/__init__.py
src/atdd/coder/validators/tests/fixtures/flat_package/app.py
src/atdd/coder/validators/tests/fixtures/flat_package/models.py
src/atdd/coder/validators/tests/fixtures/flat_package/runner.py
src/atdd/coder/validators/tests/fixtures/from_dot_import_x/python/app.py
src/atdd/coder/validators/tests/fixtures/from_dot_import_x/python/pkg/__init__.py
src/atdd/coder/validators/tests/fixtures/from_dot_import_x/python/pkg/models.py
src/atdd/coder/validators/tests/fixtures/from_dot_import_x/python/pkg/runner.py
src/atdd/coder/validators/tests/fixtures/relative_imports_regression/python/app.py
src/atdd/coder/validators/tests/fixtures/relative_imports_regression/python/trains/__init__.py
src/atdd/coder/validators/tests/fixtures/relative_imports_regression/python/trains/models.py
src/atdd/coder/validators/tests/fixtures/relative_imports_regression/python/trains/runner.py
src/atdd/planner/__init__.py
src/atdd/planner/commands/__init__.py
src/atdd/planner/commands/plan.py
src/atdd/planner/commands/tests/__init__.py
src/atdd/planner/commands/tests/test_c001_unit_001_json_output_has_correct_keys.py
src/atdd/planner/commands/tests/test_c001_unit_002_json_sources_reflect_parsed_input.py
src/atdd/planner/commands/tests/test_c002_unit_001_ast_scan_no_git_import.py
src/atdd/planner/commands/tests/test_c002_unit_002_ast_scan_no_coach_import.py
src/atdd/planner/commands/tests/test_d001_unit_001_help_lists_allowed_flags.py
src/atdd/planner/commands/tests/test_d001_unit_002_no_public_subcommands.py
src/atdd/planner/commands/tests/test_e001_unit_001_text_flag_yields_text_source.py
src/atdd/planner/commands/tests/test_e001_unit_002_text_and_positional_combined.py
src/atdd/planner/commands/tests/test_e002_unit_001_md_classifies_as_file.py
src/atdd/planner/commands/tests/test_e002_unit_002_all_text_extensions_classify_as_file.py
src/atdd/planner/commands/tests/test_e003_unit_001_pdf_classifies_as_rich_doc.py
src/atdd/planner/commands/tests/test_e003_unit_002_plan_module_has_no_pdf_import.py
src/atdd/planner/commands/tests/test_e004_unit_001_dot_classifies_as_codebase.py
src/atdd/planner/commands/tests/test_e004_unit_002_named_directory_classifies_as_codebase.py
src/atdd/planner/commands/tests/test_e005_unit_001_no_args_exits_2.py
src/atdd/planner/commands/tests/test_e005_unit_002_text_only_is_not_no_args.py
src/atdd/planner/conventions/acceptance.convention.yaml
src/atdd/planner/conventions/appendix.convention.yaml
src/atdd/planner/conventions/artifact-naming.convention.yaml
src/atdd/planner/conventions/component.convention.yaml
src/atdd/planner/conventions/coverage.convention.yaml
src/atdd/planner/conventions/criteria.convention.yaml
src/atdd/planner/conventions/feature.convention.yaml
src/atdd/planner/conventions/interface.convention.yaml
src/atdd/planner/conventions/issue-body.convention.yaml
src/atdd/planner/conventions/steps.convention.yaml
src/atdd/planner/conventions/train.convention.yaml
src/atdd/planner/conventions/wagon.convention.yaml
src/atdd/planner/conventions/wmbt.convention.yaml
src/atdd/planner/schemas/acceptance.schema.json
src/atdd/planner/schemas/appendix.schema.json
src/atdd/planner/schemas/component.schema.json
src/atdd/planner/schemas/feature.schema.json
src/atdd/planner/schemas/train.schema.json
src/atdd/planner/schemas/wagon.schema.json
src/atdd/planner/schemas/wmbt.schema.json
src/atdd/planner/validators/__init__.py
src/atdd/planner/validators/conftest.py
src/atdd/planner/validators/test_custom_themes.py
src/atdd/planner/validators/test_custom_themes_schema.py
src/atdd/planner/validators/test_draft_wagon_registry.py
src/atdd/planner/validators/test_feedback_loop_smoke_closes_the_loop.py
src/atdd/planner/validators/test_hierarchy_coverage.py
src/atdd/planner/validators/test_issue_body_has_graph_context.py
src/atdd/planner/validators/test_issue_deps_have_classification_tags.py
src/atdd/planner/validators/test_plan_cross_refs.py
src/atdd/planner/validators/test_plan_uniqueness.py
src/atdd/planner/validators/test_plan_urn_resolution.py
src/atdd/planner/validators/test_plan_wagons.py
src/atdd/planner/validators/test_smoke_synthetic_fixture_bypass.py
src/atdd/planner/validators/test_train_validation.py
src/atdd/planner/validators/test_wagon_urn_chain.py
src/atdd/planner/validators/test_wmbt_consistency.py
src/atdd/planner/validators/test_wmbt_has_smoke_acceptance.py
src/atdd/planner/validators/test_wmbt_vocabulary.py
src/atdd/planner/validators/tests/__init__.py
src/atdd/planner/validators/tests/test_check_graph_context_unit.py
src/atdd/planner/validators/tests/test_e027_smoke_001_audit_covers_all_current_smoke_acceptances.py
src/atdd/planner/validators/tests/test_e027_unit_001_audit_doc_exists_with_required_structure.py
src/atdd/planner/validators/tests/test_e028_integration_001_no_false_positive_on_real_entry_point.py
src/atdd/planner/validators/tests/test_e028_smoke_001_validate_planner_clean_after_retrofit.py
src/atdd/planner/validators/tests/test_e028_unit_001_convention_has_real_entry_point_rule.py
src/atdd/planner/validators/tests/test_e028_unit_002_convention_has_producer_only_rule.py
src/atdd/planner/validators/tests/test_e028_unit_003_convention_has_handoff_coverage_rule.py
src/atdd/planner/validators/tests/test_e028_unit_004_validator_detects_fakemultiplexer.py
src/atdd/planner/validators/tests/test_e028_unit_005_validator_detects_stub_popen_command.py
src/atdd/planner/validators/tests/test_e029_integration_001_retrofitted_smoke_tests_pass.py
src/atdd/planner/validators/tests/test_e029_smoke_001_retrofitted_smokes_pass_in_ci_without_bypasses.py
src/atdd/planner/validators/tests/test_e029_unit_001_e003_smoke_001_has_no_fakemultiplexer.py
src/atdd/planner/validators/tests/test_e029_unit_002_e003_smoke_002_asserts_on_stdout_not_only_log.py
src/atdd/planner/validators/tests/test_e029_unit_003_e003_smoke_001_uses_real_spawn_entrypoint.py
src/atdd/planner/validators/tests/test_feedback_loop_smoke_closes_the_loop_helpers.py
src/atdd/planner/validators/tests/test_l002_smoke_001_meta_walker_zero_hits_on_post_retrofit_repo.py
src/atdd/planner/validators/tests/test_l002_unit_001_meta_walker_function_exists_and_classifies.py
src/atdd/planner/validators/tests/test_m002_unit_001_smoke_audit_has_future_tracking_section.py
src/atdd/planner/validators/tests/test_wmbt_has_smoke_acceptance_helpers.py
src/atdd/runners/__init__.py
src/atdd/runners/metric_runner.py
src/atdd/runners/security_runner.py
src/atdd/runners/test_metric_runner.py
src/atdd/runners/metrics/__init__.py
src/atdd/runners/metrics/hardcoded_theme_map_literal_count.py
src/atdd/runners/tests/__init__.py
src/atdd/runners/tests/test_hardcoded_theme_map_literal_count.py
src/atdd/runners/tests/test_metric_runner_unit.py
src/atdd/runners/tests/test_security_runner_unit.py
src/atdd/runners/tests/test_security_validation.py
src/atdd/tester/__init__.py
src/atdd/tester/conventions/acceptance-measurability.recipe.yaml
src/atdd/tester/conventions/acceptance-phase.recipe.yaml
src/atdd/tester/conventions/acceptance-rule-block.recipe.yaml
src/atdd/tester/conventions/acceptance-test-headers.recipe.yaml
src/atdd/tester/conventions/acceptance-violation.convention.yaml
src/atdd/tester/conventions/artifact.convention.yaml
src/atdd/tester/conventions/contract.convention.yaml
src/atdd/tester/conventions/coverage.convention.yaml
src/atdd/tester/conventions/filename.convention.yaml
src/atdd/tester/conventions/hermetic-integration-contract.recipe.yaml
src/atdd/tester/conventions/hermetic-live-smoke-pairing.recipe.yaml
src/atdd/tester/conventions/metric-implementation.recipe.yaml
src/atdd/tester/conventions/migration.convention.yaml
src/atdd/tester/conventions/red.convention.yaml
src/atdd/tester/conventions/routing.convention.yaml
src/atdd/tester/conventions/security-acceptance-binding.recipe.yaml
src/atdd/tester/conventions/security.convention.yaml
src/atdd/tester/conventions/smoke.convention.yaml
src/atdd/tester/conventions/telemetry.convention.yaml
src/atdd/tester/conventions/test-isolation.convention.yaml
src/atdd/tester/conventions/train.convention.yaml
src/atdd/tester/schemas/a11y.tmpl.json
src/atdd/tester/schemas/artifact.schema.json
src/atdd/tester/schemas/contract.schema.json
src/atdd/tester/schemas/contract.tmpl.json
src/atdd/tester/schemas/db.tmpl.json
src/atdd/tester/schemas/e2e.tmpl.json
src/atdd/tester/schemas/edge_function.tmpl.json
src/atdd/tester/schemas/event.tmpl.json
src/atdd/tester/schemas/http.tmpl.json
src/atdd/tester/schemas/job.tmpl.json
src/atdd/tester/schemas/load.tmpl.json
src/atdd/tester/schemas/locale_manifest.schema.json
src/atdd/tester/schemas/metric.tmpl.json
src/atdd/tester/schemas/pack.schema.json
src/atdd/tester/schemas/realtime.tmpl.json
src/atdd/tester/schemas/rls.tmpl.json
src/atdd/tester/schemas/script.tmpl.json
src/atdd/tester/schemas/sec.tmpl.json
src/atdd/tester/schemas/storage.tmpl.json
src/atdd/tester/schemas/telemetry.schema.json
src/atdd/tester/schemas/telemetry_tracking_manifest.schema.json
src/atdd/tester/schemas/test_filename.schema.json
src/atdd/tester/schemas/test_intent.schema.json
src/atdd/tester/schemas/train-render-harness-result.schema.json
src/atdd/tester/schemas/unit.tmpl.json
src/atdd/tester/schemas/visual.tmpl.json
src/atdd/tester/schemas/ws.tmpl.json
src/atdd/tester/substrate/__init__.py
src/atdd/tester/substrate/plugin.py
src/atdd/tester/substrate/tests/__init__.py
src/atdd/tester/substrate/tests/test_plugin_integration.py
src/atdd/tester/substrate/tests/test_plugin_unit.py
src/atdd/tester/substrate/tests/test_security_plugin_integration.py
src/atdd/tester/utils/__init__.py
src/atdd/tester/utils/filename.py
src/atdd/tester/validators/__init__.py
src/atdd/tester/validators/_acceptance_walker.py
src/atdd/tester/validators/_no_polluting_patterns.py
src/atdd/tester/validators/cleanup_duplicate_headers.py
src/atdd/tester/validators/cleanup_duplicate_headers_v2.py
src/atdd/tester/validators/conftest.py
src/atdd/tester/validators/coverage_gap_report.py
src/atdd/tester/validators/fix_dual_ac_references.py
src/atdd/tester/validators/remove_duplicate_lines.py
src/atdd/tester/validators/test_acceptance_disposition.py
src/atdd/tester/validators/test_acceptance_measurable.py
src/atdd/tester/validators/test_acceptance_phase.py
src/atdd/tester/validators/test_acceptance_urn_filename_mapping.py
src/atdd/tester/validators/test_acceptance_urn_separator.py
src/atdd/tester/validators/test_artifact_naming_category.py
src/atdd/tester/validators/test_contract_schema_compliance.py
src/atdd/tester/validators/test_contract_security.py
src/atdd/tester/validators/test_contracts_structure.py
src/atdd/tester/validators/test_coverage_adequacy.py
src/atdd/tester/validators/test_dual_ac_reference.py
src/atdd/tester/validators/test_fixture_validity.py
src/atdd/tester/validators/test_hermetic_integration_contract.py
src/atdd/tester/validators/test_hermetic_live_smoke_pairing.py
src/atdd/tester/validators/test_hierarchy_coverage.py
src/atdd/tester/validators/test_isolation.py
src/atdd/tester/validators/test_locale_coverage.py
src/atdd/tester/validators/test_metric_implementation.py
src/atdd/tester/validators/test_migration_coverage.py
src/atdd/tester/validators/test_migration_criteria.py
src/atdd/tester/validators/test_migration_generation.py
src/atdd/tester/validators/test_no_polluting_patterns.py
src/atdd/tester/validators/test_presentation_has_behavioral_test.py
src/atdd/tester/validators/test_presentation_smoke_coverage.py
src/atdd/tester/validators/test_python_test_naming.py
src/atdd/tester/validators/test_red_layer_validation.py
src/atdd/tester/validators/test_red_python_layer_structure.py
src/atdd/tester/validators/test_red_supabase_layer_structure.py
src/atdd/tester/validators/test_repo_validator_binding.py
src/atdd/tester/validators/test_security_ref_binding.py
src/atdd/tester/validators/test_smoke_coverage.py
src/atdd/tester/validators/test_smoke_no_collaborator_substitution.py
src/atdd/tester/validators/test_telemetry_structure.py
src/atdd/tester/validators/test_train_backend_e2e.py
src/atdd/tester/validators/test_train_completeness.py
src/atdd/tester/validators/test_train_e2e_existence.py
src/atdd/tester/validators/test_train_frontend_e2e.py
src/atdd/tester/validators/test_train_frontend_python.py
src/atdd/tester/validators/test_train_renders_content.py
src/atdd/tester/validators/test_train_route_smoke_coverage.py
src/atdd/tester/validators/test_typescript_test_naming.py
src/atdd/tester/validators/test_typescript_test_structure.py
src/atdd/tester/validators/test_urn_spec_v3.py
src/atdd/tester/validators/fixtures/phase_dispatch/mixed_phases.yaml
src/atdd/tester/validators/fixtures/train_renders_content/fail_empty/harness_output.json
src/atdd/tester/validators/fixtures/train_renders_content/fail_stub/harness_output.json
src/atdd/tester/validators/fixtures/train_renders_content/harness_error/harness_output.json
src/atdd/tester/validators/fixtures/train_renders_content/pass/harness_output.json
src/atdd/tester/validators/tests/__init__.py
src/atdd/tester/validators/tests/test_acceptance_violation_fixtures.py
src/atdd/tester/validators/tests/test_hermetic_integration_fixtures.py
src/atdd/tester/validators/tests/test_smoke_no_collaborator_substitution_helpers.py
src/atdd/tests/__init__.py
src/atdd/tests/test_Y005_smoke_upgrade_messaging_install_method_aware.py
src/atdd/tests/test_Y005_unit_upgrade_messaging_install_method_aware.py
src/atdd/tests/test_version_check.py