devrites 2.5.0 → 2.5.1

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to DevRites are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and DevRites adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Releases are generated automatically by [semantic-release](https://semantic-release.gitbook.io/) from Conventional Commits on `main`.
4
4
 
5
+ ## [2.5.1](https://github.com/ViktorsBaikers/DevRites/compare/v2.5.0...v2.5.1) (2026-06-28)
6
+
7
+ ### Fixed
8
+
9
+ * **rite:** ask HITL build gaps inline instead of deferring to resolve ([33266f1](https://github.com/ViktorsBaikers/DevRites/commit/33266f19d9ad30f53fc8ef267f486a5562be61c7))
10
+
5
11
  ## [2.5.0](https://github.com/ViktorsBaikers/DevRites/compare/v2.4.0...v2.5.0) (2026-06-28)
6
12
 
7
13
  ### Added
package/README.md CHANGED
@@ -101,7 +101,7 @@ Full diagram set (lifecycle, polish orchestrator, review fan-out, debug loop,
101
101
  rules carrier, workspace state, namespace map) →
102
102
  [`docs/flow.md`](docs/flow.md).
103
103
 
104
- **Status:** [`v2.5.0`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v2.5.0) — see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
104
+ **Status:** [`v2.5.1`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v2.5.1) — see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
105
105
 
106
106
  ## Contents
107
107
 
@@ -105,12 +105,23 @@ writes; read them yourself for the doubt/record gates or in the inline fallback:
105
105
  right next slice. Write the slice's `Mode` to `state.md` as `Slice mode: <HITL|AFK>` on
106
106
  **every** selection (not only on the HITL pause path); `/rite-resolve` clears or updates
107
107
  it on resume.
108
- 2a. **HITL gate (pre-action pause).** Read the slice's `Mode`. If `HITL` render the
109
- checkpoint per [`reference/checkpoint-protocol.md`](reference/checkpoint-protocol.md):
110
- append a `questions.md` entry with the slice's `Checkpoint:` + `Gate:` + `SLA:`,
111
- write the `Awaiting human` block to `state.md`, set `Status: awaiting_human`, run
112
- the `notify:` hook if `.devrites/AFK` defines one, then **STOP**. Resume happens
113
- when the user runs `/rite-resolve <qid> "<answer>"`.
108
+ 2a. **HITL gate (pre-action pause).** Read the slice's `Mode`. If `HITL`, surface the
109
+ checkpoint as a ranked **option set** and resolve it **before** any code lands, per
110
+ [`reference/checkpoint-protocol.md`](reference/checkpoint-protocol.md). Branch on whether
111
+ a human is here:
112
+ - **Human present (interactive — no `.devrites/AFK`) ask inline via `AskUserQuestion`.**
113
+ This is the default for an interactive build. Render 2–4 options, the recommended one
114
+ **first and labelled `(Recommended)`**, each with its dimension-tagged rationale + the
115
+ trade-off it accepts, plus the `Something else — I'll describe it` escape hatch. The
116
+ human picks; record the pick to `questions.md` (`answered`) + `decisions.md` (through the
117
+ `resolve.sh` writer), clear the gate, and **continue to step 3 in place** — do **not**
118
+ STOP, do **not** route through `/rite-resolve`.
119
+ - **Human absent / AFK (`.devrites/AFK` present) → auto-pick or persist + STOP.** For a gate
120
+ in `allow_gates`, auto-pick the recommended option (option 1) and proceed; otherwise
121
+ append the `questions.md` entry, write the `Awaiting human` block to `state.md`, set
122
+ `Status: awaiting_human`, fire the `notify:` hook, then **STOP** — resume when the user
123
+ runs `/rite-resolve <qid> "<answer>"`. `blocking` / `escalating` / irreversible-risk gates
124
+ always take this stop path, never the AFK auto-pick.
114
125
  3. **Snapshot the tree, then dispatch the build core to `devrites-slice-wright`** — one `Task`
115
126
  call, fresh context. **First**, capture the pre-dispatch tree so the reconcile gate (step 6)
116
127
  can prove you never touched source — run this immediately before the `Task` call:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "2.5.0",
3
+ "version": "2.5.1",
4
4
  "description": "DevRites — disciplined senior-engineer workflow skills pack for Claude Code",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://github.com/ViktorsBaikers/DevRites#readme",