From 8cf4b57a74a2f86da0874718c5baf0e45568ca75 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Fri, 3 Jul 2026 09:45:49 -0400 Subject: [PATCH] feat(directives): add rule-statement header to 41-48 of 66 v1.md files --- conductor/directives/no_new_src_files_without_permission/v1.md | 2 ++ conductor/directives/no_output_filtering/v1.md | 2 ++ conductor/directives/no_real_io_during_tests/v1.md | 2 ++ conductor/directives/no_skip_markers_as_avoidance/v1.md | 2 ++ conductor/directives/one_space_indent/v1.md | 2 ++ conductor/directives/prefer_targeted_tier_runs/v1.md | 2 ++ conductor/directives/preserve_line_endings/v1.md | 2 ++ conductor/directives/rag_six_rules/v1.md | 2 ++ 8 files changed, 16 insertions(+) diff --git a/conductor/directives/no_new_src_files_without_permission/v1.md b/conductor/directives/no_new_src_files_without_permission/v1.md index 3ff852ed..0abaff2c 100644 --- a/conductor/directives/no_new_src_files_without_permission/v1.md +++ b/conductor/directives/no_new_src_files_without_permission/v1.md @@ -1,3 +1,5 @@ +# New top-level src/.py files are only created on explicit user authorization + ### Hard rule on creating new `src/.py` files (added 2026-06-11) **New namespaced `src/.py` files may only be created on the user's explicit request.** If you find yourself about to create one, **ASK FIRST** — don't just create it. diff --git a/conductor/directives/no_output_filtering/v1.md b/conductor/directives/no_output_filtering/v1.md index 25f7ef02..722a2389 100644 --- a/conductor/directives/no_output_filtering/v1.md +++ b/conductor/directives/no_output_filtering/v1.md @@ -1,2 +1,4 @@ +# Test output must never be filtered through Select-Object, head, tail — redirect to a log file + From `conductor/workflow.md` §"Tier 2 Autonomous Sandbox" §"Conventions" #2: 2. **NEVER filter test output** (added 2026-06-27 per user directive). Do NOT pipe test output through `Select-Object`, `| Select -First N`, `| Select -Last N`, `head`, `tail`, or any truncation filter. If you need to see more output later, you'll have to re-run the entire test — which wastes time and context. Instead, ALWAYS redirect to a log file: `uv run python scripts/run_tests_batched.py > tests/artifacts/tier2_state//test_run__.log 2>&1`. Then read the log file with `manual-slop_read_file` or `grep` to find the relevant sections. The log file is your full record; you can search it without re-running. \ No newline at end of file diff --git a/conductor/directives/no_real_io_during_tests/v1.md b/conductor/directives/no_real_io_during_tests/v1.md index 7dc8bd1c..45f2eaa0 100644 --- a/conductor/directives/no_real_io_during_tests/v1.md +++ b/conductor/directives/no_real_io_during_tests/v1.md @@ -1,3 +1,5 @@ +# Tests must not do real I/O against the filesystem or network — isolate under tests/artifacts/ + ## The 4 test infrastructure principles 1. **No real I/O during tests** — every test gets a sandboxed workspace via the `isolate_workspace` autouse fixture. diff --git a/conductor/directives/no_skip_markers_as_avoidance/v1.md b/conductor/directives/no_skip_markers_as_avoidance/v1.md index c8847128..238bdf67 100644 --- a/conductor/directives/no_skip_markers_as_avoidance/v1.md +++ b/conductor/directives/no_skip_markers_as_avoidance/v1.md @@ -1,3 +1,5 @@ +# @pytest.mark.skip is documentation of a known failure, not an escape from fixing the bug + ## Skip-Marker Policy: Documentation, Not Avoidance `@pytest.mark.skip(reason=...)` is **documentation of a known failure**, not a way to avoid fixing the underlying bug. Skip markers are useful for: diff --git a/conductor/directives/one_space_indent/v1.md b/conductor/directives/one_space_indent/v1.md index 75fa88bf..8ea52993 100644 --- a/conductor/directives/one_space_indent/v1.md +++ b/conductor/directives/one_space_indent/v1.md @@ -1,3 +1,5 @@ +# Python source code uses 1-space indentation (not 4-space, not tabs) + ## 1. Indentation and Whitespace - **Indentation:** 1 space per level. No tabs. diff --git a/conductor/directives/prefer_targeted_tier_runs/v1.md b/conductor/directives/prefer_targeted_tier_runs/v1.md index 1cc57af7..ac0ee18e 100644 --- a/conductor/directives/prefer_targeted_tier_runs/v1.md +++ b/conductor/directives/prefer_targeted_tier_runs/v1.md @@ -1,2 +1,4 @@ +# Prefer running only the relevant tier rather than the full 11-tier batch for verification + From `conductor/workflow.md` §"Tier 2 Autonomous Sandbox" §"Conventions" #3: 3. **Prefer targeted tier runs** (added 2026-06-27 per user directive). Do NOT run the full 11-tier batch for every verification. Run only the tiers relevant to the current task (e.g., `--tier tier3` or `--filter test_`). The full batch is for the USER to run after merge review, not for Tier 2's per-task verification. Running the full batch every time wastes 20+ minutes and the output is too large to be useful in context. \ No newline at end of file diff --git a/conductor/directives/preserve_line_endings/v1.md b/conductor/directives/preserve_line_endings/v1.md index 3fdf7358..308ae3b3 100644 --- a/conductor/directives/preserve_line_endings/v1.md +++ b/conductor/directives/preserve_line_endings/v1.md @@ -1,3 +1,5 @@ +# Preserve existing line endings (CRLF on Windows, LF on Linux); do not normalize via tools + ### The whitespace-and-EOL rule (mandatory for set_file_slice) The `new_content` must preserve: diff --git a/conductor/directives/rag_six_rules/v1.md b/conductor/directives/rag_six_rules/v1.md index 39b7a427..271fc764 100644 --- a/conductor/directives/rag_six_rules/v1.md +++ b/conductor/directives/rag_six_rules/v1.md @@ -1,3 +1,5 @@ +# RAG integration follows 6 rules: opt-in, complement, provenance, no mutation, feature-gated, graceful failure + ## 0. The 6 rules (the one-glance table) | # | Rule | Why |