Skip to content

#1176 Add a ticketing-preferences hook to the skills that split and create tickets - #1268

Merged
williamthorsen merged 2 commits into
mainfrom
1176
Aug 10, 2026
Merged

#1176 Add a ticketing-preferences hook to the skills that split and create tickets#1268
williamthorsen merged 2 commits into
mainfrom
1176

Conversation

@williamthorsen

@williamthorsen williamthorsen commented Aug 10, 2026

Copy link
Copy Markdown
Owner

What

Creates a hook for ticketing preferences that is included into the guidance for planning, creating tickets, and updating tickets after review. Also adds a personal ticketing-preferences rulebook.

Why

Ambient delivery was the only route this policy had, and it fits the policy badly in both directions: every session paid for text most sessions never used, and the sessions that did split work carried it as background rather than at the moment a split is decided or a relationship recorded. Writing the rules into the consuming skills was not an option either, since that imposes one author's ticketing practice on every consumer of the library.

Details

🎉 Features

  • williamthorsen-ticketing-preferences is a new rulebook whose whole delivery is hook, carrying the ticket-splitting policy moved out of williamthorsen-workflow-preferences. It joins the williamthorsen collection.
  • create-ticket, design-and-plan, and respond-to-review each declare a ticketing-preferences guidance hook, placed at a section boundary ahead of the procedure it governs so no fill reparents the section below it.
  • williamthorsen-workflow-preferences keeps the deferral rule, which governs scope in every session rather than ticket creation alone.

🧪 Tests

  • guidance-hook-reach.unit.test.ts becomes a HOOK_GUARDS table driving describe.each, so a hook is a row rather than a file of its own. Each of the eight body/hook pairs fails with a message naming both the body and the hook.
  • Fills are now built across every hook at once, which puts respond-to-review — the one body declaring two hooks — under an anchor check with both fills spliced, the arrangement sync produces.
  • The reviewer-subagent carrier check moves to a describe block of its own, since only implementation-preferences takes that route.

Closes #1176

…ickets

The `create-ticket`, `design-and-plan`, and `respond-to-review` skills now carry whatever ticket-splitting guidance the user or project assigns to the `ticketing-preferences` hook in a `codeassembly.yaml` file.

`williamthorsen-ticketing-preferences` is the rulebook written for that slot, and it holds the ticket-splitting policy that `williamthorsen-workflow-preferences` previously delivered to every session.
The guidance-hook reach suite covers every hook from a single table, so a new hook is guarded by adding a row rather than by copying the file.
@williamthorsen williamthorsen added feature Added or improved external functionality scope:agents labels Aug 10, 2026
@github-actions

Copy link
Copy Markdown

Dependency audit

Production dependency audit passed.

@williamthorsen williamthorsen self-assigned this Aug 10, 2026
@williamthorsen
williamthorsen marked this pull request as ready for review August 10, 2026 05:48
@williamthorsen
williamthorsen merged commit 98900e4 into main Aug 10, 2026
3 checks passed
@williamthorsen
williamthorsen deleted the 1176 branch August 10, 2026 05:52
williamthorsen added a commit that referenced this pull request Aug 13, 2026
…e-v0.3.0 codeassembly-v0.9.0 factory-v0.2.6 codeassembly-mcp-v0.2.5

codeassembly-v0.9.0
- #1288 feat: State mutability and name the lede reader at the artifact type lists (#1303)
- #1285 fix: Require plain bullets for checklists on both update-jira-ticket paths (#1302)
- deps: Upgrade all deps to latest version
- #1290 tooling: Upgrade eslint-config-typescript to 10 and complete manifest metadata (#1301)
- #1294 feat: Specify artifact mutability and its sanctioned exceptions (#1297)
- #1293 fix: Present and classify discretionary findings as actionable (#1295)
- #1289 tooling: Remove shelled nmr calls from package manifests (#1291)
- #1280 feat: Add a refresh path that edits an existing AGENTS.md instead of redrafting it (#1287)
- #1055 feat: Replace the lede doctrine with corpus-derived guidance and retire the changelog-writer (#1286)
- deps: Upgrade all deps to latest version
- #1264 refactor: Consolidate error-message extraction on toolbelt.errors' describeError (#1284)
- #1263 refactor: Retire the deferred-lint mechanism and adopt toolbelt.errors in agents (#1279)
- #1262 refactor: Hoist unreadable for-of expressions and promote the lint rule to an error (#1276)
- #1267 fix: Extend the no-hard-wrapping instruction to every GitHub composer (#1275)
- #1177 fix: Rewrite links, tokens, and template variables in a Markdown file support entry (#1273)
- #1176 feat: Add a ticketing-preferences hook to the skills that split and create tickets (#1268)
- #1252 fix: Keep a skill's own sections out of injected guidance (#1266)
- #1260 refactor: Fix lint and retire rule deferrals (#1265)
- #1247 feat: Add a personal tooling-preferences rulebook (#1257)
- #1251 feat: Let a rulebook declare that a guidance hook is how it is reached (#1259)
- #1246 feat: Guard home-domain writes and record their provenance (#1254)
- #1175 feat: Link new tickets to their blockers and parents (#1249)

factory-v0.2.6
- deps: Upgrade all deps to latest version
- #1290 tooling: Upgrade eslint-config-typescript to 10 and complete manifest metadata (#1301)
- deps: Upgrade all deps to latest version
- deps: Upgrade all deps to latest version
- #1264 refactor: Consolidate error-message extraction on toolbelt.errors' describeError (#1284)

kb-v0.6.0
- deps: Upgrade all deps to latest version
- #1290 tooling: Upgrade eslint-config-typescript to 10 and complete manifest metadata (#1301)
- #1289 tooling: Remove shelled nmr calls from package manifests (#1291)
- #1264 refactor: Consolidate error-message extraction on toolbelt.errors' describeError (#1284)
- #1261 feat: Attach causes to kb's loader errors and retire its lint deferral (#1272)
- #1260 refactor: Fix lint and retire rule deferrals (#1265)

codeassembly-lifecycle-v0.4.0
- #1290 tooling: Upgrade eslint-config-typescript to 10 and complete manifest metadata (#1301)
- #1289 tooling: Remove shelled nmr calls from package manifests (#1291)
- #1261 feat: Attach causes to kb's loader errors and retire its lint deferral (#1272)
- #1260 refactor: Fix lint and retire rule deferrals (#1265)

codeassembly-mcp-v0.2.5
- deps: Upgrade all deps to latest version
- #1290 tooling: Upgrade eslint-config-typescript to 10 and complete manifest metadata (#1301)
- #1289 tooling: Remove shelled nmr calls from package manifests (#1291)
- #1264 refactor: Consolidate error-message extraction on toolbelt.errors' describeError (#1284)

codeassembly-run-core-v0.3.0
- deps: Upgrade all deps to latest version
- #1290 tooling: Upgrade eslint-config-typescript to 10 and complete manifest metadata (#1301)
- #1289 tooling: Remove shelled nmr calls from package manifests (#1291)
- #1264 refactor: Consolidate error-message extraction on toolbelt.errors' describeError (#1284)
- #1261 feat: Attach causes to kb's loader errors and retire its lint deferral (#1272)
- #1260 refactor: Fix lint and retire rule deferrals (#1265)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Added or improved external functionality scope:agents

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bind ticketing preferences into the skills that split and create tickets

1 participant