aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-22 17:03:03 -0500
committerCraig Jennings <c@cjennings.net>2026-05-22 17:03:03 -0500
commitca6a213841129a72881f17d7050dff3b48c637ac (patch)
tree668265e4ede0aa7827fd396f1301cd19105f3071
parent068458ecaa3dfc081ee80a2e1adbe7ee53f97a30 (diff)
downloadrulesets-ca6a213841129a72881f17d7050dff3b48c637ac.tar.gz
rulesets-ca6a213841129a72881f17d7050dff3b48c637ac.zip
chore(todo): close the two commits.md overlay tasks
-rw-r--r--todo.org14
1 files changed, 7 insertions, 7 deletions
diff --git a/todo.org b/todo.org
index 8a6b741..053a424 100644
--- a/todo.org
+++ b/todo.org
@@ -7,15 +7,15 @@ Project-scoped (not the global =~/sync/org/roam/inbox.org= list).
* Rulesets Open Work
-** TODO [#A] Split team-specific publishing rules out of commits.md :commits:
-Move the team-specific publishing steps out of the global =claude-rules/commits.md= into a project/team overlay: the Linear status transitions and the hard-coded Slack channel ID are DeepSat-specific and could leak or misfire in unrelated projects. Leave the global file covering author identity, attribution, commit format, the review gate, and verification.
-
-The last two items of the 2026-05-04 audit pass; everything else in that cluster shipped 2026-05-22. Deferred deliberately: it's a structural split of a core rules file Craig is hand-editing, so he drives it once those edits settle.
+** DONE [#A] Split team-specific publishing rules out of commits.md :commits:
+CLOSED: [2026-05-22 Fri]
+Shipped 3cb467e. Moved the DeepSat publishing steps (Linear ticket-state, the Slack notification protocol + channel ID, the GHE host, the team merge norm, the Linear ticket-body structure) out of the global =claude-rules/commits.md= into =teams/deepsat/claude/rules/publishing.md=. The global file keeps the universal skeleton and uses seams ("run the project's publishing overlay here if present") like startup-extras. Added =install-team= (targeted per-project copy, keyed on PROJECT, never globally symlinked) and generalized =sync-language-bundle.sh= to keep team overlays fresh at startup (3 new bats; make test green).
-** TODO [#A] Define a /voice-unavailable fallback in the commits.md publish flow :commits:
-The publish flow makes the =/voice= pass mandatory but defines no fallback for when the skill isn't available. Add one: when =/voice= can't run, walk the patterns inline (or flag the gap explicitly) rather than blocking the publish.
+Remaining deploy step (cross-project, surfaced to Craig): install the overlay into the DeepSat work project — =make install-team TEAM=deepsat PROJECT=<deepsat-path>= — so it actually loads there.
-Freshness note: the 2026-05-04 audit framed this as a "=humanizer= unavailable" gap, but =humanizer= no longer exists — it was replaced by =/voice=. The residual gap is only the =/voice=-unavailable case. Deferred alongside the split task above until Craig's in-flight commits.md edits settle.
+** DONE [#A] Define a /voice-unavailable fallback in the commits.md publish flow :commits:
+CLOSED: [2026-05-22 Fri]
+Added an "If =/voice= is unavailable" paragraph to the Single-skill gate in =commits.md=: walk the same patterns inline (the flow already names which matter), state the skill was unavailable and the pass was applied by hand ("/voice unavailable — patterns walked inline"), and flag the missing skill for install. The gate is the pattern walk, not the tooling. The original "=humanizer= unavailable" framing was moot (humanizer → /voice).
** DONE [#A] wrap-it-up Step 3.5 assumes GitHub-family remote :chore:quick:
CLOSED: [2026-05-22 Fri]