@pennixrv/trellis 0.7.0-beta.52 → 0.7.0-beta.54
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/README.md +1 -1
- package/dist/commands/init.js +2 -2
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +3 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/configurators/shared.js +1 -1
- package/dist/configurators/shared.js.map +1 -1
- package/dist/migrations/manifests/0.7.0-beta.53.json +27 -0
- package/dist/migrations/manifests/0.7.0-beta.54.json +8 -0
- package/dist/templates/codex/hooks/session-start.py +9 -18
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +1 -1
- package/dist/templates/common/commands/continue.md +1 -1
- package/dist/templates/common/commands/start.md +2 -3
- package/dist/templates/common/skills/idea-to-closed-plan.md +105 -0
- package/dist/templates/copilot/hooks/session-start.py +9 -18
- package/dist/templates/copilot/prompts/start.prompt.md +2 -3
- package/dist/templates/opencode/lib/session-utils.js +1 -1
- package/dist/templates/shared-hooks/inject-workflow-state.py +1 -1
- package/dist/templates/shared-hooks/session-start.py +10 -24
- package/dist/templates/trellis/index.d.ts +1 -0
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +2 -0
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/common/task_migration.py +231 -0
- package/dist/templates/trellis/scripts/common/task_planning.py +252 -10
- package/dist/templates/trellis/scripts/common/task_store.py +11 -2
- package/dist/templates/trellis/scripts/task.py +86 -38
- package/dist/templates/trellis/workflow.md +23 -20
- package/dist/utils/template-fetcher.js +1 -1
- package/dist/utils/template-fetcher.js.map +1 -1
- package/dist/utils/workflow-resolver.d.ts +2 -2
- package/dist/utils/workflow-resolver.d.ts.map +1 -1
- package/dist/utils/workflow-resolver.js +9 -1
- package/dist/utils/workflow-resolver.js.map +1 -1
- package/package.json +2 -2
- package/dist/templates/common/skills/brainstorm.md +0 -236
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +0 -162
|
@@ -37,6 +37,12 @@ function requireImmutableMarketplaceSource(source) {
|
|
|
37
37
|
throw new WorkflowResolveError("Marketplace workflow resolution requires --marketplace with an immutable commit ref (for example, gh:OWNER/REPO/path#<40-hex-sha>).");
|
|
38
38
|
}
|
|
39
39
|
const registry = parseSourceOrThrow(source);
|
|
40
|
+
if (registry.sourceKind === "https") {
|
|
41
|
+
const url = new URL(source);
|
|
42
|
+
if (url.username || url.password) {
|
|
43
|
+
throw new WorkflowResolveError("Workflow marketplace sources cannot include URL credentials; use local Git credentials instead.");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
40
46
|
if (!isImmutableWorkflowRef(registry.ref)) {
|
|
41
47
|
throw new WorkflowResolveError(`Marketplace workflow source must use an immutable 40/64-hex commit ref; received "${registry.ref}".`);
|
|
42
48
|
}
|
|
@@ -184,7 +190,9 @@ export async function resolveWorkflowTemplate(id, options = {}) {
|
|
|
184
190
|
path: entry.path,
|
|
185
191
|
content,
|
|
186
192
|
source: "marketplace",
|
|
187
|
-
registry: registry.
|
|
193
|
+
registry: registry.preferGit
|
|
194
|
+
? (options.source ?? registry.gigetSource)
|
|
195
|
+
: registry.gigetSource,
|
|
188
196
|
ref: registry.ref,
|
|
189
197
|
contentSha256,
|
|
190
198
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-resolver.js","sourceRoot":"","sources":["../../src/utils/workflow-resolver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workflow-resolver.js","sourceRoot":"","sources":["../../src/utils/workflow-resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pennixrv/trellis",
|
|
3
|
-
"version": "0.7.0-beta.
|
|
3
|
+
"version": "0.7.0-beta.54",
|
|
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.7.0-beta.
|
|
37
|
+
"@pennixrv/trellis-core": "0.7.0-beta.54"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@eslint/js": "^9.18.0",
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
# Trellis Brainstorm
|
|
2
|
-
|
|
3
|
-
## Non-Negotiable Planning Contract
|
|
4
|
-
|
|
5
|
-
An initial request to build, implement, fix, or refactor is not approval to leave planning. Task-creation consent is also not implementation approval. An explicit response approving the displayed final plan may authorize sealing and implementation together.
|
|
6
|
-
|
|
7
|
-
For every non-trivial task, the user must respond at least once after the initial request before implementation begins. If no clarification is needed, that response must approve the final planning summary described below.
|
|
8
|
-
|
|
9
|
-
Keep the task in planning while a user-owned choice needed to define the requested work remains unresolved. For `analysis_only`, findings, recommendations, and open product options do not block evidence work or require a sealed decision chain. For other work, screen consequential user-owned choices with `pennix-decision-grill`, including a single choice; it owns progressive decision method, not task lifecycle. Do not implement or run `task.py start` until change decisions are sealed and approved.
|
|
10
|
-
|
|
11
|
-
## Idea-to-Plan Route
|
|
12
|
-
|
|
13
|
-
When the input is an idea, suspected gap, review finding, or loosely stated improvement, route it through the smallest complete chain:
|
|
14
|
-
|
|
15
|
-
1. State the user outcome and the concrete problem or gap in one sentence.
|
|
16
|
-
2. Separate repository-answerable facts from user-owned choices; inspect the repository, task history, and applicable specs before asking about facts.
|
|
17
|
-
3. Record the current evidence and its recovery point in the natural task artifact: research matrix for research, PRD/design for planning, and the diff or Git history for code.
|
|
18
|
-
4. Screen only the choices that change scope, owner, risk, public behavior, release, or acceptance through `$pennix-decision-grill`.
|
|
19
|
-
5. Define observable acceptance, boundaries, rollback, and the next dependency-ready action; then use the normal seal and approval gate.
|
|
20
|
-
|
|
21
|
-
An issue discovered while doing this work is not automatically part of the task. Compare its owner, target, risk, and acceptance with the sealed scope. Record every consequential finding and ask whether it should be included; a same-owner, reversible, low-risk correction may use the existing in-progress addition rule. Otherwise use `task.py replan` and reseal before dependent implementation.
|
|
22
|
-
|
|
23
|
-
## Analysis-Only Exception
|
|
24
|
-
|
|
25
|
-
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.
|
|
26
|
-
|
|
27
|
-
This route remains eligible for bounded evidence work regardless of complexity, cross-owner scope, multiple evidence units, or whether conclusions include recommendations or unresolved product choices. Record findings and recommendations in task artifacts; do not change protected targets, deploy, release, alter credentials, or mutate external systems. The initial request authorizes the requested main-session research, so do not require a second implementation approval, Planning Seal, or `task.py start` to complete it. If the user requests independent subnode evidence, freeze its dispatch plan in the task first and obtain explicit approval of that plan before any spawn/send; this approval authorizes only the listed evidence dispatch. If implementation is later requested, create or replan a change-bearing task and use its normal Planning Seal and implementation approval gates.
|
|
28
|
-
|
|
29
|
-
All other tasks follow the planning and implementation approval gates below.
|
|
30
|
-
|
|
31
|
-
## Non-Negotiable Evidence Rule
|
|
32
|
-
|
|
33
|
-
If a question can be answered by exploring the codebase, explore the codebase instead.
|
|
34
|
-
|
|
35
|
-
This is mandatory. Before asking the user a question, first check whether the answer is already available in code, tests, configs, docs, existing specs, or task history.
|
|
36
|
-
|
|
37
|
-
Do not ask the user to confirm facts that the repository can answer. Ask only for product intent, preference, scope, risk tolerance, acceptance behavior, or decisions that remain ambiguous after inspection.
|
|
38
|
-
|
|
39
|
-
Repository evidence establishes current behavior and technical constraints. The user's intended behavior, feature scope boundaries, and UX preferences are never answerable by repository evidence alone, even when an existing pattern exists; existing patterns are options and recommendation evidence, not decisions.
|
|
40
|
-
|
|
41
|
-
## Evidence Units For Read-Heavy Work
|
|
42
|
-
|
|
43
|
-
When research, audit, review, or investigation is too large to leave one independently useful conclusion in the current bounded session, split it into evidence units. Each unit must have one question or scope, a minimal evidence range, a destination artifact, and a stop condition; write its facts, conclusion or blocker, unknowns, and recovery point before starting another unit. Size units so one normal context window can finish and persist one useful result; do not promise an exact token or time limit. Routine navigation and transient tool output do not need an artifact. Create a child task only when the unit has an independent owner, lifecycle, and acceptance contract.
|
|
44
|
-
|
|
45
|
-
Persist the unit-to-point mapping in this task's existing plan/matrix before
|
|
46
|
-
dispatch. Include workload rationale, dependencies, minimal evidence, shared
|
|
47
|
-
context, and per-point delivery. Combine points only when each is quick/simple
|
|
48
|
-
and they are obviously related; explain the grouping and bounded total workload.
|
|
49
|
-
Complex or lengthy points need separate units or further splitting. Slots and
|
|
50
|
-
owner domains do not determine unit count. Explicit independent subnodes use
|
|
51
|
-
`trellis-channel`'s unit-plan and multi-target procedure; planning itself does
|
|
52
|
-
not authorize dispatch.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
Use this skill during Phase 1 planning to turn the user's request into clear requirements and planning artifacts.
|
|
57
|
-
|
|
58
|
-
## Preconditions
|
|
59
|
-
|
|
60
|
-
Use this skill only after task-creation consent has been given and the user is ready to enter Trellis planning.
|
|
61
|
-
|
|
62
|
-
If no task exists yet, create one:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
TASK_DIR=$({{PYTHON_CMD}} ./.trellis/scripts/task.py create "<short task title>" --description "<one-line summary>" --slug <slug>)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Use a concise title from the user's request. Both the title and `--description` must be non-empty — `create` rejects blanks, and a record with either one empty is refused at archive. Use a slug without a date prefix. `task.py create` adds the `MM-DD-` directory prefix automatically.
|
|
69
|
-
|
|
70
|
-
`task.py create` creates the default `prd.md`. Update that file with the current understanding before asking follow-up questions.
|
|
71
|
-
|
|
72
|
-
## Planning Flow
|
|
73
|
-
|
|
74
|
-
1. Capture the user's request and initial known facts in `prd.md`.
|
|
75
|
-
2. Inspect available evidence before asking questions:
|
|
76
|
-
- code, tests, fixtures, and configs
|
|
77
|
-
- README files, docs, existing specs, and domain notes
|
|
78
|
-
- related Trellis tasks, research files, and session history when present
|
|
79
|
-
3. Separate what you found into:
|
|
80
|
-
- confirmed facts
|
|
81
|
-
- product intent still needed from the user
|
|
82
|
-
- scope or risk decisions still needed from the user
|
|
83
|
-
- likely out-of-scope items
|
|
84
|
-
4. Screen genuine user-owned decisions; resolve repository facts and settled local details directly. Use `pennix-decision-grill` progressively: dependency readiness first, then impact/priority; ask only the coherent current frontier and reassess after answers. For bounded research, ask only when its requested scope or method depends on the choice; findings and recommendations need no implementation decision.
|
|
85
|
-
5. If the user requests independent subnode evidence, first freeze the dispatch plan in the task: question, evidence-unit mapping and grouping rationale, brief scope/stop conditions/destinations, concurrency and FIFO refill/acceptance method. Obtain the user's explicit approval of that frozen plan before any spawn/send. This approval covers only the listed evidence dispatch; material changes to units, scope, method, owner, risk, or acceptance require reapproval. Main-session evidence work may continue while dispatch approval is pending.
|
|
86
|
-
6. When a needed answer returns, persist it and the affected dependencies, recheck evidence, and continue the same task. Before substantial evidence work, save the current decision, known answers, missing facts, return point and stop condition. Use bounded local/web evidence or explicitly approved independent subnodes; they establish facts, not user decisions. An empty ready frontier can mean missing evidence, not planning closure. Do not create a second lifecycle for the same decision chain.
|
|
87
|
-
7. For `analysis_only`, record and verify the declared evidence and no-change boundary in planning; do not require `design.md`, `implement.md`, a Planning Seal, implementation approval, or `task.py start` merely because the research is complex.
|
|
88
|
-
8. For change-bearing work, resolve material decisions, create/update complex-task artifacts, and run the requirement convergence and PRD passes plus the Planning Seal closure pass without invoking seal. Present the final plan, then use the Final Plan Review below. Only explicit approval of this displayed plan authorizes native seal/approve/start. Initial requests, parent-task approvals, and ordinary design answers do not qualify. Material changes return to final review; use `task.py replan` only when already in progress. Keep progress and non-material corrections outside byte-frozen plan documents.
|
|
89
|
-
|
|
90
|
-
When changing the active task only for planning, use native `task.py select`,
|
|
91
|
-
not start. `create --no-start` intentionally preserves the old pointer. Follow
|
|
92
|
-
the Channel drain procedure before switching with live evidence workers.
|
|
93
|
-
|
|
94
|
-
Do not invent a project-specific product/spec hierarchy. If the repository already has product, domain, or spec docs, use them. If it does not, proceed with the evidence that exists.
|
|
95
|
-
|
|
96
|
-
## Question Rules
|
|
97
|
-
|
|
98
|
-
Ask one to three independent, coherent, ready decisions per round, ordered by impact. One high-priority decision is sufficient even when other choices exist; never fill a batch just to reach a count. Dependent questions wait for the preceding answer, and later rounds may discover new branches. Use the host's blocking native question tool; never choose by elapsed time or an unanswered required decision.
|
|
99
|
-
|
|
100
|
-
Each question must include:
|
|
101
|
-
|
|
102
|
-
- the decision needed
|
|
103
|
-
- why the answer matters
|
|
104
|
-
- your recommended answer
|
|
105
|
-
- the trade-off if the user chooses differently
|
|
106
|
-
|
|
107
|
-
Do not ask process questions such as whether to search, inspect files, or continue brainstorming. Do the evidence work directly. Ask the user only when the remaining issue is a product decision, preference, scope boundary, or risk tolerance choice.
|
|
108
|
-
|
|
109
|
-
Recommendations are not default selections. Never choose a recommended product decision on the user's behalf merely because the user asked for implementation.
|
|
110
|
-
|
|
111
|
-
Do not manufacture clarification questions when the request and repository evidence already resolve the scope and method. For `analysis_only`, proceed with the requested evidence work; no final implementation review or approval is required. The final review and subsequent approval are phase-transition gates for change-bearing implementation only.
|
|
112
|
-
|
|
113
|
-
## Thinking Framework: First Principles Analysis
|
|
114
|
-
|
|
115
|
-
When requirements are vague, solutions feel over-engineered, or you're about to add complexity "because everyone does" — decompose to fundamental truths before reasoning upward.
|
|
116
|
-
|
|
117
|
-
### Step 1: Restate the Problem
|
|
118
|
-
|
|
119
|
-
Strip away implementation details to one sentence.
|
|
120
|
-
|
|
121
|
-
> Bad: "We need to add Redis caching to the user profile endpoint"
|
|
122
|
-
> Good: "User profile data takes too long to load"
|
|
123
|
-
|
|
124
|
-
### Step 2: List Fundamental Truths
|
|
125
|
-
|
|
126
|
-
What is absolutely true (not opinion or convention)?
|
|
127
|
-
|
|
128
|
-
| Category | Examples |
|
|
129
|
-
|----------|----------|
|
|
130
|
-
| **Physical constraints** | Network latency ≥ 0, disk I/O has limits |
|
|
131
|
-
| **Business rules** | "Users must see their own data" |
|
|
132
|
-
| **Technical invariants** | "Data must be consistent" |
|
|
133
|
-
| **User needs** | "The user wants X within Y seconds" |
|
|
134
|
-
|
|
135
|
-
### Step 3: Challenge Assumptions
|
|
136
|
-
|
|
137
|
-
For each component of the current plan:
|
|
138
|
-
|
|
139
|
-
- **Fact or convention?** "We always use REST" — why?
|
|
140
|
-
- **What if we removed this?** If nothing breaks, it's unnecessary.
|
|
141
|
-
- **Solving the actual problem or a symptom?** Trace the causal chain.
|
|
142
|
-
- **Who benefits from this complexity?** If "nobody", simplify.
|
|
143
|
-
|
|
144
|
-
### Step 4: Build Up from Truths
|
|
145
|
-
|
|
146
|
-
1. Start with the minimum viable mechanism satisfying all truths
|
|
147
|
-
2. Add complexity only when a specific truth demands it
|
|
148
|
-
3. Each addition must answer: "Which truth requires this?"
|
|
149
|
-
|
|
150
|
-
### Step 5: Validate
|
|
151
|
-
|
|
152
|
-
- Does the solution solve the original problem?
|
|
153
|
-
- What assumptions need verification?
|
|
154
|
-
- What's the simplest experiment to test this?
|
|
155
|
-
|
|
156
|
-
## Requirement Convergence Gate
|
|
157
|
-
|
|
158
|
-
Before final review, verify all of the following:
|
|
159
|
-
|
|
160
|
-
- the user outcome and product value are explicit
|
|
161
|
-
- in-scope and out-of-scope behavior are explicit
|
|
162
|
-
- acceptance criteria describe observable outcomes
|
|
163
|
-
- user-owned product, scope, UX, compatibility, and risk decisions are resolved
|
|
164
|
-
- blocking open questions are empty
|
|
165
|
-
- technical unknowns are researched or explicitly deferred without changing MVP behavior
|
|
166
|
-
|
|
167
|
-
For `analysis_only`, keep the task PRD bounded to evidence and the protected-target no-change boundary; it may omit `design.md` and `implement.md` and does not need an implementation review or approval. Change-bearing tasks retain their applicable evidence, convergence, final review, and fresh implementation approval gates.
|
|
168
|
-
|
|
169
|
-
The final planning summary must show Goal, In Scope, Out of Scope, Acceptance Criteria, Key Decisions, relevant Risks or Deferred Items, artifact status, actual targets/owners, validation, release/install impact, rollback, and completion boundary.
|
|
170
|
-
|
|
171
|
-
For change-bearing work, the Planning Seal closure pass reconciles task artifacts, targets, branches, dependencies, release, validation, rollback, dynamic facts, and material decisions before implementation; unresolved implementation ambiguity invalidates the seal. This closure pass is not an eligibility or completion gate for `analysis_only` evidence work.
|
|
172
|
-
|
|
173
|
-
## Final Plan Review
|
|
174
|
-
|
|
175
|
-
For planned change-bearing work, present the final plan before invoking `plan seal`, then use `pennix-decision-grill` under the host interaction contract to ask whether to **seal and approve proceeding** or **supplement/revise the plan**. Explicit equivalent free text qualifies; no fixed phrase or button is required. Completed design questions or an empty decision frontier do not replace this whole-plan review.
|
|
176
|
-
|
|
177
|
-
Combined approval authorizes only this task's displayed plan: run native `plan seal`, use its returned revision for `plan approve` with the actual non-sensitive reply as basis, then `task.py start`. Do not ask for the same implementation approval again. Feedback keeps the task in planning until the revised plan is presented and explicitly confirmed. A seal-only request permits only sealing. An empty/cancelled response or a recommended option is not approval.
|
|
178
|
-
|
|
179
|
-
If the plan changes materially after presentation, return to final review before sealing or implementing. If a command fails, inspect the receipt and current state; do not blindly reseal a successfully sealed plan. Resume an existing sufficient authorization without another confirmation. Direct small work and `analysis_only` retain their existing paths.
|
|
180
|
-
|
|
181
|
-
## Artifact Rules
|
|
182
|
-
|
|
183
|
-
`prd.md` records requirements and acceptance:
|
|
184
|
-
|
|
185
|
-
- goal and user value
|
|
186
|
-
- confirmed facts
|
|
187
|
-
- requirements
|
|
188
|
-
- acceptance criteria
|
|
189
|
-
- out of scope
|
|
190
|
-
- open questions that still block planning
|
|
191
|
-
|
|
192
|
-
`design.md` records technical design for complex tasks:
|
|
193
|
-
|
|
194
|
-
- architecture and boundaries
|
|
195
|
-
- data flow and contracts
|
|
196
|
-
- compatibility and migration notes
|
|
197
|
-
- important trade-offs
|
|
198
|
-
- operational or rollback considerations
|
|
199
|
-
|
|
200
|
-
`implement.md` records execution planning for complex tasks:
|
|
201
|
-
|
|
202
|
-
- ordered implementation checklist
|
|
203
|
-
- validation commands
|
|
204
|
-
- risky files or rollback points
|
|
205
|
-
- follow-up checks before `task.py start`
|
|
206
|
-
|
|
207
|
-
Lightweight tasks may have only `prd.md`. Complex tasks must have `prd.md`, `design.md`, and `implement.md` before `task.py start`.
|
|
208
|
-
|
|
209
|
-
`implement.md` is not a replacement for `implement.jsonl`. On sub-agent-dispatch workflows, `implement.jsonl` and `check.jsonl` must each contain at least one real spec/research entry before `task.py start`; an empty manifest, or one holding only a legacy `_example` placeholder row, does not count. Inline workflows skip this JSONL gate because Phase 2 loads context through `trellis-before-dev`.
|
|
210
|
-
|
|
211
|
-
## PRD Convergence Pass
|
|
212
|
-
|
|
213
|
-
Before declaring planning ready or running `task.py start`, rewrite `prd.md` once against the final structure described in the artifact rules above. This is not optional cleanup; it is the final planning gate.
|
|
214
|
-
|
|
215
|
-
The pass must be lossless:
|
|
216
|
-
|
|
217
|
-
- Collapse repeated facts into one authoritative section.
|
|
218
|
-
- Fold temporary brainstorm sections such as `What I already know`, `Assumptions`, and resolved `Open Questions` into Goal, Background, Requirements, Technical Notes, or Acceptance Criteria.
|
|
219
|
-
- Remove resolved open questions instead of leaving empty or already-answered sections.
|
|
220
|
-
- Merge parallel bug and requirement lists when they describe the same work; keep each defect's severity, evidence, and file:line anchors on the owning requirement.
|
|
221
|
-
- Preserve every file:line anchor, decision, constraint, requirement ID, and acceptance-criteria mapping.
|
|
222
|
-
- Do not proceed to final review while any blocking open question remains.
|
|
223
|
-
|
|
224
|
-
After the pass, read `prd.md` top to bottom and verify that no fact is repeated across sections unless the repetition adds new information.
|
|
225
|
-
|
|
226
|
-
## Quality Bar
|
|
227
|
-
|
|
228
|
-
Before declaring change-bearing planning ready:
|
|
229
|
-
|
|
230
|
-
- `prd.md` contains testable acceptance criteria and has passed the PRD convergence pass.
|
|
231
|
-
- Repository-answerable questions have been answered; blocking implementation questions are resolved.
|
|
232
|
-
- Complex change-bearing tasks have `design.md` and `implement.md`; sub-agent-dispatch implementation tasks have curated manifests.
|
|
233
|
-
- The Planning Seal and final summary cover the implementation target, validation, and rollback.
|
|
234
|
-
- The final plan was presented before sealing and explicitly approved for this task; its matching native seal/approval gates must pass before start.
|
|
235
|
-
|
|
236
|
-
For `analysis_only`, verify the declared evidence deliverable and protected-target no-change boundary, then proceed to complete the research in planning without an implementation summary approval. Do not start change-bearing implementation merely because the user originally requested it.
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Guide requirements discovery for a Trellis task after task-creation consent."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Trellis Brainstorm
|
|
6
|
-
|
|
7
|
-
## Non-Negotiable Planning Contract
|
|
8
|
-
|
|
9
|
-
An initial request to build, implement, fix, or refactor is not approval to leave planning. Task-creation consent is also not implementation approval. An explicit response approving the displayed final plan may authorize sealing and implementation together.
|
|
10
|
-
|
|
11
|
-
For every non-trivial task, the user must respond at least once after the initial request before implementation begins. If no clarification is needed, that response must approve the final planning summary described below.
|
|
12
|
-
|
|
13
|
-
Keep the task in planning while a user-owned choice needed to define the requested work remains unresolved. For `analysis_only`, findings, recommendations, and open product options do not block evidence work or require a sealed decision chain. For change-bearing work, inventory evidence and decision dependencies; batch independent material questions with `pennix-decision-grill` when useful, and do not implement or run `task.py start` until change decisions are sealed and approved.
|
|
14
|
-
|
|
15
|
-
## Analysis-Only Exception
|
|
16
|
-
|
|
17
|
-
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. Keep status `planning`, record and verify the evidence, commit task artifacts, and archive directly; do not run `task.py start` or wait for a second implementation approval. This route remains eligible regardless of complexity, cross-owner scope, multiple evidence units, or whether findings include recommendations or unresolved product choices. Record these in task artifacts without changing protected targets, deploying, releasing, altering credentials, or mutating external systems. The initial request authorizes the requested main-session research; do not require a second implementation approval, Planning Seal, or `task.py start`. If independent subnode evidence is requested, freeze its dispatch plan in the task and obtain explicit approval before any spawn/send; that approval authorizes only the listed evidence dispatch. A later implementation request needs a change-bearing task and its normal Planning Seal and implementation approval gates.
|
|
18
|
-
|
|
19
|
-
## Non-Negotiable Evidence Rule
|
|
20
|
-
|
|
21
|
-
If a question can be answered by exploring the codebase, explore the codebase instead.
|
|
22
|
-
|
|
23
|
-
This is mandatory. Before asking the user a question, first check whether the answer is already available in code, tests, configs, docs, existing specs, or task history.
|
|
24
|
-
|
|
25
|
-
Do not ask the user to confirm facts that the repository can answer. Ask only for product intent, preference, scope, risk tolerance, acceptance behavior, or decisions that remain ambiguous after inspection.
|
|
26
|
-
|
|
27
|
-
Repository evidence establishes current behavior and technical constraints. The user's intended behavior, feature scope boundaries, and UX preferences are never answerable by repository evidence alone, even when an existing pattern exists; existing patterns are options and recommendation evidence, not decisions.
|
|
28
|
-
|
|
29
|
-
## Evidence Units For Read-Heavy Work
|
|
30
|
-
|
|
31
|
-
When research, audit, review, or investigation is too large for one independently useful conclusion in the current session, split it into evidence units. Each unit has one question or scope, a minimal evidence range, a destination artifact, and a stop condition; persist facts, conclusion or blocker, unknowns, and a recovery point before starting another unit. Size each unit for one normal context window without promising an exact token or time limit.
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
Use this skill during Phase 1 planning to turn the user's request into clear requirements and planning artifacts.
|
|
36
|
-
|
|
37
|
-
## Preconditions
|
|
38
|
-
|
|
39
|
-
Use this skill only after task-creation consent has been given and the user is ready to enter Trellis planning.
|
|
40
|
-
|
|
41
|
-
If no task exists yet, create one:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
TASK_DIR=$({{PYTHON_CMD}} ./.trellis/scripts/task.py create "<short task title>" --description "<one-line summary>" --slug <slug>)
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Use a concise title from the user's request. Both the title and `--description` must be non-empty — `create` rejects blanks, and a record with either one empty is refused at archive. Use a slug without a date prefix. `task.py create` adds the `MM-DD-` directory prefix automatically.
|
|
48
|
-
|
|
49
|
-
`task.py create` creates the default `prd.md`. Update that file with the current understanding before asking follow-up questions.
|
|
50
|
-
|
|
51
|
-
## Planning Flow
|
|
52
|
-
|
|
53
|
-
1. Capture the user's request and initial known facts in `prd.md`.
|
|
54
|
-
2. Inspect available evidence before asking questions:
|
|
55
|
-
- code, tests, fixtures, and configs
|
|
56
|
-
- README files, docs, existing specs, and domain notes
|
|
57
|
-
- related Trellis tasks, research files, and session history when present
|
|
58
|
-
3. Separate what you found into:
|
|
59
|
-
- confirmed facts
|
|
60
|
-
- product intent still needed from the user
|
|
61
|
-
- scope or risk decisions still needed from the user
|
|
62
|
-
- likely out-of-scope items
|
|
63
|
-
4. If the requested research scope or method depends on an unresolved user-owned choice, ask only that material question; otherwise proceed with the evidence work already requested. Use `pennix-decision-grill` to batch independent choices only when needed to define the requested work. A research recommendation or open product choice can be reported as a finding without being decided or sealed for implementation.
|
|
64
|
-
5. If the user requests independent subnode evidence, first freeze the dispatch plan in the task: question, evidence-unit mapping and grouping rationale, brief scope/stop conditions/destinations, concurrency and FIFO refill/acceptance method. Obtain the user's explicit approval of that frozen plan before any spawn/send. This approval covers only the listed evidence dispatch; material changes to units, scope, method, owner, risk, or acceptance require reapproval. Main-session evidence work may continue while dispatch approval is pending.
|
|
65
|
-
6. When a needed answer returns, persist it, recheck evidence, and continue the same task.
|
|
66
|
-
7. For `analysis_only`, record and verify the declared evidence and no-change boundary in planning; do not require a Planning Seal, implementation approval, or `task.py start` merely because the research is complex.
|
|
67
|
-
8. For change-bearing work, resolve material decisions, complete artifacts, run the requirement convergence and PRD passes without sealing, and present the final plan including targets/owners, acceptance, risks, validation, release/install, rollback and completion boundary. Then use `pennix-decision-grill` under the host interaction contract to ask whether to seal and approve proceeding or supplement/revise. Explicit combined approval of this same plan authorizes native `plan seal`, `plan approve` using its actual revision and reply, then `task.py start`; do not repeat the same approval. Feedback keeps planning; seal-only permits no approve/start. Equivalent explicit free text qualifies; empty/cancelled replies and recommended options do not. Material changes require renewed final review, using `task.py replan` only when already in progress. Inspect failed command receipts before continuing, do not blindly reseal, and reuse existing sufficient authorization on resume.
|
|
68
|
-
|
|
69
|
-
Do not invent a project-specific product/spec hierarchy. If the repository already has product, domain, or spec docs, use them. If it does not, proceed with the evidence that exists.
|
|
70
|
-
|
|
71
|
-
## Question Rules
|
|
72
|
-
|
|
73
|
-
Ask one bounded batch per message: include up to three independent material frontier questions. Ask exactly one question only when it is the sole remaining material decision or later decisions depend on its answer.
|
|
74
|
-
|
|
75
|
-
Each question must include:
|
|
76
|
-
|
|
77
|
-
- the decision needed
|
|
78
|
-
- why the answer matters
|
|
79
|
-
- your recommended answer
|
|
80
|
-
- the trade-off if the user chooses differently
|
|
81
|
-
|
|
82
|
-
Do not ask process questions such as whether to search, inspect files, or continue brainstorming. Do the evidence work directly. Ask the user only when the remaining issue is a product decision, preference, scope boundary, or risk tolerance choice.
|
|
83
|
-
|
|
84
|
-
Recommendations are not default selections. Never choose a recommended product decision on the user's behalf merely because the user asked for implementation.
|
|
85
|
-
|
|
86
|
-
Do not manufacture clarification questions when the request and repository evidence already resolve the scope and method. For `analysis_only`, proceed with the requested evidence work; no final implementation review or approval is required. The final review and subsequent approval are phase-transition gates for change-bearing implementation only.
|
|
87
|
-
|
|
88
|
-
## Requirement Convergence Gate
|
|
89
|
-
|
|
90
|
-
Before final review, verify all of the following:
|
|
91
|
-
|
|
92
|
-
- the user outcome and product value are explicit
|
|
93
|
-
- in-scope and out-of-scope behavior are explicit
|
|
94
|
-
- acceptance criteria describe observable outcomes
|
|
95
|
-
- user-owned product, scope, UX, compatibility, and risk decisions are resolved
|
|
96
|
-
- blocking open questions are empty
|
|
97
|
-
- technical unknowns are researched or explicitly deferred without changing MVP behavior
|
|
98
|
-
|
|
99
|
-
For `analysis_only`, the task PRD may stay bounded to evidence and the protected-target no-change boundary; no implementation review or approval is required. Change-bearing tasks retain their applicable evidence, convergence, final review, and fresh implementation approval gates.
|
|
100
|
-
|
|
101
|
-
The final planning summary must show Goal, In Scope, Out of Scope, Acceptance Criteria, Key Decisions, relevant Risks or Deferred Items, and artifact status.
|
|
102
|
-
|
|
103
|
-
For change-bearing work, the Planning Seal reconciles task artifacts, targets, branches, dependencies, release, validation, rollback, dynamic facts, and material decisions before implementation. It is not an eligibility or completion gate for `analysis_only` evidence work.
|
|
104
|
-
|
|
105
|
-
## Artifact Rules
|
|
106
|
-
|
|
107
|
-
`prd.md` records requirements and acceptance:
|
|
108
|
-
|
|
109
|
-
- goal and user value
|
|
110
|
-
- confirmed facts
|
|
111
|
-
- requirements
|
|
112
|
-
- acceptance criteria
|
|
113
|
-
- out of scope
|
|
114
|
-
- open questions that still block planning
|
|
115
|
-
|
|
116
|
-
`design.md` records technical design for complex tasks:
|
|
117
|
-
|
|
118
|
-
- architecture and boundaries
|
|
119
|
-
- data flow and contracts
|
|
120
|
-
- compatibility and migration notes
|
|
121
|
-
- important trade-offs
|
|
122
|
-
- operational or rollback considerations
|
|
123
|
-
|
|
124
|
-
`implement.md` records execution planning for complex tasks:
|
|
125
|
-
|
|
126
|
-
- ordered implementation checklist
|
|
127
|
-
- validation commands
|
|
128
|
-
- risky files or rollback points
|
|
129
|
-
- follow-up checks before `task.py start`
|
|
130
|
-
|
|
131
|
-
Lightweight tasks may have only `prd.md`. Complex tasks must have `prd.md`, `design.md`, and `implement.md` before `task.py start`.
|
|
132
|
-
|
|
133
|
-
`implement.md` is not a replacement for `implement.jsonl`. On sub-agent-dispatch workflows, `implement.jsonl` and `check.jsonl` must each contain at least one real spec/research entry before `task.py start`; an empty manifest, or one holding only a legacy `_example` placeholder row, does not count. Inline workflows skip this JSONL gate because Phase 2 loads context through `trellis-before-dev`.
|
|
134
|
-
|
|
135
|
-
## PRD Convergence Pass
|
|
136
|
-
|
|
137
|
-
Before declaring planning ready or running `task.py start`, rewrite `prd.md` once against the final structure described in the artifact rules above. This is not optional cleanup; it is the final planning gate.
|
|
138
|
-
|
|
139
|
-
The pass must be lossless:
|
|
140
|
-
|
|
141
|
-
- Collapse repeated facts into one authoritative section.
|
|
142
|
-
- Fold temporary brainstorm sections such as `What I already know`, `Assumptions`, and resolved `Open Questions` into Goal, Background, Requirements, Technical Notes, or Acceptance Criteria.
|
|
143
|
-
- Remove resolved open questions instead of leaving empty or already-answered sections.
|
|
144
|
-
- Merge parallel bug and requirement lists when they describe the same work; keep each defect's severity, evidence, and file:line anchors on the owning requirement.
|
|
145
|
-
- Preserve every file:line anchor, decision, constraint, requirement ID, and acceptance-criteria mapping.
|
|
146
|
-
- Do not proceed to final review while any blocking open question remains.
|
|
147
|
-
|
|
148
|
-
After the pass, read `prd.md` top to bottom and verify that no fact is repeated across sections unless the repetition adds new information.
|
|
149
|
-
|
|
150
|
-
## Quality Bar
|
|
151
|
-
|
|
152
|
-
Before declaring change-bearing planning ready:
|
|
153
|
-
|
|
154
|
-
- `prd.md` contains testable acceptance criteria and has passed the PRD convergence pass.
|
|
155
|
-
- Repository-answerable questions have been answered; blocking implementation questions are resolved.
|
|
156
|
-
- Complex change-bearing tasks have `design.md` and `implement.md`; sub-agent-dispatch implementation tasks have curated manifests.
|
|
157
|
-
- The Planning Seal and final summary cover the implementation target, validation, and rollback.
|
|
158
|
-
- The final plan was presented before sealing and explicitly approved for this task; its matching native seal/approval gates must pass before start.
|
|
159
|
-
|
|
160
|
-
For `analysis_only`, verify the declared evidence deliverable and protected-target no-change boundary, then proceed to complete the research in planning without an implementation summary approval.
|
|
161
|
-
|
|
162
|
-
Do not start implementation merely because the user originally asked for implementation.
|