Commit Graph
6 Commits
Author SHA1 Message Date
mrcharles 7e37745538 fix(hooks): repair conflict-marker check mangled by sed '&' expansion [#769]
Restores the intended tightened pattern: exact git markers only
(7-char = alone; <<<<<<< / >>>>>>> with optional ref). Decorative
==== banners no longer false-positive; check is fully functional again.

https://projects.knownelement.com/issues/769#note-4152
2026-09-03 21:30:12 -05:00
mrcharles 5e54f16f01 fix(hooks): conflict-marker check false-positived on decorative banners [#769]
Same tightening as PFVCluster scripts/check-rules.sh (O&M repo-split round).

https://projects.knownelement.com/issues/769#note-4152
2026-09-03 21:27:31 -05:00
mrcharles 8bff9567b7 feat(enforcement): global house rules + tier-wide mechanical gates
Machine-optimal global AGENTS.md (symlinked at ~/.config/AGENTS.md, picked
up by every crush lane) covering the alpha/beta/uat/prod doctrine
(prod = human release only), strict SDLC (red/green TDD, adversarial
review, code/tests/docs/ticket sync), gitea-redmine-discourse
cross-linking, and the 2026-08-31 rulings (no JOURNAL.md, sparse
STATUS.md, rolling table HUD).

Global enforcement layer: repo-scoped ticket-gate (crush PreToolUse,
all lanes) + universal git pre-commit/pre-push (core.hooksPath) that
delegate to repo-local check-rules.sh and chain installed .git/hooks.
2026-08-31 14:42:00 -05:00
mrcharles 16cbeb4ed8 feat(hooks): add ticket-gate Crush hook — enforce ticket-first work
Mechanically enforces ticket-governed work: blocks modifying operations
until an active ticket is set (echo '#NNN' > .crush/active-ticket).
Exempts read-only tools and management commands.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-08-11 11:57:19 -05:00
mrcharles 9dc85ba41e refactor: go harness-agnostic — drop Crush hooks, enforce Discourse SoR
Apply answers to questions-v1.md (Q1–Q5):

- Q4: Remove crush.json and hooks/ entirely. All enforcement is now portable
  via git hooks (pre-commit/pre-push) + check-rules.sh + AGENTS.md prose.
  Works under Crush, OpenWebUI, Hermes, or any agent framework.
- Q5: Remove docs/JOURNAL.md. Redmine is the system of record for work;
  Discourse for docs. JOURNAL.md was a stopgap.
- Q3: Add mandatory Discourse pointer-header check to check-rules.sh. Any
  non-exempt tracked .md without a Discourse URL FAILs. All projects, no
  exceptions.
- Q2: Reference real CLI container invocation paths
  (KNEL-AIMiddleware/{redmine,discourse}-cli/) in AGENTS.md instead of the
  missing bin/ shortcuts.
- Q1: Note tea + docker login are preconfigured on TSYS workstations.

Also: make test default is now no-op pass so the template self-validates;
make validate now passes clean on the repo itself (17 PASS / 0 FAIL).

💘 Generated with Crush

Assisted-by: Crush via Crush <crush@charm.land>
2026-08-07 12:04:04 -05:00
mrcharles 374288a105 feat: bootstrap meta — cross-project best-practices template
Extract patterns from 18 projects across two machines (12 local infra +
6 remote personal/business via ssh survey). Ship a reusable Gitea template
with AGENTS.md, 5 Crush PreToolUse hooks, git pre-commit/pre-push, a
generalized rules engine, shared bash library, Makefile, lifecycle scripts,
and gardening loop. Includes the canonical BASELINE-PROMPT.md (13 sections)
and PATTERNS.md (standardization scorecard).

The repo self-applies: it passes its own shellcheck (zero info-level),
make fast, and all check-rules.sh checks.

💘 Generated with Crush

Assisted-by: Crush via Crush <crush@charm.land>
2026-08-07 11:17:53 -05:00