@pennixrv/trellis 0.7.0-beta.9 → 0.7.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/README.md +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +14 -26
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/ablate.js +1 -1
- package/dist/commands/ablate.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +30 -56
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/task-progress.d.ts +2 -0
- package/dist/commands/task-progress.d.ts.map +1 -1
- package/dist/commands/task-progress.js +37 -30
- package/dist/commands/task-progress.js.map +1 -1
- package/dist/commands/{channel → teamwork}/adapters/claude.d.ts +3 -3
- package/dist/commands/teamwork/adapters/claude.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/claude.js +3 -3
- package/dist/commands/teamwork/adapters/claude.js.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/codex.d.ts +1 -15
- package/dist/commands/teamwork/adapters/codex.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/codex.js +5 -42
- package/dist/commands/teamwork/adapters/codex.js.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/index.d.ts +6 -6
- package/dist/commands/teamwork/adapters/index.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/index.js +16 -52
- package/dist/commands/teamwork/adapters/index.js.map +1 -0
- package/dist/commands/{channel → teamwork}/adapters/types.d.ts +2 -2
- package/dist/commands/teamwork/adapters/types.d.ts.map +1 -0
- package/dist/commands/teamwork/adapters/types.js.map +1 -0
- package/dist/commands/{channel → teamwork}/agent-loader.d.ts +2 -4
- package/dist/commands/teamwork/agent-loader.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/agent-loader.js +4 -35
- package/dist/commands/teamwork/agent-loader.js.map +1 -0
- package/dist/commands/teamwork/artifact.d.ts +177 -0
- package/dist/commands/teamwork/artifact.d.ts.map +1 -0
- package/dist/commands/teamwork/artifact.js +908 -0
- package/dist/commands/teamwork/artifact.js.map +1 -0
- package/dist/commands/{channel → teamwork}/context-loader.d.ts +1 -1
- package/dist/commands/teamwork/context-loader.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/context-loader.js +12 -12
- package/dist/commands/teamwork/context-loader.js.map +1 -0
- package/dist/commands/{channel → teamwork}/context-trust.d.ts +6 -6
- package/dist/commands/teamwork/context-trust.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/context-trust.js +16 -16
- package/dist/commands/teamwork/context-trust.js.map +1 -0
- package/dist/commands/teamwork/context.d.ts +16 -0
- package/dist/commands/teamwork/context.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/context.js +17 -17
- package/dist/commands/teamwork/context.js.map +1 -0
- package/dist/commands/teamwork/coordinator.d.ts +89 -0
- package/dist/commands/teamwork/coordinator.d.ts.map +1 -0
- package/dist/commands/teamwork/coordinator.js +1198 -0
- package/dist/commands/teamwork/coordinator.js.map +1 -0
- package/dist/commands/teamwork/create.d.ts +23 -0
- package/dist/commands/teamwork/create.d.ts.map +1 -0
- package/dist/commands/teamwork/create.js +39 -0
- package/dist/commands/teamwork/create.js.map +1 -0
- package/dist/commands/{channel → teamwork}/dev-parse-trace.d.ts +1 -1
- package/dist/commands/teamwork/dev-parse-trace.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/dev-parse-trace.js +1 -1
- package/dist/commands/teamwork/dev-parse-trace.js.map +1 -0
- package/dist/commands/{channel → teamwork}/guard.d.ts +27 -46
- package/dist/commands/teamwork/guard.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/guard.js +54 -156
- package/dist/commands/teamwork/guard.js.map +1 -0
- package/dist/commands/teamwork/index.d.ts +3 -0
- package/dist/commands/teamwork/index.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/index.js +135 -165
- package/dist/commands/teamwork/index.js.map +1 -0
- package/dist/commands/{channel → teamwork}/interrupt.d.ts +1 -1
- package/dist/commands/teamwork/interrupt.d.ts.map +1 -0
- package/dist/commands/teamwork/interrupt.js +22 -0
- package/dist/commands/teamwork/interrupt.js.map +1 -0
- package/dist/commands/teamwork/kill.d.ts +7 -0
- package/dist/commands/teamwork/kill.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/kill.js +21 -21
- package/dist/commands/teamwork/kill.js.map +1 -0
- package/dist/commands/teamwork/list.d.ts +17 -0
- package/dist/commands/teamwork/list.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/list.js +18 -27
- package/dist/commands/teamwork/list.js.map +1 -0
- package/dist/commands/{channel → teamwork}/messages.d.ts +1 -1
- package/dist/commands/teamwork/messages.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/messages.js +18 -18
- package/dist/commands/teamwork/messages.js.map +1 -0
- package/dist/commands/teamwork/profiles.d.ts +25 -0
- package/dist/commands/teamwork/profiles.d.ts.map +1 -0
- package/dist/commands/teamwork/profiles.js +125 -0
- package/dist/commands/teamwork/profiles.js.map +1 -0
- package/dist/commands/teamwork/rm.d.ts +27 -0
- package/dist/commands/teamwork/rm.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/rm.js +21 -22
- package/dist/commands/teamwork/rm.js.map +1 -0
- package/dist/commands/teamwork/run.d.ts +29 -0
- package/dist/commands/{channel → teamwork}/run.d.ts.map +1 -1
- package/dist/commands/teamwork/run.js +129 -0
- package/dist/commands/teamwork/run.js.map +1 -0
- package/dist/commands/{channel → teamwork}/send.d.ts +1 -1
- package/dist/commands/teamwork/send.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/send.js +7 -7
- package/dist/commands/teamwork/send.js.map +1 -0
- package/dist/commands/{channel → teamwork}/spawn.d.ts +8 -12
- package/dist/commands/teamwork/spawn.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/spawn.js +51 -112
- package/dist/commands/teamwork/spawn.js.map +1 -0
- package/dist/commands/teamwork/store/events.d.ts +22 -0
- package/dist/commands/teamwork/store/events.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/events.js +8 -8
- package/dist/commands/teamwork/store/events.js.map +1 -0
- package/dist/commands/teamwork/store/filter.d.ts +3 -0
- package/dist/commands/teamwork/store/filter.d.ts.map +1 -0
- package/dist/commands/teamwork/store/filter.js +2 -0
- package/dist/commands/teamwork/store/filter.js.map +1 -0
- package/dist/commands/{channel → teamwork}/store/lock.d.ts +1 -1
- package/dist/commands/teamwork/store/lock.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/lock.js +2 -2
- package/dist/commands/teamwork/store/lock.js.map +1 -0
- package/dist/commands/{channel → teamwork}/store/paths.d.ts +18 -32
- package/dist/commands/teamwork/store/paths.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/paths.js +42 -109
- package/dist/commands/teamwork/store/paths.js.map +1 -0
- package/dist/commands/teamwork/store/schema.d.ts +18 -0
- package/dist/commands/teamwork/store/schema.d.ts.map +1 -0
- package/dist/commands/teamwork/store/schema.js +23 -0
- package/dist/commands/teamwork/store/schema.js.map +1 -0
- package/dist/commands/{channel → teamwork}/store/thread-state.d.ts +3 -3
- package/dist/commands/teamwork/store/thread-state.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/thread-state.js +1 -1
- package/dist/commands/teamwork/store/thread-state.js.map +1 -0
- package/dist/commands/teamwork/store/watch.d.ts +19 -0
- package/dist/commands/teamwork/store/watch.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/store/watch.js +8 -8
- package/dist/commands/teamwork/store/watch.js.map +1 -0
- package/dist/commands/teamwork/supervisor/idle.d.ts.map +1 -0
- package/dist/commands/teamwork/supervisor/idle.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/inbox.d.ts +2 -2
- package/dist/commands/teamwork/supervisor/inbox.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/inbox.js +14 -14
- package/dist/commands/teamwork/supervisor/inbox.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/shutdown.d.ts +3 -6
- package/dist/commands/teamwork/supervisor/shutdown.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/shutdown.js +7 -17
- package/dist/commands/teamwork/supervisor/shutdown.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/stdout.d.ts +3 -5
- package/dist/commands/teamwork/supervisor/stdout.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/stdout.js +12 -23
- package/dist/commands/teamwork/supervisor/stdout.js.map +1 -0
- package/dist/commands/teamwork/supervisor/turns.d.ts.map +1 -0
- package/dist/commands/teamwork/supervisor/turns.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/warning.d.ts +5 -5
- package/dist/commands/teamwork/supervisor/warning.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor/warning.js +6 -6
- package/dist/commands/teamwork/supervisor/warning.js.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor.d.ts +21 -21
- package/dist/commands/teamwork/supervisor.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/supervisor.js +53 -63
- package/dist/commands/teamwork/supervisor.js.map +1 -0
- package/dist/commands/teamwork/teammate-adapters.d.ts +31 -0
- package/dist/commands/teamwork/teammate-adapters.d.ts.map +1 -0
- package/dist/commands/teamwork/teammate-adapters.js +96 -0
- package/dist/commands/teamwork/teammate-adapters.js.map +1 -0
- package/dist/commands/teamwork/teammate-config.d.ts +19 -0
- package/dist/commands/teamwork/teammate-config.d.ts.map +1 -0
- package/dist/commands/teamwork/teammate-config.js +97 -0
- package/dist/commands/teamwork/teammate-config.js.map +1 -0
- package/dist/commands/teamwork/teammate-launch.d.ts +58 -0
- package/dist/commands/teamwork/teammate-launch.d.ts.map +1 -0
- package/dist/commands/teamwork/teammate-launch.js +125 -0
- package/dist/commands/teamwork/teammate-launch.js.map +1 -0
- package/dist/commands/teamwork/text-body.d.ts +13 -0
- package/dist/commands/teamwork/text-body.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/text-body.js +3 -3
- package/dist/commands/teamwork/text-body.js.map +1 -0
- package/dist/commands/teamwork/threads.d.ts +35 -0
- package/dist/commands/teamwork/threads.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/threads.js +19 -19
- package/dist/commands/teamwork/threads.js.map +1 -0
- package/dist/commands/teamwork/title.d.ts +12 -0
- package/dist/commands/teamwork/title.d.ts.map +1 -0
- package/dist/commands/teamwork/title.js +24 -0
- package/dist/commands/teamwork/title.js.map +1 -0
- package/dist/commands/{channel → teamwork}/wait.d.ts +1 -5
- package/dist/commands/teamwork/wait.d.ts.map +1 -0
- package/dist/commands/{channel → teamwork}/wait.js +8 -21
- package/dist/commands/teamwork/wait.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +48 -89
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/workflow.d.ts +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +9 -10
- package/dist/commands/workflow.js.map +1 -1
- package/dist/configurators/claude.d.ts +0 -17
- package/dist/configurators/claude.d.ts.map +1 -1
- package/dist/configurators/claude.js +2 -61
- package/dist/configurators/claude.js.map +1 -1
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +2 -2
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/snow.js +1 -1
- package/dist/configurators/snow.js.map +1 -1
- package/dist/configurators/workflow.d.ts +1 -1
- package/dist/configurators/workflow.js +5 -5
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/constants/paths.d.ts +1 -1
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +1 -1
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.7.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.15.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.17.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.18.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.19.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.20.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.21.json +17 -0
- package/dist/migrations/manifests/0.7.0-beta.22.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.23.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.24.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.25.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.26.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.27.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.28.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.29.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.30.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.31.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.32.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.33.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.34.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.35.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.36.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.37.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.38.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.39.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.40.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.41.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.42.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.43.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.44.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.45.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.46.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.47.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.48.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.49.json +13 -0
- package/dist/migrations/manifests/0.7.0-beta.50.json +12 -0
- package/dist/migrations/manifests/0.7.0-beta.51.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.52.json +9 -0
- 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/migrations/manifests/0.7.1.json +9 -0
- package/dist/templates/claude/hooks/statusline.py +0 -7
- package/dist/templates/codex/hooks/session-start.py +31 -38
- package/dist/templates/common/bundled-skills/trellis-decision-space-construction-and-merging/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-decision-space-construction-and-merging/workflow.md +40 -0
- package/dist/templates/common/bundled-skills/trellis-delivery-review-and-closeout/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-delivery-review-and-closeout/workflow.md +55 -0
- package/dist/templates/common/bundled-skills/trellis-goal-exploration-and-requirements/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-goal-exploration-and-requirements/workflow.md +33 -0
- package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +25 -25
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +13 -19
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +27 -75
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +17 -56
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +14 -11
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +0 -33
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-teamwork.md +32 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +25 -111
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +19 -60
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-solution-design-and-convergence/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-solution-design-and-convergence/workflow.md +36 -0
- package/dist/templates/common/bundled-skills/trellis-task-implementation/SKILL.md +10 -0
- package/dist/templates/common/bundled-skills/trellis-task-implementation/workflow.md +29 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/SKILL.md +73 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/references/coordination-modes.md +29 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-configuration-matrix.md +31 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-processes.md +37 -0
- package/dist/templates/common/bundled-skills/trellis-teamwork/references/teamwork-plan-construction.md +78 -0
- package/dist/templates/common/commands/continue.md +9 -49
- package/dist/templates/common/commands/finish-work.md +10 -58
- package/dist/templates/common/commands/start.md +19 -49
- package/dist/templates/common/skills/brainstorm.md +11 -199
- package/dist/templates/copilot/hooks/session-start.py +30 -26
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +7 -160
- package/dist/templates/copilot/prompts/finish-work.prompt.md +11 -88
- package/dist/templates/copilot/prompts/record-session.prompt.md +4 -12
- package/dist/templates/copilot/prompts/start.prompt.md +12 -10
- package/dist/templates/dsh/DSH.md +2 -2
- package/dist/templates/kiro/agents/trellis.json +2 -2
- package/dist/templates/markdown/agents.md +14 -3
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +9 -8
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +1 -1
- package/dist/templates/markdown/workspace-index.md +0 -1
- package/dist/templates/omp/extensions/trellis/index.ts.txt +28 -17
- package/dist/templates/opencode/lib/session-utils.js +20 -25
- package/dist/templates/opencode/lib/trellis-context.js +4 -76
- package/dist/templates/opencode/plugins/inject-subagent-context.js +5 -4
- package/dist/templates/opencode/plugins/inject-workflow-state.js +14 -17
- package/dist/templates/shared-hooks/inject-shell-session-context.py +3 -3
- package/dist/templates/shared-hooks/inject-subagent-context.py +445 -67
- package/dist/templates/shared-hooks/inject-workflow-state.py +44 -36
- package/dist/templates/shared-hooks/session-start.py +21 -33
- package/dist/templates/trellis/agents/delegated-worktree-primary-agent.md +18 -0
- package/dist/templates/trellis/agents/teammate-profiles.json +8 -0
- package/dist/templates/trellis/agents/teammate.md +63 -0
- package/dist/templates/trellis/config.yaml +29 -38
- package/dist/templates/trellis/gitignore.txt +1 -0
- package/dist/templates/trellis/index.d.ts +8 -12
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +14 -25
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/add_session.py +1 -1
- package/dist/templates/trellis/scripts/common/__init__.py +0 -1
- package/dist/templates/trellis/scripts/common/active_task.py +136 -100
- package/dist/templates/trellis/scripts/common/config.py +7 -9
- package/dist/templates/trellis/scripts/common/git_context.py +1 -1
- package/dist/templates/trellis/scripts/common/io.py +19 -0
- package/dist/templates/trellis/scripts/common/paths.py +0 -1
- package/dist/templates/trellis/scripts/common/safe_commit.py +11 -90
- package/dist/templates/trellis/scripts/common/session_context.py +1 -8
- package/dist/templates/trellis/scripts/common/spec_match.py +1 -1
- package/dist/templates/trellis/scripts/common/task_context.py +152 -59
- package/dist/templates/trellis/scripts/common/task_continuity.py +563 -0
- package/dist/templates/trellis/scripts/common/task_store.py +70 -548
- package/dist/templates/trellis/scripts/common/task_utils.py +4 -98
- package/dist/templates/trellis/scripts/common/task_workflow.py +1096 -0
- package/dist/templates/trellis/scripts/common/tasks.py +5 -8
- package/dist/templates/trellis/scripts/common/workflow_phase.py +8 -7
- package/dist/templates/trellis/scripts/hooks/linear_sync.py +3 -3
- package/dist/templates/trellis/scripts/task.py +114 -377
- package/dist/templates/trellis/workflow.md +111 -706
- package/dist/utils/agent-refs.d.ts +5 -5
- package/dist/utils/agent-refs.js +6 -6
- package/dist/utils/file-writer.d.ts +3 -2
- package/dist/utils/file-writer.d.ts.map +1 -1
- package/dist/utils/file-writer.js +3 -2
- package/dist/utils/file-writer.js.map +1 -1
- package/dist/utils/managed-paths.d.ts +0 -7
- package/dist/utils/managed-paths.d.ts.map +1 -1
- package/dist/utils/managed-paths.js +0 -40
- package/dist/utils/managed-paths.js.map +1 -1
- package/dist/utils/manifest-prune.d.ts.map +1 -1
- package/dist/utils/manifest-prune.js +2 -11
- package/dist/utils/manifest-prune.js.map +1 -1
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
- package/dist/utils/uninstall-scrubbers.js +3 -3
- package/dist/utils/uninstall-scrubbers.js.map +1 -1
- package/dist/utils/workflow-resolver.d.ts +10 -16
- package/dist/utils/workflow-resolver.d.ts.map +1 -1
- package/dist/utils/workflow-resolver.js +25 -36
- package/dist/utils/workflow-resolver.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/channel/adapters/claude.d.ts.map +0 -1
- package/dist/commands/channel/adapters/claude.js.map +0 -1
- package/dist/commands/channel/adapters/codex.d.ts.map +0 -1
- package/dist/commands/channel/adapters/codex.js.map +0 -1
- package/dist/commands/channel/adapters/index.d.ts.map +0 -1
- package/dist/commands/channel/adapters/index.js.map +0 -1
- package/dist/commands/channel/adapters/types.d.ts.map +0 -1
- package/dist/commands/channel/adapters/types.js.map +0 -1
- package/dist/commands/channel/agent-loader.d.ts.map +0 -1
- package/dist/commands/channel/agent-loader.js.map +0 -1
- package/dist/commands/channel/context-loader.d.ts.map +0 -1
- package/dist/commands/channel/context-loader.js.map +0 -1
- package/dist/commands/channel/context-trust.d.ts.map +0 -1
- package/dist/commands/channel/context-trust.js.map +0 -1
- package/dist/commands/channel/context.d.ts +0 -16
- package/dist/commands/channel/context.d.ts.map +0 -1
- package/dist/commands/channel/context.js.map +0 -1
- package/dist/commands/channel/create.d.ts +0 -29
- package/dist/commands/channel/create.d.ts.map +0 -1
- package/dist/commands/channel/create.js +0 -47
- package/dist/commands/channel/create.js.map +0 -1
- package/dist/commands/channel/dev-parse-trace.d.ts.map +0 -1
- package/dist/commands/channel/dev-parse-trace.js.map +0 -1
- package/dist/commands/channel/guard.d.ts.map +0 -1
- package/dist/commands/channel/guard.js.map +0 -1
- package/dist/commands/channel/index.d.ts +0 -3
- package/dist/commands/channel/index.d.ts.map +0 -1
- package/dist/commands/channel/index.js.map +0 -1
- package/dist/commands/channel/interrupt.d.ts.map +0 -1
- package/dist/commands/channel/interrupt.js +0 -22
- package/dist/commands/channel/interrupt.js.map +0 -1
- package/dist/commands/channel/kill.d.ts +0 -7
- package/dist/commands/channel/kill.d.ts.map +0 -1
- package/dist/commands/channel/kill.js.map +0 -1
- package/dist/commands/channel/list.d.ts +0 -18
- package/dist/commands/channel/list.d.ts.map +0 -1
- package/dist/commands/channel/list.js.map +0 -1
- package/dist/commands/channel/messages.d.ts.map +0 -1
- package/dist/commands/channel/messages.js.map +0 -1
- package/dist/commands/channel/rm.d.ts +0 -27
- package/dist/commands/channel/rm.d.ts.map +0 -1
- package/dist/commands/channel/rm.js.map +0 -1
- package/dist/commands/channel/run.d.ts +0 -32
- package/dist/commands/channel/run.js +0 -141
- package/dist/commands/channel/run.js.map +0 -1
- package/dist/commands/channel/send.d.ts.map +0 -1
- package/dist/commands/channel/send.js.map +0 -1
- package/dist/commands/channel/spawn.d.ts.map +0 -1
- package/dist/commands/channel/spawn.js.map +0 -1
- package/dist/commands/channel/store/events.d.ts +0 -22
- package/dist/commands/channel/store/events.d.ts.map +0 -1
- package/dist/commands/channel/store/events.js.map +0 -1
- package/dist/commands/channel/store/filter.d.ts +0 -3
- package/dist/commands/channel/store/filter.d.ts.map +0 -1
- package/dist/commands/channel/store/filter.js +0 -2
- package/dist/commands/channel/store/filter.js.map +0 -1
- package/dist/commands/channel/store/lock.d.ts.map +0 -1
- package/dist/commands/channel/store/lock.js.map +0 -1
- package/dist/commands/channel/store/paths.d.ts.map +0 -1
- package/dist/commands/channel/store/paths.js.map +0 -1
- package/dist/commands/channel/store/schema.d.ts +0 -27
- package/dist/commands/channel/store/schema.d.ts.map +0 -1
- package/dist/commands/channel/store/schema.js +0 -34
- package/dist/commands/channel/store/schema.js.map +0 -1
- package/dist/commands/channel/store/thread-state.d.ts.map +0 -1
- package/dist/commands/channel/store/thread-state.js.map +0 -1
- package/dist/commands/channel/store/watch.d.ts +0 -19
- package/dist/commands/channel/store/watch.d.ts.map +0 -1
- package/dist/commands/channel/store/watch.js.map +0 -1
- package/dist/commands/channel/supervisor/idle.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/idle.js.map +0 -1
- package/dist/commands/channel/supervisor/inbox.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/inbox.js.map +0 -1
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/shutdown.js.map +0 -1
- package/dist/commands/channel/supervisor/stdout.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/stdout.js.map +0 -1
- package/dist/commands/channel/supervisor/turns.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/turns.js.map +0 -1
- package/dist/commands/channel/supervisor/warning.d.ts.map +0 -1
- package/dist/commands/channel/supervisor/warning.js.map +0 -1
- package/dist/commands/channel/supervisor.d.ts.map +0 -1
- package/dist/commands/channel/supervisor.js.map +0 -1
- package/dist/commands/channel/text-body.d.ts +0 -13
- package/dist/commands/channel/text-body.d.ts.map +0 -1
- package/dist/commands/channel/text-body.js.map +0 -1
- package/dist/commands/channel/threads.d.ts +0 -39
- package/dist/commands/channel/threads.d.ts.map +0 -1
- package/dist/commands/channel/threads.js.map +0 -1
- package/dist/commands/channel/title.d.ts +0 -12
- package/dist/commands/channel/title.d.ts.map +0 -1
- package/dist/commands/channel/title.js +0 -24
- package/dist/commands/channel/title.js.map +0 -1
- package/dist/commands/channel/wait.d.ts.map +0 -1
- package/dist/commands/channel/wait.js.map +0 -1
- package/dist/commands/channel/workers.d.ts +0 -9
- package/dist/commands/channel/workers.d.ts.map +0 -1
- package/dist/commands/channel/workers.js +0 -31
- package/dist/commands/channel/workers.js.map +0 -1
- package/dist/templates/common/bundled-skills/trellis-channel/SKILL.md +0 -69
- package/dist/templates/common/bundled-skills/trellis-channel/references/command-reference.md +0 -549
- package/dist/templates/common/bundled-skills/trellis-channel/references/forum.md +0 -233
- package/dist/templates/common/bundled-skills/trellis-channel/references/progress-debugging.md +0 -237
- package/dist/templates/common/bundled-skills/trellis-channel/references/subnode-work.md +0 -222
- package/dist/templates/common/bundled-skills/trellis-channel/references/workers.md +0 -295
- package/dist/templates/common/bundled-skills/trellis-channel/references/workflows.md +0 -131
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-channel.md +0 -70
- package/dist/templates/common/bundled-skills/trellis-research-record/SKILL.md +0 -14
- package/dist/templates/copilot/prompts/parallel.prompt.md +0 -204
- package/dist/templates/trellis/agents/check.md +0 -70
- package/dist/templates/trellis/agents/implement.md +0 -71
- package/dist/templates/trellis/agents/subnode.env +0 -4
- package/dist/templates/trellis/agents/subnode.md +0 -76
- package/dist/templates/trellis/scripts/common/context_projection.py +0 -508
- package/dist/templates/trellis/scripts/common/continuation_record.py +0 -450
- package/dist/templates/trellis/scripts/common/ownership_record.py +0 -439
- package/dist/templates/trellis/scripts/subnode_artifact.py +0 -735
- package/dist/templates/trellis/scripts/workspace_note.py +0 -126
- /package/dist/commands/{channel → teamwork}/adapters/types.js +0 -0
- /package/dist/commands/{channel → teamwork}/supervisor/idle.d.ts +0 -0
- /package/dist/commands/{channel → teamwork}/supervisor/idle.js +0 -0
- /package/dist/commands/{channel → teamwork}/supervisor/turns.d.ts +0 -0
- /package/dist/commands/{channel → teamwork}/supervisor/turns.js +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.17",
|
|
3
|
+
"description": "Make Trellis update honor selected workflow provenance",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Workflow update fix:**\n- Generic `trellis update` now resolves the project's selected workflow from immutable provenance instead of comparing a Marketplace workflow with bundled native bytes.\n- Legacy untracked custom workflows remain outside the generic update set.\n- Provenance identity checks are shared by update and verify, with a regression test preventing false native `.new` candidates.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run npm install -g @pennixrv/trellis@beta then trellis update. No --migrate required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.18",
|
|
3
|
+
"description": "Clarify formal-handoff verification in the Codex subnode workflow",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Handoff contract clarification:**\n- The Codex subnode workflow distinguishes same-document retrieval verification from canonical content persistence.\n- Marketplace workflow content hashes remain synchronized with the published workflow.\n- No project migration is required.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run npm install -g @pennixrv/trellis@beta then trellis update. No --migrate required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.19",
|
|
3
|
+
"description": "Make Trellis project updates ownership-aware for mixed generated assets",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Ownership-aware update fixes:**\n- Trellis updates preserve project-owned top-level YAML sections and Codex TOML keys/tables that are not declared by the current template.\n- AGENTS.md updates replace only the valid TRELLIS managed block when surrounding project prose is unchanged.\n- No project migration is required.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run npm install -g @pennixrv/trellis@beta then trellis update. No --migrate required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.20",
|
|
3
|
+
"description": "Preserve project extension comments during ownership-aware updates",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "**Ownership-aware update fix:**\n- YAML project extensions retain their adjacent comments and formatting boundaries, avoiding false .new candidates.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run npm install -g @pennixrv/trellis@beta then trellis update. No --migrate required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.21",
|
|
3
|
+
"description": "Remove the obsolete subnode environment asset",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Subnode isolation is now implemented by the Codex adapter and worker environment boundary. The generated `.trellis/agents/subnode.env` is no longer part of the workflow template.",
|
|
7
|
+
"migrations": [
|
|
8
|
+
{
|
|
9
|
+
"type": "safe-file-delete",
|
|
10
|
+
"from": ".trellis/agents/subnode.env",
|
|
11
|
+
"description": "Remove the obsolete subnode environment file",
|
|
12
|
+
"reason": "The same child isolation contract is now enforced by the Trellis Codex adapter and environment builder; only the unmodified generated file is safe to delete.",
|
|
13
|
+
"allowed_hashes": ["b34ec77e748c1fab09e96d9fd6ca4af6ab993472b9d060d89375460d9740ca1f"]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"notes": "Run trellis update. Modified or unknown subnode.env content is preserved and reported for manual review."
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.22",
|
|
3
|
+
"description": "Preserve native session identity when no task is active",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "task current --json now exposes session_source independently of the task-pointer source. Taskless formal handoffs can keep their native session identity without creating a task. The Pennix Marketplace workflow updates formal-handoff verification.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run trellis update to refresh task.py. Existing source semantics and exit codes are unchanged. Explicitly refresh the selected Marketplace workflow to its approved commit."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.23",
|
|
3
|
+
"description": "Correct the bundled subnode extension-isolation guidance",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "The trellis-channel worker reference now matches the native extension-isolation guidance: the Codex adapter disables the retired extension for subnodes, and no extension-specific env_file is generated.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run trellis update to refresh the bundled trellis-channel reference. No runtime behavior or migration task changes."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.24",
|
|
3
|
+
"description": "Refresh shipped subnode model defaults",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Generated subnode profiles use gpt-6.1-sol by default and gpt-5.6-luna/xhigh for docs_source. The redundant code_path preset is removed; six judgment profiles retain high and evidence_synthesis retains medium.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run trellis update after upgrading. Unmodified profiles receive the new defaults; customized profiles remain protected. Refresh the separately selected Marketplace workflow through trellis workflow with an explicit immutable ref. The generic resolver and supported effort values are unchanged."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.25",
|
|
3
|
+
"description": "Preserve identity during unbound task recovery",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Unbound task projections retain resolved direct session identity. Formal ownership retirement and claim distinguish read-only candidates from direct bindings. Recovery guidance checks identity separately and preserves planning activation gates.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run trellis update after upgrading. Refresh a separately selected Marketplace workflow using its explicit immutable ref. Candidate projections remain read-only; foreign-session isolation and ownership fencing remain enforced. No identity injection or automatic task selection is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.26",
|
|
3
|
+
"description": "Wait for worker terminal lifecycles independently of event authors",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "channel wait --workers selects durable worker lifecycle transitions, including supervisor terminal events, with optional --all. Ordinary adapter errors and peer turn completion do not satisfy worker waits. Explicit watchWorkers sinceSeq replay starts at the barrier snapshot and applies later events once in durable order. Bundled subnode guidance uses the worker selector.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run trellis update after upgrading to refresh bundled channel guidance. Existing event --from filters keep exact-author semantics. Worker mode rejects event filters. Terminal receipt is not report or disposition acceptance. watchWorkers without sinceSeq still starts with the current snapshot."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.27",
|
|
3
|
+
"description": "Align coordinator handoff and subnode extension boundaries",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Align the coordinator formal-handoff verification contract with the selected workflow and isolate child extension configuration and environment inheritance.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Run trellis update to refresh the selected workflow and bundled worker guidance. No task or ownership migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.28",
|
|
3
|
+
"description": "Apply the native Codex extension override correctly",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Codex subnodes now pass the unquoted dotted plugin key that the native -c parser recognizes, so the retired extension is actually disabled for the child process.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Upgrade the CLI to receive the adapter fix. No task or ownership migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.29",
|
|
3
|
+
"description": "Use local formal handoff and inherited worker configuration",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Channel workers inherit their native configuration without a product-specific plugin override or environment filter. Bundled worker guidance uses the normal environment merge contract. The custom Codex workflow uses paired local handoff artifacts, source seals, and native task ownership.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Upgrade the CLI and refresh project assets. Refresh an explicitly selected custom workflow from its updated registry revision. Historical task and handoff records are preserved."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.30",
|
|
3
|
+
"description": "Refresh legacy migration descriptions and retain safe cleanup",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Bundled legacy migration metadata uses neutral extension and handoff descriptions. Version identifiers, migration targets, hash-guarded cleanup, and native task/session behavior remain unchanged.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Upgrade the CLI and refresh project assets. Selected workflow sources and local task/history records are preserved. No task or ownership migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.31",
|
|
3
|
+
"description": "Clarify local conversation recall and curated knowledge ownership",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "The shared session-insight skill selects current project facts, raw local dialogue, and curated knowledge by user intent. It keeps external knowledge writes and promotions explicit, with no mandatory preload or automatic synchronization. Runtime and mem behavior are unchanged.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Upgrade the CLI and refresh generated project assets. Preserve selected workflows, project contracts, tasks and history; no runtime migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.32",
|
|
3
|
+
"description": "Resume known checkpoints without repeated initialization",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Start and continue guidance reuses current or compacted context, queries only missing facts, and avoids replaying consumed input. Active planning callers use pennix-decision-grill. Native task identity and protected write checks remain unchanged.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Upgrade the paired CLI/core release and refresh generated assets. Refresh explicitly selected Marketplace workflows through their native owner; preserve task history and user configuration. No runtime migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.33",
|
|
3
|
+
"description": "Bind evidence units and implementation approval to their actual task",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "New evidence briefs and queues require a task-owned unit plan, workload rationale, and grouping rationale for multiple scope items. FIFO claims cannot skip earlier unclaimed units. Bundled Channel guidance exposes one-host multi-target dispatch, rolling accepted-slot refill, and drain before context selection. Native task select preserves phase/branch; planned change-bearing start requires current material plan seal and later approval, while replan invalidates them. Inline mode explicitly retains authorized Channel evidence.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Upgrade the paired CLI/core release and run trellis update; refresh explicitly selected Marketplace workflows from an immutable ref. Classify legacy planning tasks once before start. Preserve historical reports and existing in-progress tasks; no bulk queue/history migration or scheduler is introduced. Approval records check structural consistency, not chat authenticity. Native ordinary continue/compaction retains its checkpoint fast path."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.34",
|
|
3
|
+
"description": "Bind evidence and approval to tasks; simplify Channel CLI defaults",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "New evidence briefs and queues require a task-owned unit plan, workload rationale, and grouping rationale for multiple scope items. FIFO claims cannot skip earlier unclaimed units. Bundled Channel guidance exposes one-host multi-target dispatch, rolling accepted-slot refill, and drain before context selection. Native task select preserves phase/branch; planned change-bearing start requires current material plan seal and later approval, while replan invalidates them. Channel CLI derives the subnode role and provider from --profile and defaults author identity to TRELLIS_CHANNEL_AS or main, removing redundant options while keeping worker IDs and recipients explicit.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Upgrade the paired CLI/core release and run trellis update; refresh explicitly selected Marketplace workflows from an immutable ref. Classify legacy planning tasks once before start. Preserve historical reports and existing in-progress tasks; no bulk queue/history migration or scheduler is introduced. Approval records check structural consistency, not chat authenticity. Native ordinary continue/compaction retains its checkpoint fast path. No runtime migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.35",
|
|
3
|
+
"description": "Remove the redundant Channel prune dry-run option",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Channel prune is non-destructive by default; --yes is the only deletion switch. Remove the redundant --dry-run flag (which could not change behavior) and clarify default author flags in the bundled Channel reference. Existing prune command behavior remains a preview unless --yes is supplied.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No runtime migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.36",
|
|
3
|
+
"description": "Harden Channel lifecycle and task evidence contracts",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Channel worker delivery, task ownership, plan sealing, and evidence validation now fail closed at their trust boundaries.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No runtime migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.37",
|
|
3
|
+
"description": "Complete workflow contract landing after beta36 release boundary",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Complete the Channel delivery, core strict-send, and bundled workflow asset landing from the preceding beta release.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No runtime migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.38",
|
|
3
|
+
"description": "Workflow audit remediation: synchronize mirrors and harden lifecycle and Channel contracts",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Close verified workflow audit findings across task safety, worker evidence, and dispatch capacity.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No runtime migration is required."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.39",
|
|
3
|
+
"description": "Release submodule preflight and bounded credential diagnostics",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Check recursive submodule publication before tagging; minimize sensitive diagnostic and ticket content.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No runtime migration is required. Update generated assets through native Trellis update."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.40",
|
|
3
|
+
"description": "Durable owned Codex session relationships and binding readiness",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Record new owned Codex bindings outside removable Channels and expose exact historical descendants through channel sessions; wait for persisted binding before turn delivery.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "Tracking starts at activation. No pre-upgrade history import or recovery; use native Trellis update for generated assets."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.41",
|
|
3
|
+
"description": "Read-only research completion and explicit subnode dispatch approval",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Allow complex and cross-owner analysis-only work to complete in planning without implementation approval. Require a frozen, explicitly approved evidence plan before requested subnode dispatch; preserve change-bearing Planning Seal and approval.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No migrations. Research remains bounded by the protected-target no-change contract."
|
|
9
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.43",
|
|
3
|
+
"description": "Effective AGENTS source diagnostics and progressive decisions",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Report non-empty same-directory AGENTS overrides without modifying user rules. Screen genuine user decisions progressively and escalate material execution ambiguity through native replan. Keep project graph checks capability-aware.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No migrations. Existing task state, user-owned AGENTS text and overrides are preserved."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.44",
|
|
3
|
+
"description": "Bounded Codex memory queries and workflow asset boundaries",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Read Codex JSONL memory queries in bounded passes, preserve compaction and repeated-turn semantics, enforce context character budgets, and clarify managed asset, dispatch, archive acceptance, and bulk research boundaries.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No migrations. Existing session data, task state, and user-owned workflow files are preserved."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.45",
|
|
3
|
+
"description": "Bounded Codex memory queries and workflow asset boundaries",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Read Codex JSONL memory queries in bounded passes, preserve compaction and repeated-turn semantics, enforce context character budgets, and clarify managed asset, dispatch, archive acceptance, and bulk research boundaries.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No migrations. Existing session data, task state, and user-owned workflow files are preserved."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.46",
|
|
3
|
+
"description": "Idea-to-plan routing and closed-loop review guidance",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Add workflow guidance for separating facts from decisions, recording evidence at the natural task artifact, grilling consequential choices, closing review loops, and assigning boundaries to neighboring defects.",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "No migrations. Existing session data, task state, and user-owned workflow files are preserved."
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.47",
|
|
3
|
+
"description": "简体中文默认用户文档模板与双格式解析",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "原生 workflow、任务 PRD、workspace 和 spec 源模板使用中文优先正文;阶段标题和日志续写支持旧英文及新双语格式。",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "不迁移既有用户文档或历史日志。原生 workflow 继续按模板哈希更新,用户冲突和第三方 workflow 保持原生保护。"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.48",
|
|
3
|
+
"description": "工作流资源留存与安全清理边界",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "Channel、Grok 输出、FastCtx 后台任务和 Trellis 备份增加有界留存与原生清理入口;清理默认只读预览,并在无法证明归属或状态异常时安全停止。",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "不迁移既有项目资产或运行态数据。新清理入口由各组件原生所有者执行,未知、活动或无归属资源继续保留。"
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.49",
|
|
3
|
+
"description": "Protect update backups and report actual pruning results",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": [
|
|
7
|
+
"Share an exclusive lock between update writes and backup pruning",
|
|
8
|
+
"Separate preview candidates and estimated bytes from actual successful removals",
|
|
9
|
+
"Report partial deletion failures without counting them as reclaimed bytes"
|
|
10
|
+
],
|
|
11
|
+
"migrations": [],
|
|
12
|
+
"notes": "No project migration or automatic backup deletion."
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.50",
|
|
3
|
+
"description": "Preserve project instruction bytes when appending the Trellis block",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": [
|
|
7
|
+
"Preserve trailing spaces and blank lines in existing project instructions during init",
|
|
8
|
+
"Verify that manual content and an existing CodeGraph block remain byte-for-byte intact"
|
|
9
|
+
],
|
|
10
|
+
"migrations": [],
|
|
11
|
+
"notes": "No project workflow change or automatic migration."
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.51",
|
|
3
|
+
"description": "最终方案复核先于封口,一次明确答复批准封口与推进",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "规划流程先展示完整方案,再征询封口并批准推进或补充修改;原生 seal/approve/start 保留任务、版本与摘要门禁,同步继续、重规划和平台入口。",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "不新增任务状态或批准字段,不迁移历史任务。已有充分授权继续复用;用户修改的生成资产和第三方工作流仍遵守原生更新保护。"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.52",
|
|
3
|
+
"description": "修复日期任务的交接围栏,并拒绝携带正式 ownership 记录的任务改名",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "交接围栏使用 task.json 中的规范任务 ID 查询记录,覆盖原生日期目录;任何正式 ownership 记录均阻止任务改名,避免留下失效的路径和身份引用。",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "无任务 schema、ownership 记录格式或历史迁移。没有正式 ownership 存储的普通任务保留原行为;已有交接记录的任务需保持原名。"
|
|
9
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.0-beta.53",
|
|
3
|
+
"description": "统一规划入口并安全清理旧规划 Skill",
|
|
4
|
+
"breaking": false,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "规划流程统一由 trellis-idea-to-closed-plan 提供;更新时仅删除内容哈希匹配的旧 trellis-brainstorm Skill 文件。",
|
|
7
|
+
"migrations": [
|
|
8
|
+
{"type":"safe-file-delete","from":".claude/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
9
|
+
{"type":"safe-file-delete","from":".cursor/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
10
|
+
{"type":"safe-file-delete","from":".opencode/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
11
|
+
{"type":"safe-file-delete","from":".agents/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
12
|
+
{"type":"safe-file-delete","from":".kilocode/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
13
|
+
{"type":"safe-file-delete","from":".kiro/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
14
|
+
{"type":"safe-file-delete","from":".agent/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
15
|
+
{"type":"safe-file-delete","from":".devin/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
16
|
+
{"type":"safe-file-delete","from":".qoder/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
17
|
+
{"type":"safe-file-delete","from":".codebuddy/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
18
|
+
{"type":"safe-file-delete","from":".github/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
19
|
+
{"type":"safe-file-delete","from":".factory/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
20
|
+
{"type":"safe-file-delete","from":".reasonix/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
21
|
+
{"type":"safe-file-delete","from":".zcode/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
22
|
+
{"type":"safe-file-delete","from":".trae/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
23
|
+
{"type":"safe-file-delete","from":".omp/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
24
|
+
{"type":"safe-file-delete","from":".grok/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]},
|
|
25
|
+
{"type":"safe-file-delete","from":".snow/skills/trellis-brainstorm/SKILL.md","description":"Remove the superseded generated planning skill.","allowed_hashes":["d73f919226ee9ee1c4deec9e2b1b3d088ca197b56a051d405ec34133e69f437e"]}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.7.1",
|
|
3
|
+
"description": "引入新的 Trellis 任务工作流、Teamwork 协作和默认内置原生工作流。",
|
|
4
|
+
"breaking": true,
|
|
5
|
+
"recommendMigrate": false,
|
|
6
|
+
"changelog": "稳定版引入新的 Trellis 任务工作流和 Teamwork 协作,默认工作流随 CLI 打包提供。旧 Channel 运行时数据不会迁移到新的任务模型。",
|
|
7
|
+
"migrations": [],
|
|
8
|
+
"notes": "本版本不迁移或导入旧 Channel 运行时数据。"
|
|
9
|
+
}
|
|
@@ -111,13 +111,6 @@ def _get_current_task_for_input(trellis_dir: Path, cc_data: dict) -> dict | None
|
|
|
111
111
|
return None
|
|
112
112
|
|
|
113
113
|
active = resolve_active_task(trellis_dir.parent, cc_data, platform="claude")
|
|
114
|
-
if active.source_type == "unbound_ambiguous":
|
|
115
|
-
return {
|
|
116
|
-
"title": f"Task binding ambiguous ({len(active.candidate_paths)} candidates)",
|
|
117
|
-
"status": "unbound_ambiguous",
|
|
118
|
-
"priority": "P?",
|
|
119
|
-
"source": active.source,
|
|
120
|
-
}
|
|
121
114
|
if not active.task_path:
|
|
122
115
|
return None
|
|
123
116
|
|
|
@@ -229,14 +229,6 @@ def _resolve_task_dir(trellis_dir: Path, task_ref: str) -> Path:
|
|
|
229
229
|
|
|
230
230
|
def _get_task_status(trellis_dir: Path, hook_input: dict) -> str:
|
|
231
231
|
active = _resolve_active_task(trellis_dir, hook_input)
|
|
232
|
-
if active.source_type == "unbound_ambiguous":
|
|
233
|
-
candidates = "\n".join(f"- {candidate}" for candidate in active.candidate_paths)
|
|
234
|
-
return (
|
|
235
|
-
"Status: TASK BINDING AMBIGUOUS\n"
|
|
236
|
-
f"Candidates:\n{candidates}\n"
|
|
237
|
-
"Next: Review the candidates and run `python3 ./.trellis/scripts/task.py start <task>` "
|
|
238
|
-
"with the intended task once a direct session identity is available."
|
|
239
|
-
)
|
|
240
232
|
if not active.task_path:
|
|
241
233
|
return (
|
|
242
234
|
"Status: NO ACTIVE TASK\n"
|
|
@@ -266,13 +258,9 @@ def _get_task_status(trellis_dir: Path, hook_input: dict) -> str:
|
|
|
266
258
|
if task_status == "completed":
|
|
267
259
|
return (
|
|
268
260
|
f"Status: COMPLETED\nTask: {task_title}\n"
|
|
269
|
-
|
|
270
|
-
"or start a new task."
|
|
261
|
+
"Next: Start another task or end the session; finish-work only records the session journal."
|
|
271
262
|
)
|
|
272
263
|
|
|
273
|
-
has_prd = (task_dir / "prd.md").is_file()
|
|
274
|
-
has_design = (task_dir / "design.md").is_file()
|
|
275
|
-
has_implement = (task_dir / "implement.md").is_file()
|
|
276
264
|
present = [
|
|
277
265
|
name
|
|
278
266
|
for name in ("prd.md", "design.md", "implement.md", "implement.jsonl", "check.jsonl")
|
|
@@ -280,20 +268,18 @@ def _get_task_status(trellis_dir: Path, hook_input: dict) -> str:
|
|
|
280
268
|
]
|
|
281
269
|
present_line = ", ".join(present) if present else "none"
|
|
282
270
|
|
|
283
|
-
if not has_prd:
|
|
284
|
-
return (
|
|
285
|
-
f"Status: PLANNING\nTask: {task_title}\nPresent: {present_line}\n"
|
|
286
|
-
"Next: Load trellis-brainstorm and write prd.md. Stay in planning."
|
|
287
|
-
)
|
|
288
|
-
|
|
289
271
|
if task_status == "planning":
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
272
|
+
next_action = (
|
|
273
|
+
"Follow the current per-turn workflow-state. Task lifecycle status and artifact presence "
|
|
274
|
+
"do not identify the business phase. If no phase route is initialized, load "
|
|
275
|
+
"`trellis-goal-exploration-and-requirements` and confirm the requirements baseline "
|
|
276
|
+
"before initializing the route."
|
|
277
|
+
)
|
|
278
|
+
if any(
|
|
279
|
+
path.is_file() and not _has_curated_jsonl_entry(path)
|
|
280
|
+
for path in (task_dir / "implement.jsonl", task_dir / "check.jsonl")
|
|
281
|
+
):
|
|
282
|
+
next_action += " Curate task context manifests only when a dispatched agent needs them."
|
|
297
283
|
return (
|
|
298
284
|
f"Status: PLANNING\nTask: {task_title}\nPresent: {present_line}\n"
|
|
299
285
|
f"Next: {next_action}"
|
|
@@ -301,8 +287,9 @@ def _get_task_status(trellis_dir: Path, hook_input: dict) -> str:
|
|
|
301
287
|
|
|
302
288
|
return (
|
|
303
289
|
f"Status: {task_status.upper()}\nTask: {task_title}\nPresent: {present_line}\n"
|
|
304
|
-
"Next: Follow the matching per-turn workflow-state
|
|
305
|
-
"
|
|
290
|
+
"Next: Follow the matching per-turn workflow-state; task lifecycle status does not "
|
|
291
|
+
"identify the business phase. Context order is jsonl entries, `prd.md`, `design.md` "
|
|
292
|
+
"if present, `implement.md` if present."
|
|
306
293
|
)
|
|
307
294
|
|
|
308
295
|
|
|
@@ -391,10 +378,7 @@ def _build_compact_current_state(
|
|
|
391
378
|
lines.append(_format_git_state(repo_root))
|
|
392
379
|
|
|
393
380
|
active = _resolve_active_task(trellis_dir, hook_input)
|
|
394
|
-
if active.
|
|
395
|
-
candidates = ", ".join(active.candidate_paths)
|
|
396
|
-
lines.append(f"Current task: ambiguous; candidates={candidates}; bind explicitly.")
|
|
397
|
-
elif active.task_path:
|
|
381
|
+
if active.task_path:
|
|
398
382
|
task_dir = _resolve_task_dir(trellis_dir, active.task_path)
|
|
399
383
|
status = "unknown"
|
|
400
384
|
task_json = task_dir / "task.json"
|
|
@@ -436,14 +420,23 @@ def _extract_range(content: str, start_header: str, end_header: str) -> str:
|
|
|
436
420
|
lines = content.splitlines()
|
|
437
421
|
start: "int | None" = None
|
|
438
422
|
end: int = len(lines)
|
|
439
|
-
|
|
440
|
-
|
|
423
|
+
start_matches = {f"## {start_header}", "## 阶段索引", "## Phase Index"}
|
|
424
|
+
end_matches = {
|
|
425
|
+
f"## {end_header}",
|
|
426
|
+
f"### {end_header}",
|
|
427
|
+
}
|
|
428
|
+
phase_titles = ("目标探索与需求核对阶段", "Goal Exploration and Requirements Confirmation Phase")
|
|
441
429
|
for i, line in enumerate(lines):
|
|
442
430
|
stripped = line.strip()
|
|
443
|
-
if start is None and stripped
|
|
431
|
+
if start is None and stripped in start_matches:
|
|
444
432
|
start = i
|
|
445
433
|
continue
|
|
446
|
-
|
|
434
|
+
heading = stripped.lstrip("#").strip()
|
|
435
|
+
is_phase_heading = stripped.startswith(("## ", "### ")) and any(
|
|
436
|
+
heading == title or heading.endswith((f":{title}", f": {title}"))
|
|
437
|
+
for title in phase_titles
|
|
438
|
+
)
|
|
439
|
+
if start is not None and (stripped in end_matches or is_phase_heading):
|
|
447
440
|
end = i
|
|
448
441
|
break
|
|
449
442
|
if start is None:
|
|
@@ -491,11 +484,11 @@ def _build_workflow_toc(workflow_path: Path) -> str:
|
|
|
491
484
|
|
|
492
485
|
out_lines = [
|
|
493
486
|
"# Development Workflow - Session Summary",
|
|
494
|
-
"Full guide: .trellis/workflow.md.
|
|
487
|
+
"Full guide: .trellis/workflow.md. Phase detail: load the Skill named in the active phase breadcrumb.",
|
|
495
488
|
"",
|
|
496
489
|
]
|
|
497
490
|
|
|
498
|
-
phases = _extract_range(content, "
|
|
491
|
+
phases = _extract_range(content, "阶段索引", "目标探索与需求核对阶段")
|
|
499
492
|
if phases:
|
|
500
493
|
out_lines.append(_strip_breadcrumb_tag_blocks(phases).rstrip())
|
|
501
494
|
|