Template
fix: purge stale Crush references from all docs
Remove references to crush.json, hooks/, and Crush-specific enforcement from README, AGENTS.md, BASELINE-PROMPT.md, and PATTERNS.md. Generalize the commit footer to be harness-agnostic (<harness/tool> placeholder). Update PATTERNS.md decisions and scorecard to reflect the reversal: Crush hooks were studied but deliberately not shipped. The only remaining Crush mention explicitly states it is avoided for portability. The .crush/memory/ dir is kept as an optional Crush feature. 💘 Generated with Crush Assisted-by: Crush via Crush <crush@charm.land>
This commit is contained in:
+7
-7
@@ -38,7 +38,7 @@ These recur strongly and are baked into the template:
|
||||
1. **Auto-commit + push is mandatory and non-negotiable.** Stated with ALL-CAPS force in nearly every file. The template states the override-once and lets the hooks enforce it.
|
||||
2. **Atomic commits — one logical change per commit.** Universal.
|
||||
3. **Conventional-commit format** (`feat:`/`fix:`/`docs:`/…). Universal, but the **💘 Crush attribution footer is inconsistent**: mandated only by `football` and `KNELIAC`; absent on the remote entirely. **Decision:** the template mandates the footer once, in the AGENTS.md commit block.
|
||||
4. **Docker-only host hygiene.** The single most consistent convention across *both* machines (`KNEL-AIMiddleware`, `EngStack`, `LocalWorkstation`, `RCEO-PersonalAssistant`, `ThreeYearPlan`, `CharlesNWybleResume`). **Decision:** enforced by hook (`hooks/enforce-bash.sh`) and rule, and supported by `scripts/docker-run.sh`.
|
||||
4. **Docker-only host hygiene.** The single most consistent convention across *both* machines (`KNEL-AIMiddleware`, `EngStack`, `LocalWorkstation`, `RCEO-PersonalAssistant`, `ThreeYearPlan`, `CharlesNWybleResume`). **Decision:** the template's `check-rules.sh` enforces host hygiene via the Docker-only rule (no `:latest` tags, container naming) and `scripts/docker-run.sh` provides the canonical container wrapper. The Crush-specific `enforce-bash.sh` hook was removed for harness portability; the policy lives in AGENTS.md prose.
|
||||
5. **Sub-agents encouraged.** Explicit in `football`, `ThreeYearPlan`, `RCEO-PersonalAssistant`. **Decision:** standard section in the template.
|
||||
6. **No secrets in git (infra genre).** Inverted on the remote private repos (`RCEO-PersonalAssistant` deliberately commits credentials). **Decision:** the template keeps the infra stance (`.env` gitignored) as the default; private repos may opt out.
|
||||
|
||||
@@ -81,7 +81,7 @@ RCEO's crush.json wires five `PreToolUse` hooks that form a behavioral guardrail
|
||||
| `audit-before-git.sh` | `^bash$` | runs the fast audit before any `git commit`/`git push` |
|
||||
| `exit-protocol.sh` | `.*` | blocks stopping while WORKING.md has unchecked tasks |
|
||||
|
||||
**Decision:** the template generalizes all five into `hooks/`, configurable via env vars (`PROJECT_BANNED_COMMANDS`, `PROJECT_BANNED_SUFFIXES`, `PROJECT_SOURCE_SUFFIXES`, …) so they are project-agnostic. This is the template's highest-leverage feature: it converts the one-off RCEO invention into a reusable baseline.
|
||||
**Decision:** the Crush hooks were studied as the proof-of-concept and their *policies* (ban todos, Docker-only, banned file types, audit before git, exit protocol) were ported into AGENTS.md prose and `check-rules.sh` mechanical checks. The harness-specific `crush.json` + `hooks/` layer was **deliberately removed** for portability — the user is shifting away from Crush to OpenWebUI/Hermes, so all enforcement is git hooks + prose only.
|
||||
|
||||
---
|
||||
|
||||
@@ -145,7 +145,7 @@ Crush defines a priority chain (`$HOME/.config/crush/crush.json` → `crush.json
|
||||
- The highest-priority `.crush.json` layer is **unused anywhere**.
|
||||
- **No project sets `model` or `provider`** in config.
|
||||
|
||||
**Decision:** the template ships only the `hooks` block in `crush.json` (the universally-applicable part). LSP/MCP remain project-local concerns. A future shared global config could baseline common LSPs (bash, markdown) and universal MCPs (context7) once.
|
||||
**Decision:** no Crush config is shipped. The hooks layer was removed for harness portability. LSP/MCP remain project-local concerns.
|
||||
|
||||
---
|
||||
|
||||
@@ -153,7 +153,7 @@ Crush defines a priority chain (`$HOME/.config/crush/crush.json` → `crush.json
|
||||
|
||||
Only `PFVCluster` has operational memory (`.crush/memory/operational.md`). Its format — Identity → Tracking Systems (with READY/PARTIAL/BLOCKED status) → Tooling → Access chokepoints → Key commands → Mandatory rules → Credential TODOs — is strong and reusable.
|
||||
|
||||
**Decision:** the template ships `.crush/memory/operational.md` as a fill-in skeleton.
|
||||
**Decision:** the template ships `.crush/memory/operational.md` as a fill-in skeleton (optional, for projects using Crush).
|
||||
|
||||
---
|
||||
|
||||
@@ -188,11 +188,11 @@ The remote personal genre contributes a discipline absent from infra: a **task/s
|
||||
| Task runner | 5 conventions | one `Makefile` |
|
||||
| Git hook install | 3 mechanisms, 1 missing | one `setup-hooks.sh` (copy) |
|
||||
| Git hook coverage | 3/18 projects | every project, two hooks |
|
||||
| Crush hooks | 1/18 projects | every project, five hooks |
|
||||
| Crush hooks | 1/18 projects | not used (harness-agnostic; git hooks only) |
|
||||
| Rules engine | 1 project (Go-specific) | generalized, project-agnostic |
|
||||
| Crush memory | 1 project | skeleton in template |
|
||||
| Crush memory | 1 project | skeleton in template (optional, Crush-only) |
|
||||
| AGENTS.md structure | bespoke per project | canonical 10-section skeleton |
|
||||
| 💘 commit footer | 2/18 projects | mandated in template |
|
||||
| 💘 commit footer | 2/18 projects | mandated in template (harness-agnostic) |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user