@windyroad/itil 0.47.5 → 0.47.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -294,21 +294,18 @@ Satisfy the commit gate per ADR-014 — same two-path pattern as manage-problem
|
|
|
294
294
|
- **Primary**: delegate to subagent type `wr-risk-scorer:pipeline` via the Agent tool.
|
|
295
295
|
- **Fallback**: invoke `/wr-risk-scorer:assess-release` via the Skill tool when the subagent type is unavailable in the current tool surface.
|
|
296
296
|
|
|
297
|
-
|
|
297
|
+
Land the commit via the **`wr-risk-scorer-restage-commit`** helper — atomic re-stage + commit in a single bash call (P326 wrapper). The Agent-tool delegation above can silently clear the index; the helper re-adds the supplied path, asserts non-empty staging, then runs `git commit` with the supplied `-m` args. The `RISK_BYPASS: capture-deferred-readme` trailer rides as a second `-m` paragraph so the literal token appears in the resulting commit-message command string the PreToolUse hook inspects:
|
|
298
298
|
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
RISK_BYPASS: capture-deferred-readme
|
|
299
|
+
```bash
|
|
300
|
+
wr-risk-scorer-restage-commit \
|
|
301
|
+
-m "docs(problems): capture P<NNN> <title>" \
|
|
302
|
+
-m "RISK_BYPASS: capture-deferred-readme" \
|
|
303
|
+
-- docs/problems/open/<NNN>-<kebab-title>.md
|
|
303
304
|
```
|
|
304
305
|
|
|
305
306
|
The `capture` verb in the message is the audit signal that this ticket landed via the lightweight aside path (vs. `open` for manage-problem's full intake).
|
|
306
307
|
|
|
307
|
-
**Why the trailer (P262)**: the P165 README-refresh-discipline hook (`packages/itil/hooks/itil-readme-refresh-discipline.sh`) treats any newly-staged ticket file as ranking-bearing and DENIES a `git commit` that does not also stage `docs/problems/README.md`. That enforcement is correct for `/wr-itil:manage-problem`'s full-intake path (P094 refresh-on-create) but conflicts with this skill's deliberate deferred-README-refresh contract. The `RISK_BYPASS: capture-deferred-readme` trailer is a registered allow-list token (P265 mechanism; registry of record is the ADR-014 commit-message bypass-token table) that clears the **README-refresh gate ONLY** — the commit is still risk-scored normally (`risk-score-commit-gate.sh` does not recognise this token).
|
|
308
|
-
|
|
309
|
-
```bash
|
|
310
|
-
git commit -m "docs(problems): capture P<NNN> <title>" -m "RISK_BYPASS: capture-deferred-readme"
|
|
311
|
-
```
|
|
308
|
+
**Why the trailer (P262)**: the P165 README-refresh-discipline hook (`packages/itil/hooks/itil-readme-refresh-discipline.sh`) treats any newly-staged ticket file as ranking-bearing and DENIES a `git commit` that does not also stage `docs/problems/README.md`. That enforcement is correct for `/wr-itil:manage-problem`'s full-intake path (P094 refresh-on-create) but conflicts with this skill's deliberate deferred-README-refresh contract. The `RISK_BYPASS: capture-deferred-readme` trailer is a registered allow-list token (P265 mechanism; registry of record is the ADR-014 commit-message bypass-token table) that clears the **README-refresh gate ONLY** — the commit is still risk-scored normally (`risk-score-commit-gate.sh` does not recognise this token).
|
|
312
309
|
|
|
313
310
|
Do NOT drop the trailer and stage the README instead — that would silently abandon the deferred-README-refresh contract (the capture-time-speed distinction this skill exists to provide per ADR-032). The README is reconciled at the next `/wr-itil:review-problems` per Step 7's trailing pointer.
|
|
314
311
|
|
|
@@ -952,14 +952,19 @@ Commit the completed work per ADR-014 (governance skills commit their own work):
|
|
|
952
952
|
2. Satisfy the commit gate — two paths are valid (either produces a bypass marker):
|
|
953
953
|
- **Primary**: delegate to the `wr-risk-scorer:pipeline` subagent-type via the Agent tool (subagent_type: `wr-risk-scorer:pipeline`)
|
|
954
954
|
- **Fallback**: if the `wr-risk-scorer:pipeline` subagent-type is not available in the current tool set (e.g., this skill is itself running inside a spawned subagent), invoke the `/wr-risk-scorer:assess-release` skill via the Skill tool. Per ADR-015 it wraps the same pipeline subagent and the `PostToolUse:Agent` hook writes an equivalent bypass marker. Do not silently skip the gate because the primary path is unavailable — the fallback exists specifically to close this gap (see P035).
|
|
955
|
-
3.
|
|
955
|
+
3. Land the commit via the **`wr-risk-scorer-restage-commit`** helper — atomic re-stage + commit in a single bash call (P326 wrapper):
|
|
956
|
+
```bash
|
|
957
|
+
wr-risk-scorer-restage-commit -m "<message>" -- <path1> [<path2>...]
|
|
958
|
+
```
|
|
959
|
+
The Agent-tool delegation in step 2 can silently clear the parent index — a subsequent bare `git commit` then fails with `Changes not staged for commit`. The helper re-adds the supplied paths, asserts the cached diff is non-empty, then runs `git commit "${msg_args[@]}"` — eliminating the silent re-add round-trip P326 documents. Pass repeated `-m` flags for trailer paragraphs (e.g. `RISK_BYPASS:` allow-list tokens).
|
|
960
|
+
4. Message conventions per operation type:
|
|
956
961
|
- New problem: `docs(problems): open P<NNN> <title>`
|
|
957
962
|
- Known Error transition: `docs(problems): P<NNN> known error — <root cause summary>`
|
|
958
963
|
- Verification Pending transition: usually folded into the `fix(<scope>): ... (closes P<NNN>)` commit that ships the fix — the `git mv` to `.verifying.md` and the `## Fix Released` section land together. If transitioning without a fix commit, use `docs(problems): P<NNN> verification pending — <release marker>`.
|
|
959
964
|
- Problem closed: `docs(problems): close P<NNN> <title>`
|
|
960
965
|
- Review/re-rank: `docs(problems): review — re-rank priorities`
|
|
961
966
|
- Fix implemented: `fix(<scope>): <description> (closes P<NNN>)` — include problem file changes (rename to `.verifying.md` + `## Fix Released` section) in the same commit per ADR-022
|
|
962
|
-
|
|
967
|
+
5. If risk is above appetite: use `AskUserQuestion` to ask whether to commit anyway, remediate first, or park the work. If `AskUserQuestion` is unavailable, skip the commit and report the uncommitted state clearly (ADR-013 Rule 6 fail-safe). This applies only to the risk-above-appetite branch, not to the delegation-unavailable case above.
|
|
963
968
|
|
|
964
969
|
**Multi-commit slice changeset discipline (P141 Phase 2)**: when a single logical fix lands across multiple ADR-014-grain commits targeting the same plugin (e.g. helper extraction in commit 1, callers wired in commit 2, SKILL note + transition in commit 3 — all `packages/<plugin>/`), author ONE changeset on the first commit in the slice. Subsequent same-plugin commits do NOT need their own changeset — the `itil-changeset-discipline.sh` hook's Check 2b recognises any `.changeset/*.md` (or held-window `docs/changesets-holding/*.md` entry) already in the unpushed slice scope (`origin/<base>..HEAD` + untracked + modified-not-staged) that targets `"@windyroad/<plugin>": <any-bump>` and allows. This eliminates the per-commit changeset ceremony that previously produced N redundant `.changeset/*.md` files for one logical release entry (changesets-action collapses bump-class at version-package time, so per-commit changesets rendered N near-identical CHANGELOG bullets for one release). Once a changeset hits `origin/<base>` (drained at release time), it no longer counts — a fresh changeset is required for the next slice. Cross-plugin coverage is NOT permitted: an `@windyroad/itil` changeset does not satisfy a `packages/voice-tone/` commit.
|
|
965
970
|
|
|
@@ -236,6 +236,16 @@ Governance skills commit their own work. Transition commits include the renamed
|
|
|
236
236
|
- **Primary**: delegate to subagent type `wr-risk-scorer:pipeline` via the Agent tool.
|
|
237
237
|
- **Fallback**: if `wr-risk-scorer:pipeline` is not available in the current tool set (e.g. this skill is running inside a spawned subagent), invoke `/wr-risk-scorer:assess-release` via the Skill tool. Per ADR-015 it wraps the same pipeline subagent and the `PostToolUse:Agent` hook writes an equivalent bypass marker. Do not silently skip the gate because the primary path is unavailable — the fallback exists specifically to close this gap (see P035).
|
|
238
238
|
|
|
239
|
+
**Land the commit via `wr-risk-scorer-restage-commit`** — atomic re-stage + commit (P326 wrapper). The Agent-tool delegation above can silently clear the index; the helper re-adds the renamed + edited ticket file (plus `docs/problems/README.md` + `docs/problems/README-history.md` from Step 7's P134 rotation), asserts non-empty staging, then runs `git commit` with the supplied `-m` args:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
wr-risk-scorer-restage-commit \
|
|
243
|
+
-m "<message per convention below>" \
|
|
244
|
+
-- docs/problems/<dest-state>/<NNN>-<title>.md docs/problems/README.md docs/problems/README-history.md
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Omit `docs/problems/README-history.md` from the path list when the P134 rotation did NOT append (same-session same-verb near-duplicate suppression). When the transition is folded into a `fix(<scope>): ... (closes P<NNN>)` commit shipping the actual fix, include the source-tree paths the fix touched alongside the ticket file in the `--` path list.
|
|
248
|
+
|
|
239
249
|
**Commit message conventions**:
|
|
240
250
|
|
|
241
251
|
- Open → Known Error transition (standalone): `docs(problems): P<NNN> known error — <root cause summary>`
|