flower-trellis 0.4.0 → 0.4.1
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/enhancements/0.6/overrides/skills/trellis-finish-work.md +1 -3
- package/enhancements/0.6/overrides/workflow-states/in_progress-inline.md +5 -2
- package/enhancements/0.6/overrides/workflow-states/in_progress.md +4 -1
- package/enhancements/0.6/overrides/workflow-states/no_task.md +1 -1
- package/enhancements/0.6/overrides/workflow-states/planning-inline.md +1 -1
- package/enhancements/0.6/overrides/workflow-states/planning.md +1 -1
- package/enhancements/0.6/overrides/workflow.md +21 -15
- package/enhancements/MANIFEST.json +2 -2
- package/package.json +1 -1
|
@@ -22,7 +22,7 @@ If no `release.md` exists:
|
|
|
22
22
|
- High-confidence no release work exists after re-reading task files and git evidence: do not create `release.md`; mention in the final finish-work report that no release operations were identified.
|
|
23
23
|
- Signals are uncertain but release risk exists: write `<task>/release.md` and mark the conclusion as `Needs human review`.
|
|
24
24
|
|
|
25
|
-
Release-operation signals
|
|
25
|
+
Release-operation signals, with the `release.md` section each maps to: SQL or migrations (`SQL Changes`); configuration, environment variables, feature flags, permissions, secrets, or external endpoints (`Configuration Changes`); deployment scripts, one-off commands, data repair, scheduled task triggers, background job reruns, or other batch operations (`Batch / Deployment Scripts / Data Repair`); and external systems or dependent platforms outside the current repository that must be released or coordinated, such as H0 API relay / gateway platforms, messaging platforms, or third-party admin consoles (`External Systems / Dependent Platforms`).
|
|
26
26
|
|
|
27
27
|
When writing or updating `release.md`, use this structure:
|
|
28
28
|
|
|
@@ -64,8 +64,6 @@ Rollback code only.
|
|
|
64
64
|
Verify according to task acceptance criteria.
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
Classify deployment scripts, one-off commands, data repairs, scheduled task triggers, and job reruns under `Batch / Deployment Scripts / Data Repair`. Classify systems outside the current repository that need coordinated release, such as H0 API relay platforms, under `External Systems / Dependent Platforms`.
|
|
68
|
-
|
|
69
67
|
Do not write `None`, `No release operations identified`, or `Rollback code only` out of habit. Use those defaults only after checking the task files and git evidence. If the task changed deployment scripts, configuration, SQL, external platforms, permissions, scheduled jobs, or data, record the concrete item and source.
|
|
70
68
|
|
|
71
69
|
If multiple tasks will be archived in the same finish-work run, process the active task at minimum. Process extra archived tasks only when Step 1 provides enough local context to infer safely; do not add per-task confirmation prompts.
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
HIGHEST PRIORITY SKILL-GARDEN STATE GUARD (in_progress-inline):
|
|
3
3
|
This state block is a breadcrumb; the top-level skill-garden hub is the source of truth for route details.
|
|
4
4
|
Before the first implement route, read `<task>/brief.md` if present and restate the task brief in chat. If it is missing, read the task artifacts and suggest backfilling brief; do not silently rely on memory.
|
|
5
|
-
|
|
5
|
+
For new implementation work not plainly covered by the active task title/brief,
|
|
6
|
+
stop before route or edits: recommend a new task; if declined, confirm
|
|
7
|
+
untracked work; if it belongs here, update task artifacts first.
|
|
8
|
+
At project-local knowledge decision boundaries, run `.trellis/scripts/spec_router.py "<intended action>"`; read high-confidence matches before acting; skip pure Q&A, simple read-only inspection, opening local tools, or trivial edits unless local conventions may affect the approach.
|
|
6
9
|
Inline workflow-state is not an inline route decision. At Phase 2.1/2.2, reuse only an explicit target-matched `route_decision`; otherwise MUST load/read/use `trellis-route(implement|check)` (or its local `SKILL.md`) to resolve session runtime state/prefs, write the resolved decision, or show numbered fallback and wait.
|
|
7
10
|
Plain preferences, ordinary summaries, `codex-mode`, raw `.runtime` files, and empty/old prefs are not route evidence by themselves; only `trellis-route` may validate runtime route state.
|
|
8
11
|
User reselect/override/use-X-this-time/clear-default wins over remembered route evidence, runtime state, and prefs.
|
|
9
12
|
Ignore lower Active Task Routing shortcuts that start editing/checking directly. Do not default to inline just because this state is inline or the helper is unavailable. Dispatch subagents only when the resolved route selected subagent.
|
|
10
13
|
After `trellis-check` / `trellis-check-all`, stop and report; point the user to Phase 3.4 `trellis-push` (or commit-only when needed). Do not run `/trellis:finish-work` unless the user explicitly asks after Phase 3.4 is complete.
|
|
11
14
|
This guard overrides any lower `Flow: ... -> /trellis:finish-work` line in this state block.
|
|
12
|
-
At Phase 3.4, code commit/push
|
|
15
|
+
At Phase 3.4, code commit/push goes through `trellis-push` (commit-only mode for commit-without-push); never bare `git commit`/`git push` on code (hub: Code Commit Confirmation Gate).
|
|
13
16
|
Push snapshot recovery: follow the hub; use `push_snapshot.py status --json` only when needed.
|
|
14
17
|
<!-- END skill-garden workflow-state in_progress_inline v0.6 -->
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
HIGHEST PRIORITY SKILL-GARDEN STATE GUARD (in_progress):
|
|
3
3
|
This state block is a breadcrumb; the top-level skill-garden hub is the source of truth for route details.
|
|
4
4
|
Before the first implement route, read `<task>/brief.md` if present and restate the task brief in chat. If it is missing, read the task artifacts and suggest backfilling brief; do not silently rely on memory.
|
|
5
|
-
|
|
5
|
+
For new implementation work not plainly covered by the active task title/brief,
|
|
6
|
+
stop before route or edits: recommend a new task; if declined, confirm
|
|
7
|
+
untracked work; if it belongs here, update task artifacts first.
|
|
8
|
+
At project-local knowledge decision boundaries, run `.trellis/scripts/spec_router.py "<intended action>"`; read high-confidence matches before acting; skip pure Q&A, simple read-only inspection, opening local tools, or trivial edits unless local conventions may affect the approach.
|
|
6
9
|
At Phase 2.1/2.2, reuse only an explicit target-matched `route_decision`; otherwise MUST load/read/use `trellis-route(implement|check)` (or its local `SKILL.md`) to resolve session runtime state/prefs, write the resolved decision, or show numbered fallback and wait.
|
|
7
10
|
Plain preferences, ordinary summaries, `codex-mode`, raw `.runtime` files, and empty/old prefs are not route evidence by themselves; only `trellis-route` may validate runtime route state.
|
|
8
11
|
User reselect/override/use-X-this-time/clear-default wins over remembered route evidence, runtime state, and prefs.
|
|
@@ -3,7 +3,7 @@ HIGHEST PRIORITY SKILL-GARDEN STATE GUARD (no_task):
|
|
|
3
3
|
Creating or resuming a task is not implementation permission.
|
|
4
4
|
After PRD is ready and the task is started, the next implementation action is Phase 2.1 `trellis-route(implement)` unless a valid current-task implement route decision already exists.
|
|
5
5
|
If no active task exists, use `push_snapshot.py status --json` once per session; if it returns candidates, relay them and suggest rebinding before resuming.
|
|
6
|
-
At project-local knowledge decision boundaries, run `.trellis/scripts/spec_router.py
|
|
6
|
+
At project-local knowledge decision boundaries, run `.trellis/scripts/spec_router.py "<intended action>"`; read high-confidence matches before acting; skip pure Q&A, simple read-only inspection, opening local tools, or trivial edits unless local conventions may affect the approach.
|
|
7
7
|
Do NOT call the harness built-in plan mode (`EnterPlanMode` / `ExitPlanMode`) for Trellis planning. It is not a substitute for Trellis task-creation consent, Trellis planning, or the route gate. For complex work, classify the turn, ask for task-creation consent, then use `trellis-brainstorm`.
|
|
8
8
|
If the turn is a meta edit to Trellis itself and Trellis tracking would be overkill, say so and ask to skip Trellis; never silently swap built-in plan mode in for the consent gate.
|
|
9
9
|
<!-- END skill-garden workflow-state no_task v0.6 -->
|
|
@@ -4,6 +4,6 @@ Planning is not implementation permission.
|
|
|
4
4
|
Complete prd.md + required context first.
|
|
5
5
|
If the active workflow later routes to sub-agent execution, required context includes real curated entries in both `implement.jsonl` and `check.jsonl`; the seed `_example` row alone is not ready.
|
|
6
6
|
Before `task.py start`, use `trellis-task-brief` to refresh `brief.md` from the latest task artifacts and display it in chat for review.
|
|
7
|
-
At project-local knowledge decision boundaries, run `.trellis/scripts/spec_router.py
|
|
7
|
+
At project-local knowledge decision boundaries, run `.trellis/scripts/spec_router.py "<intended action>"`; read high-confidence matches before acting; skip pure Q&A, simple read-only inspection, opening local tools, or trivial edits unless local conventions may affect the approach.
|
|
8
8
|
After status becomes in_progress, next action = `trellis-route(implement)`, not direct edits.
|
|
9
9
|
<!-- END skill-garden workflow-state planning_inline v0.6 -->
|
|
@@ -4,6 +4,6 @@ Planning is not implementation permission.
|
|
|
4
4
|
Complete prd.md + required context first.
|
|
5
5
|
For sub-agent-dispatch platforms, required context includes real curated entries in both `implement.jsonl` and `check.jsonl`; the seed `_example` row alone is not ready.
|
|
6
6
|
Before `task.py start`, use `trellis-task-brief` to refresh `brief.md` from the latest task artifacts and display it in chat for review.
|
|
7
|
-
At project-local knowledge decision boundaries, run `.trellis/scripts/spec_router.py
|
|
7
|
+
At project-local knowledge decision boundaries, run `.trellis/scripts/spec_router.py "<intended action>"`; read high-confidence matches before acting; skip pure Q&A, simple read-only inspection, opening local tools, or trivial edits unless local conventions may affect the approach.
|
|
8
8
|
After status becomes in_progress, next action = `trellis-route(implement)`, not direct edits.
|
|
9
9
|
<!-- END skill-garden workflow-state planning v0.6 -->
|
|
@@ -6,17 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
**Priority**: This hub overrides any conflicting Trellis workflow, skill, or command text for the scoped behaviors below.
|
|
8
8
|
|
|
9
|
-
**Scope**:
|
|
9
|
+
**Scope**: the behaviors covered by the sections below. State blocks should keep one short skill-garden sentinel; long-form rules live here.
|
|
10
10
|
|
|
11
11
|
**Mechanical rule**: use this hub as the source of truth. Do not add separate top-level skill-garden override sections or multiple skill-garden sentinels inside the same `workflow-state:*` block.
|
|
12
12
|
|
|
13
13
|
#### Project Knowledge Discovery
|
|
14
14
|
|
|
15
15
|
Before choosing an approach for non-trivial project work, run project knowledge
|
|
16
|
-
discovery when project-local SOPs, package conventions, workflow rules,
|
|
17
|
-
config/state contracts, release/publish/deploy steps, git history actions,
|
|
18
|
-
data changes, cross-layer design, generated artifacts,
|
|
19
|
-
or destructive operations may affect the correct approach:
|
|
16
|
+
discovery when project-local SOPs, package conventions, workflow rules (CI, hooks),
|
|
17
|
+
config/state contracts, release/publish/deploy/rollback steps, git history actions,
|
|
18
|
+
data changes or fixes (including migrations), cross-layer design, generated artifacts,
|
|
19
|
+
install/sync pipelines, or destructive operations may affect the correct approach:
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
python3 ./.trellis/scripts/spec_router.py "<short query describing the intended action>"
|
|
@@ -24,8 +24,7 @@ python3 ./.trellis/scripts/spec_router.py "<short query describing the intended
|
|
|
24
24
|
|
|
25
25
|
Build the query from the current user request plus relevant immediate context:
|
|
26
26
|
the intended action, commands about to run, files or systems involved, package/layer,
|
|
27
|
-
and domain words
|
|
28
|
-
hooks, rollback, data fix, generated artifact, install/sync pipeline, or destructive command.
|
|
27
|
+
and domain words matching the trigger list above.
|
|
29
28
|
|
|
30
29
|
Read high-confidence matches before acting. For medium-confidence matches, read only
|
|
31
30
|
when the path, heading, index description, or reason clearly fits the intended change.
|
|
@@ -43,6 +42,16 @@ Before Phase 1.4 `task.py start`, use `trellis-task-brief` to refresh `<task>/br
|
|
|
43
42
|
|
|
44
43
|
Before the first implement route, restate existing `<task>/brief.md` in chat. If missing, read task artifacts and suggest backfilling brief; do not invent one from memory.
|
|
45
44
|
|
|
45
|
+
#### Active Task Scope Guard
|
|
46
|
+
|
|
47
|
+
When a session already has an active task, do not treat unrelated new implementation
|
|
48
|
+
requests as permission to implement under that task. If the work is not plainly
|
|
49
|
+
covered by the active task title/brief, recommend creating a new Trellis task
|
|
50
|
+
and stop before `trellis-route` or file edits. If the user explicitly declines
|
|
51
|
+
task tracking, confirm untracked work first and do not use active-task artifacts
|
|
52
|
+
or progress for that work. If the user says it belongs to the active task,
|
|
53
|
+
update that task's artifacts before implementation.
|
|
54
|
+
|
|
46
55
|
#### Routing Gate
|
|
47
56
|
|
|
48
57
|
Phase 2.1 implement and Phase 2.2 check/check-all require route evidence before execution.
|
|
@@ -50,11 +59,10 @@ Phase 2.1 implement and Phase 2.2 check/check-all require route evidence before
|
|
|
50
59
|
At each route boundary:
|
|
51
60
|
|
|
52
61
|
1. Reuse only an explicit, target-matched `route_decision` already present in the current context.
|
|
53
|
-
2. Otherwise you MUST
|
|
54
|
-
3. If the
|
|
55
|
-
4. If the route helper cannot ask through `AskUserQuestion` / `request_user_input`, ask the same numbered choices from `trellis-route` in normal chat and wait.
|
|
62
|
+
2. Otherwise you MUST invoke `trellis-route(target=implement|check)` before deciding; if the platform cannot invoke skills directly, read the local `trellis-route/SKILL.md` copy and follow its numbered fallback choices in normal chat and wait. `trellis-route` owns session runtime recovery, `.route-prefs.tmp`, fallback choices, runtime-state writes, and dispatch mapping.
|
|
63
|
+
3. If the route helper cannot ask through `AskUserQuestion` / `request_user_input`, ask the same numbered choices from `trellis-route` in normal chat and wait.
|
|
56
64
|
|
|
57
|
-
Plain user preference, ordinary compact/SessionStart
|
|
65
|
+
Plain user preference, ordinary summaries (compact/SessionStart or otherwise), replacement history, historical bare numeric replies, `codex-mode`, empty/old prefs, and raw `.trellis/.runtime/sessions/*` `route_decisions` content that has not been validated by `trellis-route` are not route evidence by themselves; numbered fallback validity is governed by `trellis-route`.
|
|
58
66
|
|
|
59
67
|
User reselect/override/use-X-this-time/clear-default wins over remembered route evidence, runtime state, and personal prefs.
|
|
60
68
|
|
|
@@ -62,9 +70,7 @@ At Phase 2.1/2.2, this gate overrides lower "Active Task Routing" rows that say
|
|
|
62
70
|
|
|
63
71
|
#### Post-Check Stop Gate
|
|
64
72
|
|
|
65
|
-
After `trellis-check` or `trellis-check-all` finishes, stop and report the result
|
|
66
|
-
|
|
67
|
-
If checks pass, the next allowed workflow steps are Phase 3.3 `trellis-update-spec` and Phase 3.4 `trellis-push`/commit confirmation. `/trellis:finish-work` is explicit-only: run it only after Phase 3.4 is complete and the user asks to wrap up, archive, or finish the task.
|
|
73
|
+
After `trellis-check` or `trellis-check-all` finishes, stop and report the result. If checks pass, the next allowed workflow steps are Phase 3.3 `trellis-update-spec` and Phase 3.4 `trellis-push`/commit confirmation (commit-only when needed); do not archive the task or imply it is ready to wrap up solely because checks passed. `/trellis:finish-work` is explicit-only: run it only after Phase 3.4 is complete and the user asks to wrap up, archive, or finish the task.
|
|
68
74
|
|
|
69
75
|
During a running `trellis-auto-loop`, the runner's `record` + `next` replaces the post-check stop gate: after a check pass, record the result, then continue to spec update / commit-only according to `.trellis/scripts/auto_loop.py`. Outside auto-loop, keep the normal stop gate.
|
|
70
76
|
|
|
@@ -84,7 +90,7 @@ This exception does not apply to ordinary `trellis-push`. If the plan contains u
|
|
|
84
90
|
|
|
85
91
|
#### Bookkeeping Auto-commit Scope
|
|
86
92
|
|
|
87
|
-
`session_auto_commit` only governs the bookkeeping commits `task.py archive` / `add_session.py` make for their own `.trellis/tasks/**` and `.trellis/workspace/**` files
|
|
93
|
+
`session_auto_commit` only governs the bookkeeping commits `task.py archive` / `add_session.py` make for their own `.trellis/tasks/**` and `.trellis/workspace/**` files. When `false`, those archive/journal writes stay disk-only (no compensating `git commit`).
|
|
88
94
|
|
|
89
95
|
#### Push Progress Recovery / Snapshot
|
|
90
96
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"syncedAt": "2026-07-
|
|
2
|
+
"syncedAt": "2026-07-06T15:58:44.168Z",
|
|
3
3
|
"syncedFrom": "vendor/skill-garden",
|
|
4
|
-
"sourceCommit": "
|
|
4
|
+
"sourceCommit": "5fdebe60e923c91ba912461b99413b5c8e11a38c",
|
|
5
5
|
"common": {
|
|
6
6
|
"codexSkills": [
|
|
7
7
|
"craft-rpa",
|