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:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user