litclaude-ai 0.3.22 → 0.3.26

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 (66) hide show
  1. package/CHANGELOG.md +54 -31
  2. package/README.md +35 -12
  3. package/README_ko-KR.md +31 -11
  4. package/RELEASE_CHECKLIST.md +17 -8
  5. package/bin/litclaude-ai.js +24 -1
  6. package/docs/agents.md +18 -8
  7. package/docs/hooks.md +76 -6
  8. package/docs/migration.md +28 -65
  9. package/docs/workflow-compatibility-audit.md +13 -4
  10. package/package.json +1 -1
  11. package/plugins/litclaude/.claude-plugin/plugin.json +1 -14
  12. package/plugins/litclaude/agents/boulder-executor.md +66 -0
  13. package/plugins/litclaude/agents/korean-prose-editor.md +75 -0
  14. package/plugins/litclaude/agents/korean-style-analyzer.md +74 -0
  15. package/plugins/litclaude/agents/librarian-researcher.md +76 -6
  16. package/plugins/litclaude/agents/meaning-preservation-auditor.md +75 -0
  17. package/plugins/litclaude/agents/native-flow-reviewer.md +74 -0
  18. package/plugins/litclaude/agents/oracle-verifier.md +68 -2
  19. package/plugins/litclaude/agents/polish-orchestrator.md +75 -0
  20. package/plugins/litclaude/agents/prometheus-planner.md +72 -1
  21. package/plugins/litclaude/agents/qa-runner.md +67 -1
  22. package/plugins/litclaude/agents/quality-reviewer.md +70 -4
  23. package/plugins/litclaude/bin/litclaude-hook.js +5 -1
  24. package/plugins/litclaude/bin/litclaude-mcp.js +2 -2
  25. package/plugins/litclaude/commands/deep-interview.md +66 -0
  26. package/plugins/litclaude/commands/dynamic-workflow.md +84 -1
  27. package/plugins/litclaude/commands/init-deep.md +66 -0
  28. package/plugins/litclaude/commands/korean-ai-slop-remover.md +93 -0
  29. package/plugins/litclaude/commands/lit-loop.md +66 -0
  30. package/plugins/litclaude/commands/lit-plan.md +78 -0
  31. package/plugins/litclaude/commands/lit-recap.md +66 -0
  32. package/plugins/litclaude/commands/litgoal.md +66 -0
  33. package/plugins/litclaude/commands/litresearch.md +71 -1
  34. package/plugins/litclaude/commands/review-work.md +89 -10
  35. package/plugins/litclaude/commands/start-work.md +66 -0
  36. package/plugins/litclaude/lib/litgoal/cli.mjs +28 -5
  37. package/plugins/litclaude/lib/public-source-reader/reader.mjs +198 -14
  38. package/plugins/litclaude/lib/public-source-reader/routes.mjs +3 -2
  39. package/plugins/litclaude/lib/workflow-check.mjs +102 -4
  40. package/plugins/litclaude/skills/ai-slop-remover/SKILL.md +67 -1
  41. package/plugins/litclaude/skills/comment-checker/SKILL.md +65 -0
  42. package/plugins/litclaude/skills/debugging/SKILL.md +65 -0
  43. package/plugins/litclaude/skills/deep-interview/SKILL.md +65 -0
  44. package/plugins/litclaude/skills/frontend-ui-ux/SKILL.md +65 -1
  45. package/plugins/litclaude/skills/git-master/SKILL.md +73 -0
  46. package/plugins/litclaude/skills/hyperplan/SKILL.md +80 -3
  47. package/plugins/litclaude/skills/init-deep/SKILL.md +77 -0
  48. package/plugins/litclaude/skills/korean-ai-slop-remover/SKILL.md +120 -0
  49. package/plugins/litclaude/skills/lit-loop/SKILL.md +145 -0
  50. package/plugins/litclaude/skills/lit-plan/SKILL.md +238 -24
  51. package/plugins/litclaude/skills/lit-recap/SKILL.md +65 -0
  52. package/plugins/litclaude/skills/litgoal/SKILL.md +65 -0
  53. package/plugins/litclaude/skills/litresearch/SKILL.md +181 -8
  54. package/plugins/litclaude/skills/lsp/SKILL.md +65 -0
  55. package/plugins/litclaude/skills/lsp-setup/SKILL.md +65 -0
  56. package/plugins/litclaude/skills/programming/SKILL.md +150 -0
  57. package/plugins/litclaude/skills/refactor/SKILL.md +71 -3
  58. package/plugins/litclaude/skills/remove-ai-slops/SKILL.md +73 -2
  59. package/plugins/litclaude/skills/review-work/SKILL.md +256 -32
  60. package/plugins/litclaude/skills/rules/SKILL.md +65 -0
  61. package/plugins/litclaude/skills/start-work/SKILL.md +153 -0
  62. package/plugins/litclaude/skills/visual-qa/SKILL.md +143 -6
  63. package/scripts/doctor.mjs +1 -0
  64. package/scripts/qa-claude-plugin-smoke.sh +2 -0
  65. package/scripts/qa-portable-install.sh +4 -2
  66. package/scripts/validate-plugin.mjs +4 -1
package/CHANGELOG.md CHANGED
@@ -1,8 +1,34 @@
1
1
  # Changelog
2
2
 
3
- ## 0.3.22 - 2026-07-07full lit-family bare invocation release prep
3
+ ## 0.3.26 - 2026-07-11planning quality and orchestration safety
4
4
 
5
- - Prepare `litclaude-ai@0.3.22` for npm publication after extending bare lit-family prompt-hook routes to inject the installed `SKILL.md` body.
5
+ - Make `lit-plan` checklist depth adaptive: one bounded objective, explicit
6
+ non-goals, resolved or gated unknowns, Action/Output/Verification items,
7
+ decision branches, proportionate evidence, and a replayable DoneClaim.
8
+ - Add `review-work` plan-review mode with scope, objective-achievability,
9
+ checklist-atomicity, evidence, failure, and cleanup audits while preserving
10
+ the completed-work 5-lane review and the planning-only no-implementation
11
+ boundary.
12
+ - Harden orchestration readiness against disabled or malformed user, project,
13
+ and managed-policy settings; remove delegation from the standalone planner
14
+ and document bounded workflow lifecycle and cleanup behavior.
15
+
16
+ ## 0.3.25 - 2026-07-09 — portable and public-read release prep
17
+
18
+ - Prepare `litclaude-ai@0.3.25` after aligning installed portable details,
19
+ `public-read`, `litgoal status --json`, evidence wording, and release docs for
20
+ manual npm publication.
21
+ - Preserve local `HANDOFF_litclaude.md` continuation state outside product
22
+ commits.
23
+
24
+ ## 0.3.24 - 2026-07-08 — auxiliary skill inventory and advisory probes
25
+
26
+ - Prepare `litclaude-ai@0.3.24` after aligning public auxiliary skill inventories for `frontend-ui-ux`, `git-master`, `lsp-setup`, and `visual-qa` without adding slash-command routes.
27
+ - Add non-mutating advisory probe coverage for shipped LSP setup and visual QA helper scripts while preserving local `HANDOFF_litclaude.md` state outside product commits.
28
+
29
+ ## 0.3.23 - 2026-07-08 — full lit-family clean-room release prep
30
+
31
+ - Prepare `litclaude-ai@0.3.23` for npm publication after extending bare lit-family prompt-hook routes to inject the installed `SKILL.md` body.
6
32
  - Keep the safe natural-language `lit start work` BLOCKED handoff while explicit bare skill routes carry full prompt context.
7
33
 
8
34
  ## 0.3.21 - 2026-07-07 — full bare skill-body routing
@@ -176,7 +202,7 @@
176
202
  **user-typed slash command** that sets an autonomous completion condition — it is **not a
177
203
  model-facing tool**, and a hook or skill **cannot invoke it**. The previous guidance led with a
178
204
  `get_goal`/`create_goal`/`update_goal` "native goal tool" path that does not exist in any current
179
- Claude Code (a residue of the upstream Codex lineage), which buried the only real mechanism.
205
+ Claude Code (a residue of retired non-Claude lineage), which buried the only real mechanism.
180
206
  - Now, when a goal is worth binding (hook injection on `lit`/`litwork`/`/litgoal`, and the `lit-loop`,
181
207
  `lit-plan`, `start-work`, `litgoal` skills), LitClaude **proposes a concrete, ready-to-paste
182
208
  `/goal <completion condition>`** for the user and keeps the durable record in the local litgoal
@@ -210,11 +236,9 @@
210
236
  explore-subagent scaling, a weighted scoring matrix, AGENTS.md templates, and quality gates. All
211
237
  reference orchestration/LSP calls are re-authored to Claude Code surfaces (`Agent`/`Task` background
212
238
  subagents, the `LSP` tool, `Workflow` for parallel generation, `TodoWrite`) — no literal calls to
213
- missing tools, no Codex/opencode tokens.
214
- - Add `plans/litclaude-reference-parity-sdd.md`: a decision-complete SDD plan capturing the full
215
- OmO-reference parity audit (all 11 shared skills + both auxiliary packs are byte-identical) and the
216
- remaining portable ports (`init-deep` done; `visual-qa` and `lsp-setup` planned), plus a verified
217
- deliberate-omission (N/A) registry. Allowlisted as a non-shipped doc-class file.
239
+ missing tools, no non-Claude runtime tokens.
240
+ - Capture the portable parity audit in an internal plan, with `init-deep` completed and
241
+ `visual-qa` / `lsp-setup` planned, while keeping public package surfaces brand-clean.
218
242
 
219
243
  ## 0.3.2 - 2026-06-14 — port the git-master skill
220
244
 
@@ -235,20 +259,19 @@
235
259
 
236
260
  ## 0.3.0 - 2026-06-14 — LitClaude rebrand + lit-family vocab + neon HUD
237
261
 
238
- - Rename `ulw`/`ultra*` trigger vocabulary to the **lit family**: `lit`, `litwork`, `lit-loop`,
262
+ - Rename the retired trigger vocabulary to the **lit family**: `lit`, `litwork`, `lit-loop`,
239
263
  `lit-plan`, and `litgoal` end-to-end across hooks, skills, commands, and documentation.
240
264
  - `lit` trigger now maps to `lit-loop` semantics with a soft-confirm step before long execution
241
265
  instead of falling through to a plain loop.
242
266
  - Ship a neon `[🔥LITCLAUDE]` truecolor-gradient HUD (hot-pink → cyan gradient; bright-magenta
243
267
  fallback on 256-color terminals) branded with `[🔥LITCLAUDE vX.Y.Z]`.
244
- - Rename the project from **LazyClaude / `lazyclaude-ai`** to **LitClaude / `litclaude-ai`**
245
- end-to-end: npm package, `litclaude`/`litclaude-ai` bins, `plugins/litclaude/` payload, installer
246
- identifiers (`litclaude@litclaude-ai`), 13 `LITCLAUDE_*` env vars, per-project state dir
247
- `.litclaude/` (was `.omo/`), HUD banner `[LitClaude vX.Y.Z]` (dropped the 💤), and the 7
248
- `litclaude:*` slash commands. See `docs/migration.md` for the upgrade guide.
249
- - Add a fail-closed legacy-token scanner (`tools/scan-legacy-tokens.mjs`) + allowlist that keeps the
250
- shipped surface free of legacy and upstream-lineage tokens and the source-origin handle;
251
- `ulw`/`ultrawork` are kept as own vocabulary.
268
+ - Rename the project to **LitClaude / `litclaude-ai`** end-to-end: npm package,
269
+ `litclaude`/`litclaude-ai` bins, `plugins/litclaude/` payload, installer identifiers
270
+ (`litclaude@litclaude-ai`), 13 `LITCLAUDE_*` env vars, per-project state dir `.litclaude/`,
271
+ HUD banner `[LitClaude vX.Y.Z]`, and the 7 `litclaude:*` slash commands. See
272
+ `docs/migration.md` for current install and state surfaces.
273
+ - Add a fail-closed guarded-token scanner (`tools/scan-legacy-tokens.mjs`) that keeps tracked
274
+ and shipped surfaces free of retired identity, vocabulary, and source-trace terms.
252
275
  - Add a no-publish CI workflow (`.github/workflows/ci.yml`, `permissions: contents: read`) plus
253
276
  version-lockstep, CI-integrity, and pack-payload hardening gates.
254
277
  - Make the atomic state store durable (fsync), remove the ported `codex:` session-id residue (Claude
@@ -283,11 +306,11 @@
283
306
 
284
307
  - Align the package and Claude plugin manifests to `litclaude-ai@0.2.0` for
285
308
  the workflow parity release candidate.
286
- - Add the `review-work` 5-lane review route and document its goal/constraint
287
- verification, hands-on QA execution, code quality, security, and local-first
288
- context mining lanes.
289
- - Add the `ultragoal` CLI/runtime surface for durable criteria, evidence,
290
- checkpoints, steering, and review blocker records under `.litclaude/ultragoal/`.
309
+ - Add the `review-work` 5-lane review route and document its scope/diff,
310
+ tests/evidence, package/payload and code quality, security/provenance, and
311
+ real-surface/docs readiness lanes.
312
+ - Add the durable goal CLI/runtime surface for criteria, evidence, checkpoints,
313
+ steering, and review blocker records under `.litclaude/litgoal/`.
291
314
  - Keep the release boundary explicit: this version is prepared for verification
292
315
  and publication approval, but no npm publish or marketplace publication is claimed
293
316
  here.
@@ -319,7 +342,7 @@
319
342
  `/litclaude:deep-interview` routing for a Socratic requirements mode before
320
343
  planning or implementation.
321
344
  - Ship the `deep-interview` skill and its progress renderer, plus English and
322
- Korean README guidance for when to chain it into `/ulw-plan` or `/ulw-loop`.
345
+ Korean README guidance for when to chain it into the planning or execution routes.
323
346
 
324
347
  ## 0.1.15 - 2026-06-01
325
348
 
@@ -340,11 +363,11 @@
340
363
 
341
364
  ## 0.1.13 - 2026-06-01
342
365
 
343
- - Fix short slash ULW routing so `/ulw-plan`, `/ulw-loop`, and `/start-work`
344
- map to their matching LitClaude disciplines instead of falling through to
345
- plain `ulw` loop activation.
346
- - Preserve punctuation-delimited triggers such as `ulw.` and `/ulw-plan, ...`
347
- while ignoring hyphenated near-misses such as `/ulw-plan-ish`.
366
+ - Fix short slash route handling so planning, execution, and `/start-work`
367
+ map to their matching LitClaude disciplines instead of falling through to a
368
+ plain loop activation.
369
+ - Preserve punctuation-delimited short triggers while ignoring hyphenated
370
+ near-misses.
348
371
  - Round HUD context/rate-limit percentages before rendering, so floating-point
349
372
  values such as `7.000000000000001%` never leak into the status line.
350
373
  - Ignore transcript entries that start with `<local-command-stdout>` or
@@ -368,8 +391,8 @@
368
391
  generation to `litclaude-ai@0.1.11`.
369
392
  - Refresh README, reference metadata, and workflow
370
393
  compatibility audit wording.
371
- - Deepen trigger-specific hook routing for `$ulw-plan`, `$ulw-loop`, and
372
- `$start-work`, with safer post-edit diagnostic guidance.
394
+ - Deepen trigger-specific hook routing for planning, execution, and `$start-work`,
395
+ with safer post-edit diagnostic guidance.
373
396
 
374
397
  ## 0.1.10 - 2026-06-01
375
398
 
@@ -383,7 +406,7 @@
383
406
 
384
407
  ## 0.1.7
385
408
 
386
- - Expand the workflow compatibility audit beyond skill frontmatter into upstream legacy
409
+ - Expand the workflow compatibility audit beyond skill frontmatter into portable
387
410
  component coverage.
388
411
  - Ship the original `ai-slop-remover` skill alias alongside the LitClaude
389
412
  `remove-ai-slops` skill.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
  <p align="center">
11
11
  <img src="https://img.shields.io/badge/npm-litclaude--ai-cb3837" />
12
- <img src="https://img.shields.io/badge/version-0.3.22-2ea44f" />
12
+ <img src="https://img.shields.io/badge/version-0.3.26-2ea44f" />
13
13
  <img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" />
14
14
  <img src="https://img.shields.io/badge/license-MIT-blue" />
15
15
  </p>
@@ -22,10 +22,10 @@
22
22
  > `litclaude@litclaude-ai`, so normal `claude` launches can load the
23
23
  > LitClaude skills and hooks without a long `--plugin-dir` command.
24
24
 
25
- This checkout is prepared as `litclaude-ai@0.3.22` for personal install
25
+ This checkout is prepared as `litclaude-ai@0.3.26` for personal install
26
26
  convenience. The repo can remain quiet; preparing npm package metadata here does
27
27
  not imply public repo promotion, marketplace publication, or advertisement.
28
- Future package releases still require explicit user approval. The v0.3.22
28
+ Future package releases still require explicit user approval. The v0.3.26 release material adds adaptive objective-achievable planning, draft-plan review, and orchestration readiness hardening. The v0.3.25 release material aligns portable details, public-read, litgoal status JSON, and evidence wording. The v0.3.24 release material aligns auxiliary skill inventories and advisory probes. The v0.3.23
29
29
  release materials inject the bundled skill bodies for bare `hyperplan`,
30
30
  `litresearch`, `lit research`, `init-deep`, and explicit `$start-work` prompt-hook routes while
31
31
  preserving the v0.3.19 adversarial planning skill, the v0.3.18 read-only `lit-recap` session recap surface, the v0.3.17 separate-worker native `/goal` launcher, the v0.3.16
@@ -60,8 +60,9 @@ activation/read-only polish, and installer permission-preference discipline.
60
60
  and MCP `public_source_read` provide a callable JS-only public page reader with
61
61
  SSRF/private-host guards, auth/paywall stop reasons, metadata/JSON-LD fallback,
62
62
  and route evidence for research lanes
63
- - **5-lane review** - `/review-work` checks goal/constraint verification,
64
- hands-on QA execution, code quality, security, and local-first context mining
63
+ - **5-lane review** - `/review-work` checks scope/diff verification,
64
+ tests/evidence execution, package/payload and code quality,
65
+ security/provenance, and real-surface/docs readiness
65
66
  - **Native goal guidance** - LIT context points Claude toward `/goal` or
66
67
  model-facing `get_goal`, `create_goal`, and delayed `update_goal` when those
67
68
  surfaces exist, and gives a clear fallback when goal tools are unavailable
@@ -71,11 +72,17 @@ activation/read-only polish, and installer permission-preference discipline.
71
72
  - **Dynamic workflow/worktree guidance** - large or parallel tasks are steered
72
73
  toward Claude Code Dynamic workflow orchestration, subagent delegation, and
73
74
  Dynamic worktree isolation
75
+ - **Observable orchestration gates** - `workflow-check --json` fails when locally observable environment, user/project settings, or macOS/Linux managed-policy files disable workflows/background tasks, or when tool concurrency is effectively serial. It reports remote organization policy as not locally observable; a local pass cannot override a remote administrator denial. Claude Code 2.1.207 workflow ceilings (16 concurrent, 1000 total), cost-bearing `acceptEdits` workers, one-team-per-lead ownership, graceful teammate shutdown, and resume/orphan-tmux checks are explicit lifecycle constraints.
74
76
  - **Claude skills** - a richer LitClaude-owned corpus: `programming`,
75
77
  `debugging`, `refactor`, `ai-slop-remover`, `remove-ai-slops`,
76
78
  `korean-ai-slop-remover`, `review-work`, `frontend-ui-ux`,
77
- `comment-checker`, `rules`, `lsp`, `litgoal`, `deep-interview`, `hyperplan`,
78
- `lit-plan`, `lit-recap`, `lit-loop`, and `start-work`
79
+ `git-master`, `comment-checker`, `rules`, `lsp`, `lsp-setup`, `litgoal`,
80
+ `deep-interview`, `hyperplan`, `init-deep`, `litresearch`,
81
+ `lit-plan`, `lit-recap`, `lit-loop`, `start-work`, and `visual-qa`
82
+ - **Auxiliary Skill-discovery entries** - `frontend-ui-ux`, `git-master`,
83
+ `lsp-setup`, and `visual-qa` are shipped skill ids discoverable through
84
+ Claude Code's native Skill discovery; they intentionally do not add extra
85
+ slash or dollar prompt routes
79
86
  - **Auxiliary workflow packs** - ships `programming/references`,
80
87
  `programming/scripts`, and `debugging/references` for deeper language and
81
88
  runtime guidance
@@ -113,7 +120,7 @@ directory, the normal install command works:
113
120
 
114
121
  ```bash
115
122
  cd /tmp
116
- npx --yes litclaude-ai@0.3.22 install
123
+ npx --yes litclaude-ai@0.3.26 install
117
124
  ```
118
125
 
119
126
  Validate the installed plugin:
@@ -126,7 +133,7 @@ The installer also sets Claude Code's `statusLine` command to the packaged
126
133
  LitClaude HUD. A typical no-color render starts like:
127
134
 
128
135
  ```text
129
- [🔥LITCLAUDE v0.3.22] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
136
+ [🔥LITCLAUDE v0.3.26] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
130
137
  ```
131
138
 
132
139
  The `↻` suffix is a compact rate-limit reset countdown. It is separated from
@@ -316,13 +323,26 @@ active plan, ledger path, and first unchecked top-level task. If the plan is
316
323
  complete, it returns `{"status":"idle","directive":null}`.
317
324
 
318
325
  For v0.2.0 workflow parity, `review-work` is the dedicated review route. It is a
319
- 5-lane review: goal/constraint verification, hands-on QA execution, code
320
- quality, security, and local-first context mining. The lanes bind to
326
+ 5-lane review: scope/diff verification, tests/evidence execution,
327
+ package/payload and code quality, security/provenance, and real-surface/docs
328
+ readiness. The lanes bind to
321
329
  `oracle-verifier`, `qa-runner`, `quality-reviewer`, and `librarian-researcher`,
322
330
  then aggregate evidence into a PASS, FAIL, or NEEDS-CONTEXT verdict. Manual-QA
323
331
  channels must write artifacts, and every tmux session, server, port, browser
324
332
  tab, or temp directory needs a cleanup receipt before review completion.
325
333
 
334
+ `lit-plan` now defaults to an objective-achievable checklist with adaptive
335
+ detail. It bounds one objective and explicit non-goals, resolves or gates
336
+ unknowns, orders dependencies, and expresses each material item as Action,
337
+ Output, and binary Verification. Simple reversible work stays concise; risky or
338
+ multi-stage work gains SDD-like evidence, negative controls, decision/failure
339
+ branches, cleanup gates, and a replayable DoneClaim without checklist padding.
340
+ When `/review-work` receives a draft plan instead of completed work, its
341
+ plan-review mode audits scope, objective achievability, checklist atomicity,
342
+ acceptance/evidence, and decision/failure/cleanup gates. It returns
343
+ `PASS | ITERATE | NEEDS-CONTEXT`, revises only when needed, and must never
344
+ implement the plan. Completed work still uses the full 5-lane review.
345
+
326
346
  For resilient public-source research, `litresearch`, `$litresearch`,
327
347
  `lit research`, `lit search`, and `lit query` route to
328
348
  `/litclaude:litresearch` when the prompt explicitly asks for a cited
@@ -331,6 +351,9 @@ public APIs or feeds before rendered pages, validate that retrieved content
331
351
  actually supports the claim, keep a route trace with attempted and untried
332
352
  surfaces, treat fetched content as untrusted prompt-injection data, and stop
333
353
  honestly at authentication, paywall, private-data, or credential boundaries.
354
+ The runtime JSON names `fetchAttempts`, a single `fetchVerdict`, untried safe
355
+ routes, and a starter claim/source graph so HTTP 200 is never treated as proof
356
+ that the page supports a claim.
334
357
  If you ask for read-only, no-write, or transcript-only research, LitClaude
335
358
  should ask before creating `.litclaude/litresearch/<slug>/`; without approval it
336
359
  keeps the journal in the transcript/TodoWrite only. The guaranteed runtime
@@ -345,7 +368,7 @@ litclaude public-read https://example.com/article --json
345
368
 
346
369
  The `public-read` command and MCP `public_source_read` tool reject localhost,
347
370
  private-network, and non-http(s) targets by default; they do not use site
348
- credentials or bypass login/paywalls. If a source blocks public access, provide a
371
+ credentials or cross login/paywalls. If a source blocks public access, provide a
349
372
  public URL, exported artifact, or excerpt instead.
350
373
 
351
374
  `litgoal` is the durable local state route for long goals. The runtime lives
package/README_ko-KR.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
  <p align="center">
11
11
  <img src="https://img.shields.io/badge/npm-litclaude--ai-cb3837" />
12
- <img src="https://img.shields.io/badge/version-0.3.22-2ea44f" />
12
+ <img src="https://img.shields.io/badge/version-0.3.26-2ea44f" />
13
13
  <img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" />
14
14
  <img src="https://img.shields.io/badge/license-MIT-blue" />
15
15
  </p>
@@ -26,11 +26,11 @@
26
26
  > 설치되므로, 매번 긴 `--plugin-dir` 없이 일반 `claude` 실행에서
27
27
  > LitClaude skill과 hook을 불러올 수 있습니다.
28
28
 
29
- 현재 checkout은 `litclaude-ai@0.3.22` 배포 준비용으로 정리되어 있습니다. 목적은
29
+ 현재 checkout은 `litclaude-ai@0.3.26` 배포 준비용으로 정리되어 있습니다. 목적은
30
30
  다른 PC에서도 빠르게 설치하기 위한 개인용 package metadata를 갖추는 것입니다.
31
31
  npm package metadata를 준비했다고 해서 홍보, 공개 저장소 운영, Claude
32
32
  marketplace 등록을 의미하지는 않습니다. 새 버전 배포는 항상 별도의 명시적
33
- 승인 후에 진행합니다. v0.3.22 release material은 bare `hyperplan`,
33
+ 승인 후에 진행합니다. v0.3.26 release material은 adaptive objective-achievable planning, draft-plan review, orchestration readiness hardening을 추가합니다. v0.3.25 release material은 portable details, public-read, litgoal status JSON, evidence wording을 정렬합니다. v0.3.24 release material은 auxiliary skill inventory와 advisory probe를 정렬합니다. v0.3.23 release material은 bare `hyperplan`,
34
34
  `litresearch`, `lit research`, `init-deep`, explicit `$start-work` prompt-hook route에
35
35
  bundled skill body를 주입하면서, v0.3.19 adversarial planning
36
36
  skill, v0.3.18 read-only `lit-recap` session recap surface, v0.3.17 별도 worker 기반 native `/goal`
@@ -64,8 +64,9 @@ litresearch activation/read-only polish를 유지합니다.
64
64
  - **v0.3.13 public-source reader runtime** - `litclaude public-read <url> --json`와
65
65
  MCP `public_source_read`가 SSRF/private-host guard, auth/paywall stop reason,
66
66
  metadata/JSON-LD fallback, route evidence를 제공하는 JS-only public page reader를 추가
67
- - **5-lane review** - `/review-work`가 goal/constraint verification,
68
- hands-on QA execution, code quality, security, local-first context mining을
67
+ - **5-lane review** - `/review-work`가 scope/diff verification,
68
+ tests/evidence execution, package/payload and code quality,
69
+ security/provenance, real-surface/docs readiness를
69
70
  한 번에 점검
70
71
  - **Native goal guidance** - Claude Code가 `/goal` 또는 `get_goal`,
71
72
  `create_goal`, `update_goal` 같은 goal surface를 제공하면 이를 우선
@@ -75,11 +76,17 @@ litresearch activation/read-only polish를 유지합니다.
75
76
  아래에 기록
76
77
  - **Dynamic workflow/worktree guidance** - 크거나 병렬적인 작업은 Claude
77
78
  Code Dynamic workflow, subagent delegation, Dynamic worktree 격리 쪽으로 유도
79
+ - **관측 가능한 orchestration gate** - `workflow-check --json`은 로컬에서 확인 가능한 환경변수, 사용자/프로젝트 설정, macOS/Linux managed-policy 파일이 workflow/background task를 끄거나 tool concurrency가 사실상 직렬이면 실패합니다. 원격 조직 정책은 로컬에서 관측할 수 없다고 명시하므로, 로컬 PASS가 원격 관리자의 deny를 무효화한다는 뜻은 아닙니다. Claude Code 2.1.207의 workflow 상한(동시 16, 누적 1000), 비용이 발생하는 `acceptEdits` worker, lead당 team 1개, teammate graceful shutdown, resume 후 orphan tmux 재확인을 명시적 lifecycle 제약으로 다룹니다.
78
80
  - **Claude skills** - LitClaude 스타일을 더 풍부하게 옮긴 corpus:
79
81
  `programming`, `debugging`, `refactor`, `ai-slop-remover`, `remove-ai-slops`,
80
82
  `korean-ai-slop-remover`, `review-work`, `frontend-ui-ux`,
81
- `comment-checker`, `rules`, `lsp`, `litgoal`, `deep-interview`, `hyperplan`,
82
- `lit-plan`, `lit-recap`, `lit-loop`, `start-work`
83
+ `git-master`, `comment-checker`, `rules`, `lsp`, `lsp-setup`, `litgoal`,
84
+ `deep-interview`, `hyperplan`, `init-deep`, `litresearch`,
85
+ `lit-plan`, `lit-recap`, `lit-loop`, `start-work`, `visual-qa`
86
+ - **Auxiliary Skill-discovery entries** - `frontend-ui-ux`, `git-master`,
87
+ `lsp-setup`, `visual-qa`는 Claude Code native Skill discovery로 찾는
88
+ shipped skill id입니다. 별도의 slash route나 dollar prompt route를 추가하지
89
+ 않습니다.
83
90
  - **Auxiliary workflow packs** - `programming/references`,
84
91
  `programming/scripts`, `debugging/references`까지 포함해서 언어별,
85
92
  런타임별 세부 지침을 보존
@@ -117,7 +124,7 @@ checkout을 먼저 해석해서 `sh: litclaude-ai: command not found`로 실패
117
124
 
118
125
  ```bash
119
126
  cd /tmp
120
- npx --yes litclaude-ai@0.3.22 install
127
+ npx --yes litclaude-ai@0.3.26 install
121
128
  ```
122
129
 
123
130
  설치 상태를 확인합니다.
@@ -130,7 +137,7 @@ installer는 Claude Code의 `statusLine` command도 packaged LitClaude HUD로
130
137
  설정합니다. 색상을 제거한 예시는 다음처럼 시작합니다.
131
138
 
132
139
  ```text
133
- [🔥LITCLAUDE v0.3.22] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
140
+ [🔥LITCLAUDE v0.3.26] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
134
141
  ```
135
142
 
136
143
  `↻` 표시는 rate-limit reset까지 남은 시간을 짧게 보여주는 countdown입니다.
@@ -296,13 +303,26 @@ plan, ledger path, 첫 번째 unchecked top-level task를 출력합니다. Plan
296
303
  `{"status":"idle","directive":null}`을 반환합니다.
297
304
 
298
305
  v0.2.0 workflow parity에서 `review-work`는 전용 review route입니다. 5-lane
299
- review는 goal/constraint verification, hands-on QA execution, code quality,
300
- security, local-first context mining을 포함합니다. 각 lane은
306
+ review는 scope/diff verification, tests/evidence execution,
307
+ package/payload and code quality, security/provenance,
308
+ real-surface/docs readiness를 포함합니다. 각 lane은
301
309
  `oracle-verifier`, `qa-runner`, `quality-reviewer`, `librarian-researcher`에
302
310
  연결되고, 증거를 모아 PASS, FAIL, NEEDS-CONTEXT verdict로 정리합니다.
303
311
  Manual-QA channels는 artifact를 남겨야 하며 tmux session, server, port,
304
312
  browser tab, temp directory는 completion 전에 cleanup receipt를 남겨야 합니다.
305
313
 
314
+ `lit-plan`은 이제 adaptive detail을 적용한 objective-achievable checklist를
315
+ 기본으로 만듭니다. 하나의 bounded objective와 명시적 non-goals를 고정하고,
316
+ unknown을 해소하거나 gate로 전환하며, dependency 순서에 따라 각 핵심 항목을
317
+ Action, Output, binary Verification으로 작성합니다. 단순하고 되돌릴 수 있는
318
+ 작업은 짧게 유지하고, 위험하거나 multi-stage인 작업만 SDD-like evidence,
319
+ negative control, decision/failure branch, cleanup gate, replayable DoneClaim을
320
+ 갖춥니다. checklist padding은 추가하지 않습니다. `/review-work`가 완료된 diff가
321
+ 아니라 draft plan을 받으면 plan-review mode로 scope, objective achievability,
322
+ checklist atomicity, acceptance/evidence, decision/failure/cleanup gate를 점검합니다.
323
+ `PASS | ITERATE | NEEDS-CONTEXT` 중 하나를 반환하며, 필요한 부분만 수정하고
324
+ plan을 must not implement 합니다. 완료된 작업은 기존 5-lane review를 유지합니다.
325
+
306
326
  공개 소스 조사(public-source research)가 필요할 때 `litresearch`,
307
327
  `$litresearch`, `lit research`, `lit search`, `lit query`는 명시적인 cited
308
328
  investigation 요청에 한해 `/litclaude:litresearch`로 라우팅됩니다. Web lane은
@@ -1,7 +1,10 @@
1
1
  # LitClaude Release Checklist
2
2
 
3
- Status: `litclaude-ai@0.3.22` is the current release candidate — a full bare
4
- skill-body prompt-hook routing release on top of the planning-only Hyperplan skill and read-only `lit-recap`
3
+ Status: `litclaude-ai@0.3.26` is the current release candidate — an adaptive
4
+ planning, draft-plan review, and orchestration-safety release on top of the portable
5
+ details, public-read, litgoal-status, and evidence-wording release and the auxiliary
6
+ skill inventory and advisory-probe release and the full bare
7
+ skill-body prompt-hook routing release, planning-only Hyperplan skill, and read-only `lit-recap`
5
8
  session recap surface (command, skill, and bounded hook routing
6
9
  including the Korean `리캡` trigger), the dry-run-first native `/goal`
7
10
  worker launcher, WSL2 HUD gradient hotfix, Korean AI-slop removal workflow
@@ -12,9 +15,9 @@ side-effect-free, the launcher starts only a separate Claude Code
12
15
  print/background worker, and the release preserves the Korean polishing
13
16
  command, strict multi-agent review pipeline, fidelity guardrails, package
14
17
  hygiene checks, native route gates, and safe start-work handoff behavior.
15
- `package.json` is aligned to `0.3.22`,
16
- `plugins/litclaude/.claude-plugin/plugin.json` is aligned to `0.3.22`, and the
17
- plugin-local MCP server reports `0.3.22`.
18
+ `package.json` is aligned to `0.3.26`,
19
+ `plugins/litclaude/.claude-plugin/plugin.json` is aligned to `0.3.26`, and the
20
+ plugin-local MCP server reports `0.3.26`.
18
21
 
19
22
  This release carries the v0.2.2 Dynamic workflow hardening surfaces:
20
23
  `/dynamic-workflow`, `workflow-check --json`, native `/goal` fallback guidance,
@@ -63,9 +66,9 @@ No npm publication is required for this track.
63
66
  Before requesting publication approval, confirm these artifacts from the current
64
67
  checkout:
65
68
 
66
- - `package.json` version is `0.3.22`.
67
- - `plugins/litclaude/.claude-plugin/plugin.json` version is `0.3.22`.
68
- - `plugins/litclaude/bin/litclaude-mcp.js` reports server version `0.3.22`.
69
+ - `package.json` version is `0.3.26`.
70
+ - `plugins/litclaude/.claude-plugin/plugin.json` version is `0.3.26`.
71
+ - `plugins/litclaude/bin/litclaude-mcp.js` reports server version `0.3.26`.
69
72
  - Prompt-hook tests cover bundled `SKILL.md` body injection for bare `hyperplan`, `litresearch`, `lit research`, `init-deep`, and explicit `$start-work`, while natural-language `lit start work` stays BLOCKED.
70
73
  - `lit search` and `lit query` route to `/litclaude:litresearch` without activating on slash mentions, code spans, or non-lit prompts.
71
74
  - Litresearch web lanes require public API/feed preference, validator-first checks, route traces, prompt-injection quarantine, and honest auth/paywall/private-data stop reasons.
@@ -80,6 +83,12 @@ checkout:
80
83
  - PostToolUse hook tests cover patch-shaped mutated-file extraction.
81
84
  - SessionStart hook tests cover context-pressure resume guidance.
82
85
  - `plugins/litclaude/commands/review-work.md` documents the 5-lane review.
86
+ - `plugins/litclaude/commands/lit-plan.md` documents adaptive
87
+ Action/Output/Verification checklists and a DoneClaim without fixed checklist
88
+ padding.
89
+ - `plugins/litclaude/commands/review-work.md` distinguishes plan-review mode
90
+ (`PASS | ITERATE | NEEDS-CONTEXT`, no implementation) from the completed-work
91
+ 5-lane review.
83
92
  - `plugins/litclaude/commands/litgoal.md` documents durable goal state.
84
93
  - `plugins/litclaude/lib/litgoal/` ships the runtime CLI/state modules.
85
94
  - `node bin/litclaude-ai.js litgoal --help` prints durable state commands.
@@ -35,7 +35,7 @@ Commands:
35
35
  litgoal Manage litgoal runtime state and evidence.
36
36
  workflow-check Verify Dynamic workflow, /goal, and subagent delegation readiness.
37
37
  start-work-next Print the next active start-work continuation directive.
38
- public-read Read a public http(s) source with SSRF/auth safety stops.
38
+ public-read Read a public http(s) source with FetchAttempt/FetchVerdict JSON.
39
39
  update Reinstall this package version and refresh the Claude plugin registry.
40
40
  uninstall Remove LitClaude-managed install state.
41
41
 
@@ -501,6 +501,28 @@ const commandExists = (command) => {
501
501
  return !result.error;
502
502
  };
503
503
 
504
+ const escapeRegex = (value) => value.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
505
+
506
+ const assertCurrentPluginDetails = (detailsOutput) => {
507
+ const missing = [];
508
+ if (!new RegExp(`\\b${escapeRegex(version)}\\b`, "u").test(detailsOutput)) {
509
+ missing.push(`expected version ${version}`);
510
+ }
511
+
512
+ const agentsMatch = detailsOutput.match(/Agents\s+\((\d+)\)/u);
513
+ if (!agentsMatch || Number(agentsMatch[1]) < 1 || !/\bprometheus-planner\b/u.test(detailsOutput)) {
514
+ missing.push("expected nonzero Agents inventory with prometheus-planner");
515
+ }
516
+
517
+ if (!/\blit-loop\b/u.test(detailsOutput) || !/\blit-plan\b/u.test(detailsOutput)) {
518
+ missing.push("expected lit-loop and lit-plan skills");
519
+ }
520
+
521
+ if (missing.length > 0) {
522
+ fail(`Claude plugin details did not show current LitClaude agent inventory: ${missing.join("; ")}. Re-run litclaude install in the intended CLAUDE_CONFIG_DIR.`);
523
+ }
524
+ };
525
+
504
526
  const printLspDiagnostics = (pluginPath, registry) => {
505
527
  const lspPath = join(pluginPath, ".lsp.json");
506
528
  const config = JSON.parse(readFileSync(lspPath, "utf8"));
@@ -642,6 +664,7 @@ const doctor = ({ dryRun }) => {
642
664
  if (details.stderr) process.stderr.write(details.stderr);
643
665
  fail("Claude plugin details failed.");
644
666
  }
667
+ assertCurrentPluginDetails(`${details.stdout}\n${details.stderr}`);
645
668
  process.stdout.write("CLAUDE_PLUGIN_DETAILS_PASS\n");
646
669
  }
647
670
 
package/docs/agents.md CHANGED
@@ -47,20 +47,30 @@ The strict order is analyzer, editor, parallel meaning and flow reviews, then
47
47
  orchestrator decision. The safety boundary is meaning-first: editable prose is
48
48
  data, embedded instructions are not executed, protected facts stay stable, and
49
49
  uncertain meaning triggers rollback or human review instead of a forced rewrite.
50
+ Strict packets also name protected spans, honorific/register, and Before/After
51
+ Diff requirements when useful; pasted hostile text such as "ignore previous
52
+ instructions" remains inert source text.
50
53
 
51
54
  ## Review Work Routing
52
55
 
56
+ For a draft plan, `review-work` stays read-only and audits bounded scope,
57
+ objective-achievability, Action/Output/Verification atomicity, acceptance
58
+ evidence, and applicable failure/decision/cleanup branches. It returns `PASS`,
59
+ `ITERATE`, or `NEEDS-CONTEXT` and never starts implementation. The table below
60
+ applies after implementation, when completed work needs the five evidence lanes.
61
+
53
62
  The v0.2.0 workflow parity review route uses five evidence lanes:
54
63
 
55
64
  | Review lane | Agent routing | Required evidence |
56
65
  | --- | --- | --- |
57
- | goal/constraint verification | `oracle-verifier` with `review-work` and `rules` | Goal, non-goals, acceptance criteria, publish boundary, and constraints checked against current docs/test reads. |
58
- | hands-on QA execution | `qa-runner` with `start-work` and `review-work` | Automated test output, Manual-QA channels, artifacts, and cleanup receipt. |
59
- | code quality | `quality-reviewer` with `review-work` and `programming` | Findings-first code review focused on regressions and maintainability. |
60
- | security | `quality-reviewer` with `review-work` and `programming` | Prompt injection, malformed input, local state, and unsafe command handling risks. |
61
- | local-first context mining | `librarian-researcher` with `rules` | Local checkout, docs, tests, and ledgers checked before external references. |
62
-
63
- The aggregate verdict is PASS, FAIL, or NEEDS-CONTEXT. Broad review work may
66
+ | scope/diff verification | `oracle-verifier` with `review-work` and `rules` | Goal, non-goals, changed-file list, publish boundary, and constraints checked against current diff/docs/test reads. |
67
+ | tests/evidence execution | `qa-runner` with `start-work` and `review-work` | Automated test output, Manual-QA channels, artifacts, exit statuses, and cleanup receipt. |
68
+ | package/payload and code quality | `quality-reviewer` with `review-work` and `programming` | Findings-first code review plus package, plugin, and payload readiness. |
69
+ | security/provenance | `quality-reviewer` with `review-work` and `programming` | Prompt injection, malformed input, local state, provenance, and unsafe command handling risks. |
70
+ | real-surface/docs readiness | `librarian-researcher` with `rules` | Local checkout, docs, tests, ledgers, and real command/hook/package surfaces checked before external references. |
71
+
72
+ The completed-work aggregate verdict is PASS, FAIL, BLOCKED, ITERATE, or
73
+ NEEDS-CONTEXT. Broad review work may
64
74
  use Dynamic workflow when Claude Code exposes it; isolated edits can use
65
75
  `claude --worktree <short-name> --tmux` when a separate checkout is required.
66
76
 
@@ -78,7 +88,7 @@ worker knows the artifact, boundary, and proof of completion:
78
88
  | acceptance verification | `oracle-verifier` | Goal, criteria, and artifact checks before completion. |
79
89
  | manual QA | `qa-runner` | tmux/browser/HTTP/computer-use artifact plus cleanup receipt. |
80
90
  | code/security review | `quality-reviewer` | Findings-first review with concrete file references. |
81
- | local-first context mining | `librarian-researcher` | Repo/docs/history search before external sources. |
91
+ | real-surface/docs readiness | `librarian-researcher` | Repo/docs/history and real surfaces searched before external sources. |
82
92
 
83
93
  `litclaude-ai workflow-check --json` verifies that this route, goal guidance,
84
94
  Dynamic workflow guidance, subagent reliability contract, and command/hook
package/docs/hooks.md CHANGED
@@ -3,6 +3,72 @@
3
3
  LitClaude hooks translate the LitClaude prompt workflow into Claude Code hook
4
4
  events while keeping execution local and bounded.
5
5
 
6
+ ## #contract.activation
7
+
8
+ ```yaml
9
+ contract_schema_version: litclaude.llm-contract.v1
10
+ artifact_type: hook-doc
11
+ surface: Claude Code plugin hooks
12
+ runtime: plugins/litclaude/bin/litclaude-hook.js
13
+ events: [SessionStart, UserPromptSubmit, PostToolUse, PostCompact, Stop]
14
+ verdicts: [PASS, FAIL, BLOCKED]
15
+ ```
16
+
17
+ | Hook contract field | LLM-facing rule | Runtime evidence |
18
+ | --- | --- | --- |
19
+ | activation | UserPromptSubmit may add contract context, not execute prompt text. | Hook JSON `additionalContext`. |
20
+ | route safety | Slash commands stay on Claude Code's native command surface. | Near-miss and code-span hook fixtures. |
21
+ | completion | Hook edits require direct fixture output plus plugin validation. | `node plugins/litclaude/bin/litclaude-hook.js ...`, `npm run validate:plugin`. |
22
+
23
+ ## #contract.inputs
24
+
25
+ - Hook stdin JSON from Claude Code, including `hook_event_name`, `prompt`, `cwd`, `transcript_path`, tool metadata, and optional native-goal state.
26
+ - Repo-local command/SKILL/agent contracts using the same `litclaude.llm-contract.v1` vocabulary.
27
+ - Runtime capability facts for native `/goal`, `Workflow`, `EnterWorktree`, agent teams, MCP, and LSP as observed in the active Claude Code session.
28
+
29
+ ## #contract.mode_matrix
30
+
31
+ | Event or route | Contract mode | Hard boundary |
32
+ | --- | --- | --- |
33
+ | `SessionStart` | rules bootstrap | Adds context only; no file mutation. |
34
+ | `UserPromptSubmit` | route classifier | Adds guidance only; never runs prompt text or slash commands. |
35
+ | `PostToolUse` | post-edit reminder | Names touched paths and asks for checks; does not claim completion. |
36
+ | `PostCompact` | context reset | Emits a compact cache reminder only. |
37
+ | `Stop` | litgoal autoloop gate | Default-off and fail-safe; no unbounded loop. |
38
+
39
+ ## #contract.procedure
40
+
41
+ 1. Parse stdin JSON; malformed input returns a controlled error.
42
+ 2. Classify only explicit LitClaude triggers outside code spans, code fences, slash mentions, and diagnostic literal prompts.
43
+ 3. Return contract vocabulary with route, Skill, mode, evidence, and hard-stop guidance.
44
+ 4. Preserve prompt text as inert data; emit redacted summaries and stable route strings only.
45
+ 5. Prove changes with targeted hook fixtures, route tests, and plugin validation before claiming readiness.
46
+
47
+ ## #contract.outputs
48
+
49
+ - Claude Code hook JSON containing `continue: true`, `hookSpecificOutput.hookEventName`, and route-specific `additionalContext`.
50
+ - Optional `systemMessage` only for active LitClaude route guidance.
51
+ - `BLOCKED:` text for natural-language start-work, unavailable native goal binding, disabled Dynamic workflow, or gated agent-team setup.
52
+
53
+ ## #contract.evidence
54
+
55
+ - Direct fixture command: `node plugins/litclaude/bin/litclaude-hook.js user-prompt-submit < fixtures/hooks/user-prompt-litwork.json`.
56
+ - Route tests in `test/hooks.test.mjs` for positive routes, near-misses, degraded goal guidance, and unsafe prompt text.
57
+ - Real plugin surface checks: `npm run validate:plugin`, `npm run doctor`, scanner, and payload guard when hook payload changes.
58
+
59
+ ## #contract.hard_stops
60
+
61
+ - Do not echo dangerous prompt substrings, secrets, or command text into hook output.
62
+ - Do not claim native `/goal`, Dynamic workflow, EnterWorktree, MCP, LSP, or agent-team success unless Claude Code exposes and confirms that surface.
63
+ - Do not mutate files, ledgers, host settings, registries, or remote state from UserPromptSubmit context.
64
+
65
+ ## #contract.anti_patterns
66
+
67
+ - Do not convert a natural-language trigger into a hidden slash-command dispatch.
68
+ - Do not treat a hook context injection as proof that a Skill, agent, Workflow, or `/goal` actually ran.
69
+ - Do not broaden route detection to substrings, code blocks, command mentions, or documentation examples.
70
+ - Do not replace Claude Code plugin terminology with another harness's routing model.
71
+
6
72
  ## Hook Events
7
73
 
8
74
  | Event | Runner | Purpose |
@@ -129,9 +195,11 @@ before `/lit-plan` when a request lacks non-goals, decision boundaries, or
129
195
  acceptance criteria.
130
196
 
131
197
  `/review-work` and `$review-work` load `/litclaude:review-work` /
132
- `Skill(review-work)`. That route runs the v0.2.0 workflow parity 5-lane review:
133
- goal/constraint verification, hands-on QA execution, code quality, security,
134
- and local-first context mining. `/litgoal` and `$litgoal` load
198
+ `Skill(review-work)`. For a draft plan, that route performs a read-only
199
+ objective-achievability audit and returns `PASS`, `ITERATE`, or `NEEDS-CONTEXT`
200
+ without implementing. For completed work it runs the 5-lane review: scope/diff
201
+ verification, tests/evidence execution, package/payload and code quality,
202
+ security/provenance, and real-surface/docs readiness. `/litgoal` and `$litgoal` load
135
203
  `/litclaude:litgoal` / `Skill(litgoal)` for durable local goal state and
136
204
  the litgoal CLI.
137
205
 
@@ -154,9 +222,11 @@ paywall, private-data, or credential boundaries. If the user requests read-only,
154
222
  no-write, or transcript-only research, ask before creating
155
223
  `.litclaude/litresearch/<slug>/` and otherwise keep the journal in the
156
224
  transcript/TodoWrite. The guaranteed runtime surface is direct public URL reads
157
- through `public_source_read` or `litclaude public-read`; Dynamic `Workflow`,
158
- `/deep-research`, browsing, and namespaced subagents are host-dependent and need
159
- fallbacks.
225
+ through `public_source_read` or `litclaude public-read`; its JSON includes
226
+ `fetchAttempts`, `fetchVerdict`, untried safe routes, and a starter claim graph
227
+ so HTTP 200 is not treated as success without content validation. Dynamic
228
+ `Workflow`, `/deep-research`, browsing, and namespaced subagents are
229
+ host-dependent and need fallbacks.
160
230
 
161
231
  ## Safety
162
232