@pennixrv/trellis 0.6.37 → 0.6.39
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/dist/migrations/manifests/0.6.38.json +9 -0
- package/dist/migrations/manifests/0.6.39.json +9 -0
- package/dist/templates/common/commands/continue.md +1 -0
- package/dist/templates/common/commands/finish-work.md +2 -0
- package/dist/templates/common/commands/start.md +1 -0
- package/dist/templates/common/skills/brainstorm.md +6 -0
- package/dist/templates/trellis/workflow.md +29 -6
- package/package.json +2 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.6.38",
|
|
3
|
+
"description": "Extends public npm visibility verification after publish.",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Fix:**\n- Waits through the bounded public npm propagation window before reporting a release verification failure.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No project migration is required. Existing projects can run the normal trellis update flow."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.6.39",
|
|
3
|
+
"description": "Adds direct completion guidance for explicitly classified analysis-only tasks.",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Feature:**\n- Analysis-only research, audit, and design tasks can complete declared evidence work directly from planning and archive without entering implementation.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No project migration is required. Existing projects can run the normal trellis update flow."
|
|
9
|
+
}
|
|
@@ -24,6 +24,7 @@ Shows the Phase Index (Plan / Execute / Finish) with routing + skill mapping.
|
|
|
24
24
|
|
|
25
25
|
`get_context.py` shows the active task's `status` field. Route by `status` + artifact presence. This command replaces the user needing to remember the Trellis flow; it does not itself approve implementation.
|
|
26
26
|
|
|
27
|
+
- `status=planning` + `task.json.meta.delivery_mode = "analysis_only"` → complete the PRD's bounded evidence work, verify its acceptance criteria and no-change boundary, then commit task artifacts and archive directly. Do not run `task.py start`; a protected-target change requires a separate change-bearing task.
|
|
27
28
|
- `status=planning` + no `prd.md` → **1.1** (load `trellis-brainstorm`)
|
|
28
29
|
- `status=planning` + `prd.md` only → decide whether the task is lightweight or complex. Lightweight can move to **1.4** review; complex returns to **1.1** to add `design.md` + `implement.md`.
|
|
29
30
|
- `status=planning` + complex artifacts complete + sub-agent jsonl not curated (empty, or only a legacy `_example` placeholder row) → **1.3**
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Wrap up the current session: archive the active task (and any other completed-but-unarchived tasks the user wants to clean up) and record the session journal. Code commits are NOT done here — those happen in workflow Phase 3.4 before you invoke this command.
|
|
4
4
|
|
|
5
|
+
For an eligible `task.json.meta.delivery_mode = "analysis_only"` task, reach this command directly from planning only after its PRD-defined evidence, acceptance criteria, and no-change boundary have been verified and its task artifacts have been committed. Do not run `task.py start`; a protected-target change needs a separate change-bearing task.
|
|
6
|
+
|
|
5
7
|
## Step 1: Survey current state
|
|
6
8
|
|
|
7
9
|
```bash
|
|
@@ -36,6 +36,7 @@ Index files list the specific guideline docs to read when you actually start cod
|
|
|
36
36
|
## Step 4: Decide next action
|
|
37
37
|
From Step 1 you know the current task and status. Check the task directory:
|
|
38
38
|
|
|
39
|
+
- **Active task with `task.json.meta.delivery_mode = "analysis_only"`** → keep `planning`, complete the PRD's bounded evidence work, then verify the no-change boundary, commit task artifacts, and archive directly. Do not run `task.py start`; any protected-target change needs a separate change-bearing task.
|
|
39
40
|
- **Active task status `planning` + no `prd.md`** → Phase 1.1. Load the `trellis-brainstorm` skill.
|
|
40
41
|
- **Active task status `planning` + `prd.md` exists** → stay in Phase 1. Lightweight tasks can be PRD-only; complex tasks need `design.md` + `implement.md`. Load the relevant Phase 1 step detail before `task.py start`.
|
|
41
42
|
- **Active task status `in_progress`** → Phase 2 step 2.1. Load the step detail:
|
|
@@ -8,6 +8,12 @@ For every non-trivial task, the user must respond at least once after the initia
|
|
|
8
8
|
|
|
9
9
|
While any user-owned product, scope, UX, compatibility, risk, or acceptance decision remains unresolved, end the turn with exactly one highest-value question. Do not edit product code, dispatch implementation, or run `task.py start`.
|
|
10
10
|
|
|
11
|
+
## Analysis-Only Exception
|
|
12
|
+
|
|
13
|
+
When `task.json.meta.delivery_mode = "analysis_only"` exactly and the PRD names a bounded evidence deliverable plus a no-change boundary for product source, runtime configuration, deployment, credentials, and external systems, task-creation consent authorizes that evidence work. Do not require a second planning approval or run `task.py start`: perform the declared research, audit, or design work while status remains `planning`, record the evidence, verify acceptance criteria and the boundary, commit task artifacts, and archive directly. If the evidence recommends a protected-target change, record it and create a separate change-bearing task before doing it.
|
|
14
|
+
|
|
15
|
+
All other tasks follow the planning and implementation approval gates below.
|
|
16
|
+
|
|
11
17
|
## Non-Negotiable Evidence Rule
|
|
12
18
|
|
|
13
19
|
If a question can be answered by exploring the codebase, explore the codebase instead.
|
|
@@ -64,6 +64,7 @@ python3 ./.trellis/scripts/task.py validate <name>
|
|
|
64
64
|
python3 ./.trellis/scripts/task.py set-branch <name> <branch>
|
|
65
65
|
python3 ./.trellis/scripts/task.py set-base-branch <name> <branch> # PR target
|
|
66
66
|
python3 ./.trellis/scripts/task.py set-scope <name> <scope>
|
|
67
|
+
python3 ./.trellis/scripts/task.py set-meta <name> delivery_mode analysis_only
|
|
67
68
|
|
|
68
69
|
# Hierarchy (parent/child)
|
|
69
70
|
python3 ./.trellis/scripts/task.py add-subtask <parent> <child>
|
|
@@ -158,6 +159,12 @@ Phase 3: Finish → verify, update spec, commit, and wrap up
|
|
|
158
159
|
- Complex task: ask whether you may create a Trellis task and enter planning. If the user says no, do not do broad inline implementation; explain, clarify scope, or suggest a smaller split.
|
|
159
160
|
- User approval to create a task is not approval to start implementation. Planning still happens first.
|
|
160
161
|
|
|
162
|
+
### Analysis-only tasks
|
|
163
|
+
|
|
164
|
+
An analysis-only task is eligible only when `task.json.meta.delivery_mode = "analysis_only"` exactly and its `prd.md` names the evidence deliverable plus a no-change boundary for product source, runtime configuration, deployment, credentials, and external systems. Task creation consent authorizes that bounded evidence work, not protected-target changes.
|
|
165
|
+
|
|
166
|
+
Keep an eligible analysis-only task in `planning`: write its research, audit, or design evidence; verify its acceptance criteria and boundary; commit task artifacts; then archive directly. Do not run `task.py start`, configure implementation context, or wait for a second implementation approval. If the evidence recommends a protected-target change, record the recommendation and create a separate change-bearing task before doing it.
|
|
167
|
+
|
|
161
168
|
### Planning Artifacts
|
|
162
169
|
|
|
163
170
|
- `prd.md` — requirements, constraints, and acceptance criteria. Do not put technical design or execution checklists here.
|
|
@@ -194,14 +201,15 @@ Preserve existing task fields and artifacts. If the correct status cannot be det
|
|
|
194
201
|
- 1.0 Create task `[required · once]` (only after task-creation consent)
|
|
195
202
|
- 1.1 Requirement exploration `[required · repeatable]` (`prd.md`; complex tasks also need `design.md` + `implement.md`)
|
|
196
203
|
- 1.2 Research `[optional · repeatable]`
|
|
197
|
-
- 1.3 Configure context `[required · once]` — Claude Code, Cursor, OpenCode, Codex, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Grok, Kimi Code (sub-agent-dispatch platforms only; inline
|
|
198
|
-
- 1.4 Activate task `[required · once]` (review gate, then `task.py start`; status → in_progress)
|
|
204
|
+
- 1.3 Configure context `[required · once]` — Claude Code, Cursor, OpenCode, Codex, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Grok, Kimi Code (sub-agent-dispatch platforms only; inline and eligible analysis-only tasks skip)
|
|
205
|
+
- 1.4 Activate task `[required · once]` (change-bearing tasks only: review gate, then `task.py start`; status → in_progress)
|
|
199
206
|
- 1.5 Completion criteria
|
|
200
207
|
|
|
201
208
|
<!-- Per-turn breadcrumb: shown throughout Phase 1 (status='planning') -->
|
|
202
209
|
|
|
203
210
|
[workflow-state:planning]
|
|
204
211
|
Load `trellis-brainstorm`; stay in planning.
|
|
212
|
+
If `task.json.meta.delivery_mode = "analysis_only"` exactly, complete the declared evidence work now. Do not wait for a start review or run `task.py start`; when the PRD boundary and acceptance evidence pass, commit task artifacts and archive directly. A protected-target recommendation requires a separate change-bearing task.
|
|
205
213
|
Lightweight: `prd.md` can be enough. Complex: finish `prd.md`, `design.md`, and `implement.md`; ask for review before `task.py start`.
|
|
206
214
|
Multi-deliverable scope: consider a parent task plus independently verifiable child tasks; dependencies must be written in child artifacts, not implied by tree position.
|
|
207
215
|
Sub-agent mode: curate `implement.jsonl` and `check.jsonl` as spec/research manifests before start.
|
|
@@ -215,6 +223,7 @@ Sub-agent mode: curate `implement.jsonl` and `check.jsonl` as spec/research mani
|
|
|
215
223
|
|
|
216
224
|
[workflow-state:planning-inline]
|
|
217
225
|
Load `trellis-brainstorm`; stay in planning.
|
|
226
|
+
If `task.json.meta.delivery_mode = "analysis_only"` exactly, complete the declared evidence work now. Do not wait for a start review or run `task.py start`; when the PRD boundary and acceptance evidence pass, commit task artifacts and archive directly. A protected-target recommendation requires a separate change-bearing task.
|
|
218
227
|
Lightweight: `prd.md` can be enough. Complex: finish `prd.md`, `design.md`, and `implement.md`; ask for review before `task.py start`.
|
|
219
228
|
Multi-deliverable scope: consider a parent task plus independently verifiable child tasks; dependencies must be written in child artifacts, not implied by tree position.
|
|
220
229
|
Inline mode: skip jsonl curation; Phase 2 reads artifacts/specs via `trellis-before-dev`.
|
|
@@ -286,6 +295,7 @@ When a user request matches one of these intents inside an active task, route fi
|
|
|
286
295
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
287
296
|
|
|
288
297
|
- Planning or unclear requirements -> `trellis-brainstorm`.
|
|
298
|
+
- Explicit eligible `analysis_only` -> complete evidence in planning, then commit artifacts and archive directly.
|
|
289
299
|
- `in_progress` implementation/check -> dispatch `trellis-implement` / `trellis-check`.
|
|
290
300
|
- Repeated debugging -> `trellis-break-loop`; spec updates -> `trellis-update-spec`.
|
|
291
301
|
|
|
@@ -294,6 +304,7 @@ When a user request matches one of these intents inside an active task, route fi
|
|
|
294
304
|
[codex-inline, Kilo, Antigravity, Devin, DeepSeek Harness]
|
|
295
305
|
|
|
296
306
|
- Planning or unclear requirements -> `trellis-brainstorm`.
|
|
307
|
+
- Explicit eligible `analysis_only` -> complete evidence in planning, then commit artifacts and archive directly.
|
|
297
308
|
- Before editing -> `trellis-before-dev`; after editing -> `trellis-check`.
|
|
298
309
|
- Repeated debugging -> `trellis-break-loop`; spec updates -> `trellis-update-spec`.
|
|
299
310
|
|
|
@@ -301,7 +312,8 @@ When a user request matches one of these intents inside an active task, route fi
|
|
|
301
312
|
|
|
302
313
|
### Guardrails
|
|
303
314
|
|
|
304
|
-
-
|
|
315
|
+
- Only an eligible `task.json.meta.delivery_mode = "analysis_only"` task may complete while `planning`; it may write evidence artifacts, but any protected-target change requires a separate change-bearing task.
|
|
316
|
+
- Task creation approval is not implementation approval; change-bearing implementation waits for `task.py start` after artifact review.
|
|
305
317
|
- PRD-only is valid for lightweight tasks; complex tasks need `design.md` + `implement.md`.
|
|
306
318
|
- Planning must be persisted to task artifacts; checks must run before reporting completion.
|
|
307
319
|
|
|
@@ -336,12 +348,16 @@ After this command succeeds, the per-turn breadcrumb auto-switches to `[workflow
|
|
|
336
348
|
|
|
337
349
|
Run only `create` here — do not also run `start`. `start` flips status to `in_progress`, which switches the breadcrumb to the implementation phase before planning artifacts are reviewed. Save `start` for step 1.4.
|
|
338
350
|
|
|
351
|
+
For an evidence-only task, set `task.json.meta.delivery_mode = "analysis_only"` at creation or with `task.py set-meta`. Its PRD must name the evidence deliverable and exclude protected-target changes before the task proceeds.
|
|
352
|
+
|
|
339
353
|
Skip when `python3 ./.trellis/scripts/task.py current --source` already points to a task.
|
|
340
354
|
|
|
341
355
|
#### 1.1 Requirement exploration `[required · repeatable]`
|
|
342
356
|
|
|
343
357
|
Load the `trellis-brainstorm` skill and explore requirements interactively with the user per the skill's guidance.
|
|
344
358
|
|
|
359
|
+
For an eligible analysis-only task, converge the PRD boundary, then perform the declared research, audit, or design work in this phase. It does not need a start review or `task.py start`; after acceptance evidence is recorded, continue directly to Phase 3.3.
|
|
360
|
+
|
|
345
361
|
The brainstorm skill will guide you to:
|
|
346
362
|
- Ask one question at a time
|
|
347
363
|
- Prefer researching over asking the user
|
|
@@ -391,6 +407,8 @@ Brainstorm and research can interleave freely — pause to research a technical
|
|
|
391
407
|
|
|
392
408
|
#### 1.3 Configure context `[required · once]`
|
|
393
409
|
|
|
410
|
+
Eligible analysis-only tasks skip this step because they never enter Phase 2 or dispatch implementation/check agents.
|
|
411
|
+
|
|
394
412
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
395
413
|
|
|
396
414
|
Curate `implement.jsonl` and `check.jsonl` so the Phase 2 sub-agents get the right spec/research context. These files were seeded on `task create` with a single self-describing `_example` line; your job here is to fill in real entries.
|
|
@@ -446,6 +464,8 @@ Skip this step. Context is loaded directly by the `trellis-before-dev` skill in
|
|
|
446
464
|
|
|
447
465
|
#### 1.4 Activate task `[required · once]`
|
|
448
466
|
|
|
467
|
+
This step applies only to change-bearing tasks. An eligible analysis-only task stays in `planning` and, after its evidence work is complete, continues directly to Phase 3.3 without running `task.py start`.
|
|
468
|
+
|
|
449
469
|
After artifact review, flip the task status to `in_progress`:
|
|
450
470
|
|
|
451
471
|
```bash
|
|
@@ -463,15 +483,16 @@ If `task.py start` errors with a session-identity message (no context key from h
|
|
|
463
483
|
| Condition | Required |
|
|
464
484
|
|------|:---:|
|
|
465
485
|
| `prd.md` exists | ✅ |
|
|
466
|
-
|
|
|
467
|
-
| `task.py start` has been run (status = in_progress) | ✅ |
|
|
486
|
+
| Change-bearing task: user confirms implementation | ✅ |
|
|
487
|
+
| Change-bearing task: `task.py start` has been run (status = in_progress) | ✅ |
|
|
488
|
+
| Analysis-only task: exact metadata, named evidence deliverable, recorded acceptance evidence, and protected targets unchanged | ✅ |
|
|
468
489
|
| `research/` has artifacts (complex tasks) | recommended |
|
|
469
490
|
| `design.md` exists (complex tasks) | ✅ |
|
|
470
491
|
| `implement.md` exists (complex tasks) | ✅ |
|
|
471
492
|
|
|
472
493
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
473
494
|
|
|
474
|
-
| `implement.jsonl` and `check.jsonl` each contain at least one real curated entry (seed row does not count) | ✅ |
|
|
495
|
+
| Change-bearing task: `implement.jsonl` and `check.jsonl` each contain at least one real curated entry (seed row does not count) | ✅ |
|
|
475
496
|
|
|
476
497
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
477
498
|
|
|
@@ -579,6 +600,8 @@ If issues are found → fix → re-check, until green.
|
|
|
579
600
|
|
|
580
601
|
Goal: ensure code quality, capture lessons, record the work.
|
|
581
602
|
|
|
603
|
+
**Analysis-only completion route**: after the evidence work in Phase 1, verify the PRD acceptance criteria and no-change boundary, then continue with 3.3 and 3.4 for task artifacts only before `/trellis:finish-work`. Do not run Phase 2 or `task.py start`.
|
|
604
|
+
|
|
582
605
|
#### 3.2 Debug retrospective `[on demand]`
|
|
583
606
|
|
|
584
607
|
If this task involved repeated debugging (the same issue was fixed multiple times), load the `trellis-break-loop` skill to:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pennixrv/trellis",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.39",
|
|
4
4
|
"description": "AI capabilities grow like ivy — Trellis provides the structure to guide them along a disciplined path",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"inquirer": "^9.3.7",
|
|
35
35
|
"undici": "^6.21.0",
|
|
36
36
|
"zod": "^4.4.2",
|
|
37
|
-
"@pennixrv/trellis-core": "0.6.
|
|
37
|
+
"@pennixrv/trellis-core": "0.6.39"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@eslint/js": "^9.18.0",
|