From ca6915dc79be4ee3c63db4bac97087dd9c99babd Mon Sep 17 00:00:00 2001 From: JohnnyT Date: Sat, 22 Aug 2026 00:37:57 -0600 Subject: [PATCH] Updates wurk overrides for the merged CI workflow .github/workflows/ci.yml landed on main (sui-56w), so the claims in .claude/wurk/commit.md and .claude/wurk/mr.md that no CI exists are now false. Both files told an unattended agent that its local gate run was the only check a branch would ever get, which is no longer true - CI replays the full gate on pushes to main and on pull requests. Rewrites the two sections to say what CI now does and what it still does not: it runs after a push rather than before a commit, checks nothing about commit messages, and adds no human reviewer. The local full green stays the commit trigger, and requests still wait for no human review. The matching claims in CLAUDE.md and .quality.exs live in operator-only files and are reported separately rather than edited here. Refs: sui-68k --- .claude/wurk/commit.md | 18 +++++++++++------- .claude/wurk/mr.md | 20 +++++++++++--------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.claude/wurk/commit.md b/.claude/wurk/commit.md index 45fc846..bd27d92 100644 --- a/.claude/wurk/commit.md +++ b/.claude/wurk/commit.md @@ -111,10 +111,11 @@ tripping a substring match the rule was never meant to catch. Decision: **do not add a `commit-msg` hook.** Enforcement stays inside `/wurk:commit` (Step 2 pre-commit, Step 4.4 post-commit verification). -Reasons: this repo has one contributor and no CI (`CLAUDE.md`'s authority -table), so `/wurk:commit` is already the only path a commit takes in -practice - a plain `git commit` bypassing it would be a self-inflicted -problem, not an outside contributor's. A hook is also another uninstalled-by- +Reasons: this repo has one contributor, and CI (`.github/workflows/ci.yml`) +replays the quality gate but checks nothing about commit messages, so +`/wurk:commit` is already the only message check a commit gets in practice - +a plain `git commit` bypassing it would be a self-inflicted problem, not an +outside contributor's. A hook is also another uninstalled-by- default file: git hooks are not checked in or wired up automatically, so shipping one here would need its own installer step this repo does not have, for a case (bypassing the one workflow the one contributor uses) that has not @@ -122,11 +123,14 @@ come up. This repo removed `.beads/hooks` for the same reason - nothing read them. Revisit if a second contributor, or a habit of using plain `git commit`, actually shows up. -## No CI means the gate is the whole check +## CI replays the gate; the local run is still the trigger The authority table in `CLAUDE.md` makes a full green `mix quality` the trigger -for `git commit`, and there is no second net behind it - no CI run, no -reviewer. So: +for `git commit`. CI (`.github/workflows/ci.yml`) runs the same full gate on +pushes to `main` and on pull requests, reading the command out of +`.claude/wurk.json`'s `gate.full` so the two stay one definition - but it +runs after a push, not before a commit, and there is still no second +reviewer. The local full green remains the trigger: - A `--profile loop` green is not the trigger. It skips dialyzer, doctor, dependencies, and coverage. diff --git a/.claude/wurk/mr.md b/.claude/wurk/mr.md index abb7387..d49a422 100644 --- a/.claude/wurk/mr.md +++ b/.claude/wurk/mr.md @@ -3,17 +3,19 @@ Two project facts. Adds only - see `~/.claude/skills/wurk:mr/SKILL.md` for everything this does not repeat. -## The request is a record, not a review gate +## The request is a record and a CI run, not a human review gate -One contributor, no CI. Nothing runs when the request opens and nobody else is -going to look at it, so: +One contributor, no second reviewer. CI (`.github/workflows/ci.yml`) runs the +full gate on every pull request, so a check does run when the request opens - +but nobody else is going to read the diff, so: -- **Do not wait for checks or review.** There are none to wait for. A request - that sits open pending a signal that will never arrive is just a branch that - has not landed. -- **The gate ran before the push or it did not run at all.** Step 4's full - `mix quality` is the only thing that ever verified this branch. Treat a - skipped or scoped gate here as a hard stop, not a formality to catch up on +- **Do not wait for human review.** There is none to wait for. The CI check is + worth confirming green, but a request that sits open pending a reviewer who + will never arrive is just a branch that has not landed. +- **The gate still runs before the push.** Step 4's full `mix quality` is what + verifies this branch before it becomes public; CI replays the same command + (read from `.claude/wurk.json`'s `gate.full`) only after. Treat a skipped + or scoped local gate here as a hard stop, not something CI will catch up on later. What the request is for is the record: a diff with a written rationale, linked