@pennixrv/trellis 0.7.0-beta.41 → 0.7.0-beta.42

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.
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.7.0-beta.42",
3
+ "description": "Bounded in-progress amendments and retired Herdr cleanup",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "Allow explicit low-risk same-task amendments to remain in progress while preserving replan gates for material changes. Remove the retired Herdr workflow hook and integration residue.",
7
+ "migrations": [],
8
+ "notes": "No migrations. Existing task state and user-owned Herdr history remain untouched."
9
+ }
@@ -44,6 +44,16 @@ Resealing a sealed planning task declares a new material revision. Wording,
44
44
  formatting, progress, and execution evidence do not automatically invalidate it.
45
45
  Generic create/set-meta cannot prefill the reserved `meta.planning` record.
46
46
 
47
+ An explicitly user-requested addition to an `in_progress` task may continue in
48
+ the current phase when it serves the same task, keeps the same actual owner and
49
+ target, is small, reversible, and low risk, and changes none of the sealed
50
+ scope in substance, owner, risk, public behavior, data integrity, credentials,
51
+ deployment/release path, or acceptance. Record the request, classification,
52
+ owner, acceptance, and verification in the unsealed execution record; the
53
+ request authorizes only that exact addition. If any condition is false or
54
+ unclear, preserve the current conclusion, record `decision-needed`, and use
55
+ native `task.py replan` with the normal new-seal and later-approval path.
56
+
47
57
  Use native `task.py select <task>` for context-only selection: no phase/branch
48
58
  change, after_start hook, or implementation authority. `create --no-start`
49
59
  deliberately keeps the prior pointer. Save the old checkpoint before switching;
@@ -310,7 +320,7 @@ Planned/change-bearing start requires native plan seal and matching later approv
310
320
  Sub-agent dispatch protocol applies to all platforms and all sub-agents, including native Codex `SubagentStart` context injection with child-side pull fallback, class-2 Gemini/Qoder/Copilot/Reasonix/Trae/Grok/Kimi Code/DeepSeek Harness, hook-backed ZCode/Snow, and `trellis-research`: every dispatch prompt starts with `Active task: <task path from task.py current>` before role-specific instructions. On Grok Build, use `spawn_subagent` with `subagent_type` set to the Trellis agent name (e.g. `trellis-implement`). On Kimi Code, dispatch the built-in `coder` / `explore` sub-agent with the matching `.kimi-code/skills/trellis-<role>/SKILL.md` instructions. On DeepSeek Harness, tell the child to load the matching `.dsh/skills/trellis-agent-<role>/SKILL.md` exactly once, then choose the synchronization path by capability. If the optional companion plugin exposes `trellis_wait`, dispatch `subagent` in its default continuable background mode, continue independent work, and call `trellis_wait` once per dependent child id when a dependent gate is next; each call returns only after DSH has queued that child's native settlement notice. Without `trellis_wait`, dispatch each child with `run_in_background: false` from the outset so no dependent gate can overtake it. Never simulate waiting with shell sleep, polling loops, `job_output`, repeated `list_agents`, or another long-running command, and never leave a background child without an event-driven wait path.
311
321
 
312
322
  [workflow-state:in_progress]
313
- If implementation discovers a material unresolved decision, record `decision-needed`, run `task.py replan <task> "<reason>"`, and return to the planning frontier; do not ask a native question during implementation.
323
+ An explicitly user-requested bounded amendment that satisfies the in-progress conditions above stays in the current phase and is recorded in the unsealed execution record. If implementation discovers a material unresolved decision, or an amendment condition is false or unclear, record `decision-needed`, run `task.py replan <task> "<reason>"`, and return to the planning frontier; do not ask a native question during implementation.
314
324
  Tools: `trellis-implement` / `trellis-research` name sub-agent roles dispatched through your platform's sub-agent mechanism, not skills the main session loads itself (on Claude Code: use the Task/Agent tool, never the Skill tool). `trellis-update-spec` is a skill. `trellis-check` exists as both; prefer the Agent/role form when verifying after code changes.
315
325
  On DeepSeek Harness, role instructions ship as collision-free `trellis-agent-implement` / `trellis-agent-check` / `trellis-agent-research` skills under `.dsh/skills/`. The main session must not load them itself: tell the child to load the matching role skill exactly once. If `trellis_wait` is available, use the default background mode, do independent work, then call `trellis_wait` once per dependent child id and consume each native settlement notice before entering the dependent gate. If it is unavailable, dispatch every child with `run_in_background: false` from the outset. Do not poll, sleep, or start a background child without an event-driven wait path.
316
326
  Flow: `trellis-implement` -> `trellis-check` -> `trellis-update-spec` -> commit (Phase 3.4) -> `/trellis:finish-work`.
@@ -325,7 +335,7 @@ Dispatch prompt starts with `Active task: <task path from task.py current>`. Rea
325
335
 
326
336
  [workflow-state:in_progress-inline]
327
337
  Flow: `trellis-before-dev` -> edit -> `trellis-check` -> validation -> `trellis-update-spec` -> commit (Phase 3.4) -> `/trellis:finish-work`.
328
- If implementation discovers a material unresolved decision, record `decision-needed`, run `task.py replan <task> "<reason>"`, and return to the planning frontier; native questions are planning-only.
338
+ An explicitly user-requested bounded amendment that satisfies the in-progress conditions above stays in the current phase and is recorded in the unsealed execution record. If implementation discovers a material unresolved decision, or an amendment condition is false or unclear, record `decision-needed`, run `task.py replan <task> "<reason>"`, and return to the planning frontier; native questions are planning-only.
329
339
  Do not dispatch implement/check sub-agents in inline mode.
330
340
  Explicit Channel independent-evidence subnodes remain available under the selected workflow; required independent evidence cannot be replaced by main-session pass claims.
331
341
  Read context: `prd.md` -> `design.md if present` -> `implement.md if present`, plus relevant spec/research loaded by skills.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pennixrv/trellis",
3
- "version": "0.7.0-beta.41",
3
+ "version": "0.7.0-beta.42",
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.41"
37
+ "@pennixrv/trellis-core": "0.7.0-beta.42"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@eslint/js": "^9.18.0",