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,10 +1,10 @@
# Starter CI workflow for the tasks-app forge-native, GitHub Actions flavor.
# Starter CI workflow for the tasks-app: forge-native, GitHub Actions flavor.
#
# Where this file goes: GitHub Actions reads workflow files from the .github/workflows/ directory
# at the root of your repo. Copy this file to .github/workflows/ci.yml (the name "ci.yml" is yours
# to choose; the .github/workflows/ path is not). Commit it, push, and the forge runs it.
#
# The same three checks (lint, then test) exist on every forge only the YAML shape differs. See
# The same three checks (lint, then test) exist on every forge; only the YAML shape differs. See
# gitlab-ci-starter.yml in this folder for the GitLab equivalent of this exact pipeline.
name: CI
@@ -18,7 +18,7 @@ on:
jobs:
check:
# The runner: a fresh, throwaway Linux machine the forge spins up for this job. "Works on my
# machine" can't hide here this machine has nothing of yours on it. (More on runners in
# machine" can't hide here; this machine has nothing of yours on it. (More on runners in
# Module 19, including running your own.)
runs-on: ubuntu-latest
@@ -34,7 +34,7 @@ jobs:
python-version: "3.12"
# Step 3: install the linter (ruff), the new tool this module adds. The test runner is
# Python's standard-library unittest from Module 13 nothing to install for it.
# Python's standard-library unittest from Module 13; nothing to install for it.
- name: Install tools
run: pip install ruff
@@ -1,7 +1,7 @@
# The SAME pipeline as ci-starter.yml, written for GitLab CI instead of GitHub Actions.
#
# The point of having both side by side: CI is a concept, not a product. Checkout, set up the
# language, install tools, lint, test every forge does these. Only the YAML dialect and the
# language, install tools, lint, test: every forge does these. Only the YAML dialect and the
# magic filename differ.
#
# Where this file goes: GitLab reads a single file named .gitlab-ci.yml at the repo root. Copy this
@@ -13,10 +13,10 @@ stages:
check:
stage: check
# The runner image a throwaway container with Python already installed. The GitLab equivalent
# The runner image: a throwaway container with Python already installed. The GitLab equivalent
# of "runs-on: ubuntu-latest" plus "set up Python".
image: python:3.12
script:
- pip install ruff
- ruff check . # lint
- python -m unittest # test (stdlib runner from Module 13 nothing to install)
- python -m unittest # test (stdlib runner from Module 13; nothing to install)
@@ -1,7 +1,7 @@
"""Tests for the tasks-app core logic the kind of suite Module 13 has you write.
"""Tests for the tasks-app core logic: the kind of suite Module 13 has you write.
Reproduced here so this module's lab is self-contained: if you already wrote tests in Module 13,
use those instead. Standard-library `unittest`, exactly like Module 13 nothing to install.
use those instead. Standard-library `unittest`, exactly like Module 13, nothing to install.
Run locally with `python -m unittest` from the project folder. CI runs exactly this.
"""