plumbbob 0.5.4 → 0.6.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.
Files changed (80) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +46 -17
  3. package/dist/cli-core.js +4 -0
  4. package/dist/lib/agents.js +498 -0
  5. package/dist/lib/intent.js +98 -8
  6. package/dist/lib/settings.js +17 -0
  7. package/dist/lib/sidecar.js +36 -0
  8. package/dist/verbs/agent.js +312 -0
  9. package/dist/verbs/checkpoint.js +2 -1
  10. package/dist/verbs/doctor.js +96 -3
  11. package/dist/verbs/status.js +64 -2
  12. package/node_modules/checkride/CHANGELOG.md +139 -0
  13. package/node_modules/checkride/LICENSE +21 -0
  14. package/node_modules/checkride/README.md +179 -0
  15. package/node_modules/checkride/dist/adapters.d.ts +56 -0
  16. package/node_modules/checkride/dist/adapters.d.ts.map +1 -0
  17. package/node_modules/checkride/dist/adapters.js +219 -0
  18. package/node_modules/checkride/dist/adapters.js.map +1 -0
  19. package/node_modules/checkride/dist/cli.d.ts +29 -0
  20. package/node_modules/checkride/dist/cli.d.ts.map +1 -0
  21. package/node_modules/checkride/dist/cli.js +227 -0
  22. package/node_modules/checkride/dist/cli.js.map +1 -0
  23. package/node_modules/checkride/dist/config.d.ts +74 -0
  24. package/node_modules/checkride/dist/config.d.ts.map +1 -0
  25. package/node_modules/checkride/dist/config.js +126 -0
  26. package/node_modules/checkride/dist/config.js.map +1 -0
  27. package/node_modules/checkride/dist/doctor.d.ts +76 -0
  28. package/node_modules/checkride/dist/doctor.d.ts.map +1 -0
  29. package/node_modules/checkride/dist/doctor.js +299 -0
  30. package/node_modules/checkride/dist/doctor.js.map +1 -0
  31. package/node_modules/checkride/dist/index.d.ts +18 -0
  32. package/node_modules/checkride/dist/index.d.ts.map +1 -0
  33. package/node_modules/checkride/dist/index.js +13 -0
  34. package/node_modules/checkride/dist/index.js.map +1 -0
  35. package/node_modules/checkride/dist/init.d.ts +64 -0
  36. package/node_modules/checkride/dist/init.d.ts.map +1 -0
  37. package/node_modules/checkride/dist/init.js +489 -0
  38. package/node_modules/checkride/dist/init.js.map +1 -0
  39. package/node_modules/checkride/dist/links.d.ts +23 -0
  40. package/node_modules/checkride/dist/links.d.ts.map +1 -0
  41. package/node_modules/checkride/dist/links.js +125 -0
  42. package/node_modules/checkride/dist/links.js.map +1 -0
  43. package/node_modules/checkride/dist/orchestrator.d.ts +96 -0
  44. package/node_modules/checkride/dist/orchestrator.d.ts.map +1 -0
  45. package/node_modules/checkride/dist/orchestrator.js +234 -0
  46. package/node_modules/checkride/dist/orchestrator.js.map +1 -0
  47. package/node_modules/checkride/package.json +76 -0
  48. package/node_modules/checkride/templates/flat/fallow.toml +26 -0
  49. package/node_modules/checkride/templates/flat/pnpm-workspace.yaml +6 -0
  50. package/node_modules/checkride/templates/flat/tsconfig.json +9 -0
  51. package/node_modules/checkride/templates/hybrid/fallow.toml +42 -0
  52. package/node_modules/checkride/templates/hybrid/pnpm-workspace.yaml +6 -0
  53. package/node_modules/checkride/templates/hybrid/tsconfig.json +12 -0
  54. package/node_modules/checkride/templates/monorepo/fallow.toml +44 -0
  55. package/node_modules/checkride/templates/monorepo/pnpm-workspace.yaml +7 -0
  56. package/node_modules/checkride/templates/monorepo/tsconfig.json +7 -0
  57. package/node_modules/checkride/templates/shared/cspell.json +35 -0
  58. package/node_modules/checkride/templates/shared/gitignore +10 -0
  59. package/node_modules/checkride/templates/shared/markdownlint-cli2.jsonc +11 -0
  60. package/node_modules/checkride/templates/shared/npmrc +1 -0
  61. package/node_modules/checkride/templates/shared/oxlintrc.json +33 -0
  62. package/node_modules/checkride/templates/shared/rules/no-class.yml +8 -0
  63. package/node_modules/checkride/templates/shared/rules/no-deep-sibling-import.yml +15 -0
  64. package/node_modules/checkride/templates/shared/rules/no-default-export.yml +9 -0
  65. package/node_modules/checkride/templates/shared/rules/require-js-extension.yml +21 -0
  66. package/node_modules/checkride/templates/shared/sgconfig.yml +2 -0
  67. package/node_modules/checkride/templates/shared/tsconfig.base.json +28 -0
  68. package/node_modules/checkride/templates/shared/vitest.config.ts.template +27 -0
  69. package/package.json +4 -1
  70. package/skills/pb-build/SKILL.md +47 -12
  71. package/skills/pb-finish/SKILL.md +1 -1
  72. package/skills/pb-harvest/SKILL.md +1 -1
  73. package/skills/pb-park/SKILL.md +1 -1
  74. package/skills/pb-plan/SKILL.md +25 -4
  75. package/skills/pb-refine/SKILL.md +1 -1
  76. package/skills/pb-revert/SKILL.md +1 -1
  77. package/skills/pb-spike/SKILL.md +1 -1
  78. package/skills/pb-status/SKILL.md +1 -1
  79. package/skills/pb-step/SKILL.md +10 -2
  80. package/skills/pb-verify/SKILL.md +21 -6
@@ -3,12 +3,12 @@ name: pb-verify
3
3
  description: "The verify tick — run the check, self-review the diff against intent, validate the step's done-when, pause for your approval, then checkpoint. Executor-agnostic: it reads the diff, not who wrote it."
4
4
  disable-model-invocation: true
5
5
  model: opus
6
- allowed-tools: Read, Bash(plumbbob status:*), Bash(plumbbob check:*), Bash(plumbbob checkpoint:*), Bash(git diff:*), Bash(git status:*)
6
+ allowed-tools: Read, Bash(plumbbob status:*), Bash(plumbbob check:*), Bash(plumbbob checkpoint:*), Bash(plumbbob agent:*), Bash(git diff:*), Bash(git status:*)
7
7
  ---
8
8
 
9
9
  # PlumbBob — verify a step (the tick)
10
10
 
11
- Current session state (injected when this skill runs): !`plumbbob status 2>/dev/null || echo "plumbbob CLI not found - install the dep and re-run: npm i -g plumbbob && plumbbob init"`
11
+ Current session state (injected when this skill runs): !`plumbbob status 2>/dev/null || echo "plumbbob CLI not on PATH in this session. Marketplace install: confirm the plugin is enabled in /plugin, then /reload-plugins. Skills-dir/global install: npm i -g plumbbob && plumbbob init."`
12
12
 
13
13
  This is the **tick** — the one beat where the human is the clock. Whatever produced
14
14
  the current diff — `/pb-build`, your own hands, a vibe session, another harness —
@@ -24,17 +24,29 @@ this skill verifies it the same way: **it reads the diff, not the author** (D3).
24
24
  scrollback. Report what failed and do **not** pause for approval — there is
25
25
  nothing to approve yet. The human fixes it and re-invokes. (Exit 2 means the gate
26
26
  itself broke — a harness problem to surface, not a code failure.)
27
- 2. **Self-review** *(a single structured read, D16)*. Read `git diff` and
27
+ 2. **Run any bound `after`-agents** *(optional D45)*. If the build's `harness.json`
28
+ binds agents to this step's `after` slot, run `plumbbob agent run --step <n> --mode
29
+ after`. Their envelopes are **advisory input to the self-review, never a gate** —
30
+ `plumbbob check` already gated in step 1, and an `after`-agent that could fail a step
31
+ is the lock returning in autonomy's costume (D45). Fold a `done` envelope's
32
+ `summary`/`body` into the review below; route a non-`done` one by its status (D52): a
33
+ `blocked` agent couldn't finish — surface its `notes`, let the human unblock, re-run;
34
+ a `drift` agent found the plan no longer matches reality — stop and send the human to
35
+ `/pb-refine` to repair the plan before checkpointing. No binding, or no harness, is a
36
+ clean no-op.
37
+ 3. **Self-review** *(a single structured read, D16)*. Read `git diff` and
28
38
  `.plumbbob/intent.md`, then in one pass check the diff against:
29
39
  - the current step's **done-when** criterion — is it actually met?
30
40
  - the **Decisions** — does anything contradict a settled call?
31
41
  - the **Constraints** — are any violated?
42
+ - any **`after`-agent findings** from step 2 — advisory, weigh them, don't defer to them.
32
43
  Surface every mismatch plainly. You are reviewing, not building — do not fix anything.
33
- 3. **Validate.** State, yes or no, whether the step's done-when is met, with the evidence.
34
- 4. **PAUSE.** Present the check result, the self-review, and the validation, then
44
+ 4. **Validate.** State, yes or no, whether the step's done-when is met, with the evidence.
45
+ 5. **PAUSE.** Present the check result, the self-review (with any `after`-agent
46
+ findings), and the validation, then
35
47
  **stop and wait for the human's explicit approval.** This is the convergence beat;
36
48
  the human is the clock. Never checkpoint without it.
37
- 5. **Checkpoint** *(only after approval)*. Run `plumbbob checkpoint`: it makes the WIP
49
+ 6. **Checkpoint** *(only after approval)*. Run `plumbbob checkpoint`: it makes the WIP
38
50
  commit, records the SHA, flips the step to done, appends the step to the build-log's
39
51
  `## Log`, and returns to DESIGN. The CLI owns the commit **subject**
40
52
  (`plumbbob: step N — <title>`); you own the **body**. Compose a body *proportional to
@@ -62,3 +74,6 @@ this skill verifies it the same way: **it reads the diff, not the author** (D3).
62
74
  it and end your turn.
63
75
  - **You review; you do not build.** If the self-review finds a problem, surface it
64
76
  and stop — fixing is a new build beat, not part of verify.
77
+ - **`after`-agents advise; they never gate** (D45). Their output feeds the
78
+ self-review — checkride gates, the human approves. `blocked` → unblock and re-run;
79
+ `drift` → `/pb-refine` before checkpointing. No code path makes them blocking.