style(no-slop): remove every em-dash + banned words across all modules + capstone

Apply the no-ai-slop standard (now binding in AGENTS.md): the em-dash character is
banned outright (restructured, not blind-replaced), plus the banned word/phrase
list (delve, leverage, robust, seamless, truly, unlock, etc.). 0 em-dashes remain
in modules + capstone; the only "robust" left is the planted M10 ai-change.patch
trap. Module H1 titles use a colon separator.

All deliberate teaching devices preserved; labs compile/parse (py/sh/yaml/json);
no junk. AGENTS.md updated with the hard no-slop rules.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
This commit is contained in:
2026-06-22 23:21:09 -04:00
parent 513d7e7ac8
commit 389ac2e460
99 changed files with 1324 additions and 1315 deletions
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
"""orient.py build a factual orientation pack for a repo you didn't write.
"""orient.py: build a factual orientation pack for a repo you didn't write.
Run it from the root of a cloned repo. It prints a Markdown summary of *ground truth*
about the codebase size, languages, project signals, the biggest (often most central)
files, the top-level layout, and likely build/test commands that you can paste in as the
about the codebase (size, languages, project signals, the biggest (often most central)
files, the top-level layout, and likely build/test commands) that you can paste in as the
opening context for an AI session before asking it to map or change anything.
The point is NOT to replace the AI's own exploration. It's to anchor that exploration in
@@ -46,10 +46,10 @@ SIGNALS: dict[str, str] = {
".gitea": "Gitea Actions",
".gitlab-ci.yml": "GitLab CI",
"tox.ini": "Python test matrix",
"README.md": "Has a README read it first",
"CONTRIBUTING.md": "Has contributor guidance read before changing",
"ARCHITECTURE.md": "Has an architecture doc rare and valuable",
# Committed AI-instruction files. Name the real ones across vendors singling out one
"README.md": "Has a README; read it first",
"CONTRIBUTING.md": "Has contributor guidance; read before changing",
"ARCHITECTURE.md": "Has an architecture doc; rare and valuable",
# Committed AI-instruction files. Name the real ones across vendors; singling out one
# would both miss files and cut against the vendor-neutral point (Module 5).
"AGENTS.md": "Has a committed AI instructions file (Module 5)",
"CLAUDE.md": "Has a committed AI instructions file (Module 5)",
@@ -142,9 +142,9 @@ def main() -> int:
if present:
for name in SIGNALS:
if name in present:
w(f"- `{name}` {SIGNALS[name]}")
w(f"- `{name}`: {SIGNALS[name]}")
else:
w("- (none of the usual manifests/CI/docs at the root look one level down)")
w("- (none of the usual manifests/CI/docs at the root; look one level down)")
# --- likely test command ------------------------------------------------
hints = [TEST_HINTS[name] for name in TEST_HINTS if name in present]
@@ -175,7 +175,7 @@ def main() -> int:
w("\n## Top-level layout (entries by tracked-file count)\n")
for name, n in sorted(top_dirs.items(), key=lambda kv: (-kv[1], kv[0])):
kind = "dir" if "/" in next(p for p in files if p.split("/", 1)[0] == name) else "file"
w(f"- `{name}`{'/' if kind == 'dir' else ''} {n}")
w(f"- `{name}`{'/' if kind == 'dir' else ''}: {n}")
# --- recent activity ----------------------------------------------------
recent = git("log", "--oneline", "-10")