@windyroad/jtbd 0.7.2 → 0.7.3

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.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "wr-jtbd",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "description": "Jobs-to-be-done enforcement for Claude Code"
5
5
  }
package/README.md CHANGED
@@ -12,7 +12,7 @@ The JTBD plugin:
12
12
 
13
13
  1. **Detects** when an edit touches user-facing UI files
14
14
  2. **Blocks** the edit until the JTBD agent has reviewed it
15
- 3. **Reviews** changes against your `docs/JOBS_TO_BE_DONE.md` and `docs/PRODUCT_DISCOVERY.md`
15
+ 3. **Reviews** changes against your `docs/jtbd/` directory (per-persona job files)
16
16
  4. **Reports** alignment gaps -- features that don't map to a documented job, or that conflict with persona constraints
17
17
 
18
18
  ## Install
@@ -25,13 +25,13 @@ Restart Claude Code after installing.
25
25
 
26
26
  ## Usage
27
27
 
28
- The plugin works automatically. On first use in a project without a JTBD document, it blocks edits and directs you to create one:
28
+ The plugin works automatically. On first use in a project without a JTBD directory, it blocks edits and directs you to create one:
29
29
 
30
30
  ```
31
31
  /wr-jtbd:update-guide
32
32
  ```
33
33
 
34
- This examines your existing features and asks about your user jobs, personas, and desired outcomes to generate a `docs/JOBS_TO_BE_DONE.md`.
34
+ This examines your existing features and asks about your user jobs, personas, and desired outcomes to generate `docs/jtbd/<persona>/persona.md` plus per-job files at `docs/jtbd/<persona>/JTBD-NNN-<title>.<status>.md`. If a legacy `docs/JOBS_TO_BE_DONE.md` exists, it is migrated into the directory structure on first run (per [ADR-008](../../docs/decisions/008-jtbd-directory-structure.proposed.md)).
35
35
 
36
36
  ## How It Works
37
37
 
@@ -40,15 +40,32 @@ This examines your existing features and asks about your user jobs, personas, an
40
40
  | `jtbd-eval.sh` | Every prompt | Evaluates whether the task involves user-facing UI |
41
41
  | `jtbd-enforce-edit.sh` | Edit or Write | Blocks edits until the JTBD agent has reviewed |
42
42
  | `jtbd-mark-reviewed.sh` | Agent completes | Marks the review as done (TTL: 3600s) |
43
+ | `jtbd-slide-marker.sh` | Agent or Bash | Slides the review marker forward across non-edit operations so an active review session is not invalidated by intervening Bash or sub-agent calls |
43
44
 
44
45
  ## Agent
45
46
 
46
- The `wr-jtbd:agent` reads your `docs/JOBS_TO_BE_DONE.md` and reviews proposed UI changes against:
47
+ The `wr-jtbd:agent` reads your `docs/jtbd/` directory and reviews proposed UI changes against:
47
48
 
48
- - Documented user jobs and their success criteria
49
+ - Documented user jobs (per persona) and their success criteria
49
50
  - Persona definitions and constraints
50
51
  - Screen-to-job mappings
51
52
 
53
+ ## Jobs to be Done
54
+
55
+ This plugin serves the [Jobs to be Done](../../docs/jtbd/) below. Per [ADR-051](../../docs/decisions/051-jtbd-anchored-readme-with-drift-advisory.proposed.md), the persona-grouped JTBD anchor is the canonical source of truth for the README's value framing.
56
+
57
+ ### Solo developer
58
+
59
+ - **[JTBD-001 Enforce Governance Without Slowing Down](../../docs/jtbd/solo-developer/JTBD-001-enforce-governance.proposed.md)** — JTBD review fires automatically on every UI edit; manual review is replaced by an agent reading the persona files the project already maintains.
60
+
61
+ ### Tech lead / consultant
62
+
63
+ - **[JTBD-202 Run Pre-Flight Governance Checks Before Release or Handover](../../docs/jtbd/tech-lead/JTBD-202-pre-flight-governance-check.proposed.md)** — `/wr-jtbd:review-jobs` produces an on-demand alignment report against documented jobs, attachable to a release note or handover doc.
64
+
65
+ ### Plugin user
66
+
67
+ - **[JTBD-302 Trust That the README Describes the Plugin I Just Installed](../../docs/jtbd/plugin-user/JTBD-302-trust-readme-describes-installed-behaviour.proposed.md)** — this README is anchored on current JTBD job IDs; drift between prose and shipped behaviour is detectable at retro time per ADR-051.
68
+
52
69
  ## Updating and Uninstalling
53
70
 
54
71
  ```bash
@@ -68,6 +68,9 @@ case "$FILE_PATH" in
68
68
  exit 0 ;;
69
69
  */MEMORY.md|*/.claude/projects/*/memory/*)
70
70
  exit 0 ;;
71
+ # READ tolerance only — gate skips user edits to .claude/plans/. NOT a write
72
+ # target for agents. .claude/ is user-controlled config space; agents must not
73
+ # write project-generated artefacts here. See P131.
71
74
  */.claude/plans/*.md|*.claude/plans/*.md)
72
75
  exit 0 ;;
73
76
  */RISK-POLICY.md)
@@ -80,6 +83,12 @@ case "$FILE_PATH" in
80
83
  exit 0 ;;
81
84
  */docs/problems/*.md|docs/problems/*.md)
82
85
  exit 0 ;;
86
+ # ADR-031 / RFC-002 T1 dual-pattern: per-state subdir layout
87
+ # (`docs/problems/<state>/<NNN>-<slug>.md`). Coexists with the
88
+ # flat-layout pattern above during the migration window. Drops to
89
+ # single-pattern at RFC-002 T6 once Slice A migration verifies.
90
+ */docs/problems/*/*.md|docs/problems/*/*.md)
91
+ exit 0 ;;
83
92
  */docs/jtbd/*|docs/jtbd/*)
84
93
  exit 0 ;;
85
94
  */docs/PRODUCT_DISCOVERY.md|docs/PRODUCT_DISCOVERY.md)
@@ -41,6 +41,11 @@ Does NOT apply to: CSS, images, fonts, lockfiles, changesets, memory files,
41
41
  plan files, docs/problems/ (problem tickets), docs/BRIEFING.md, docs/briefing/,
42
42
  RISK-POLICY.md, .risk-reports/, docs/jtbd/,
43
43
  docs/PRODUCT_DISCOVERY.md, docs/VOICE-AND-TONE.md, docs/STYLE-GUIDE.md.
44
+ NOTE: these exclusions are READ tolerance — the JTBD gate skips user
45
+ edits to these paths. They are NOT agent write targets. Never write
46
+ project-generated artefacts (plans, audits, scratch state) under
47
+ .claude/ — that is user-controlled config space. Project-generated
48
+ content belongs under docs/ or directly in problem-ticket bodies (P131).
44
49
  HOOK_OUTPUT
45
50
  mark_announced "jtbd" "$SESSION_ID"
46
51
  fi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windyroad/jtbd",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "description": "Jobs-to-be-done enforcement for UI changes",
5
5
  "bin": {
6
6
  "windyroad-jtbd": "./bin/install.mjs"