@pennixrv/trellis 0.7.0-beta.8 → 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.0-beta.9.json +9 -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 -191
- package/dist/templates/copilot/hooks/session-start.py +30 -26
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +7 -150
- 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 -699
- 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 -193
- 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 -69
- 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 -597
- 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
package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md
CHANGED
|
@@ -1,75 +1,34 @@
|
|
|
1
1
|
# Local Workflow System
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The installed project's .trellis/workflow.md is the local workflow source. Read it before changing task guidance or platform entry points.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Business phases
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The workflow keeps its business phases distinct, with separate activities, outputs, and transition conditions:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
- Goal Exploration and Requirements Confirmation Phase
|
|
10
|
+
- Decision Space Construction and Consolidation Phase
|
|
11
|
+
- Solution Design and Convergence Phase
|
|
12
|
+
- Task Implementation and Test Verification Phase
|
|
13
|
+
- Delivery Review and On-Site Closeout Phase
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
The task route may skip a phase when evidence shows it adds no value. The Goal Exploration and Requirements Confirmation Phase requires explicit user confirmation of the current requirements revision before the route enters Decision Space Construction and Consolidation Phase or Solution Design and Convergence Phase. Acceptance in Solution Design and Convergence Phase does not grant implementation authorization. During Delivery Review and On-Site Closeout Phase, review the current delivery and handle task completion or cancellation.
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
Phase 1: Plan -> clarify what to build, produce prd.md and required research
|
|
17
|
-
Phase 2: Execute -> implement against the PRD and specs, then check
|
|
18
|
-
Phase 3: Finish -> final verification, preserve lessons, and wrap up
|
|
19
|
-
```
|
|
17
|
+
Phase identifiers, route revisions, accepted artifact revisions, and authorization are stored and changed through Trellis CLI. Skills and Hooks guide or surface the active phase; they do not create another state source. Formal session handoff is independent of the task and its phases.
|
|
20
18
|
|
|
21
|
-
|
|
19
|
+
## Skill routing and state prompts
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
Each phase Skill owns its procedure and diagram. The workflow entry routes to the Skill matching the current phase identifier. Component Skills are selected by the work required, not by a fixed phase checklist.
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
Workflow-state blocks provide per-turn breadcrumbs. Keep their phase identifiers aligned with Core and update host parsers when headings or state tags change. Do not derive a phase from task status or artifact presence when Trellis CLI provides the current route.
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
- Platforms without sub-agent support: the main session reads skills such as `trellis-before-dev`, then executes directly.
|
|
29
|
-
|
|
30
|
-
When changing local AI behavior, update the routing descriptions in `workflow.md` first, then check whether the corresponding platform skill, command, or agent files need to stay in sync.
|
|
31
|
-
|
|
32
|
-
## Workflow-State Prompt Blocks
|
|
33
|
-
|
|
34
|
-
The bottom of `workflow.md` can contain state blocks like this:
|
|
35
|
-
|
|
36
|
-
```text
|
|
37
|
-
[workflow-state:no_task]
|
|
38
|
-
...
|
|
39
|
-
[/workflow-state:no_task]
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Hooks choose the right block based on current task status and inject it into the conversation. Common states include:
|
|
43
|
-
|
|
44
|
-
| State | Meaning |
|
|
45
|
-
| --- | --- |
|
|
46
|
-
| `no_task` | The current session has no active task. |
|
|
47
|
-
| `planning` | The task is still in requirements, research, or context configuration. |
|
|
48
|
-
| `in_progress` | The task has entered implementation and checking. |
|
|
49
|
-
| `completed` | The task is complete and waiting for wrap-up or archive. |
|
|
50
|
-
|
|
51
|
-
If the user wants to change policies such as "whether to create a task when there is no task," "when task creation may be skipped," or "whether sub-agents are required," edit these state blocks and the routing table above them.
|
|
52
|
-
|
|
53
|
-
## Local Modification Patterns
|
|
54
|
-
|
|
55
|
-
Common changes:
|
|
25
|
+
## Local modification patterns
|
|
56
26
|
|
|
57
27
|
| Goal | Edit point |
|
|
58
28
|
| --- | --- |
|
|
59
|
-
|
|
|
60
|
-
| Change
|
|
61
|
-
| Change
|
|
62
|
-
| Change
|
|
63
|
-
| Change platform differences | Update routing descriptions grouped by platform. |
|
|
64
|
-
|
|
65
|
-
After editing, make the AI reread `.trellis/workflow.md`; do not assume the flow from the old conversation is still valid.
|
|
66
|
-
|
|
67
|
-
## Relationship To Platform Files
|
|
68
|
-
|
|
69
|
-
`workflow.md` is the semantic center of the local workflow, but each platform can also have its own entry files:
|
|
70
|
-
|
|
71
|
-
- skills, such as `trellis-brainstorm` and `trellis-check`.
|
|
72
|
-
- commands/prompts/workflows, such as continue and finish-work.
|
|
73
|
-
- hooks, such as session-start or workflow-state injection.
|
|
29
|
+
| Change phase activities or transitions | .trellis/workflow.md and the matching phase Skill |
|
|
30
|
+
| Change component routing | .trellis/workflow.md and pennix-workflow-routing where applicable |
|
|
31
|
+
| Change lifecycle or phase state | Trellis CLI task workflow implementation and its contract |
|
|
32
|
+
| Change platform context injection | Relevant Hook or plugin, keeping the Trellis task record authoritative |
|
|
74
33
|
|
|
75
|
-
|
|
34
|
+
After a shared workflow change, inspect relevant platform entry files for stale behavior. Keep phase-specific workflows distinct.
|
|
@@ -11,7 +11,7 @@ Skills and commands are textual entry points for user interaction with Trellis.
|
|
|
11
11
|
| prompt | Explicit user invocation or platform selection | Similar to command, but in a platform prompt format. |
|
|
12
12
|
| workflow | Explicit user selection or platform auto-match | Guides the main session when no sub-agent/hook exists. |
|
|
13
13
|
|
|
14
|
-
Trellis
|
|
14
|
+
Trellis skills can cover reusable capabilities or dedicated workflow areas. Multi-file bundled skills such as `trellis-meta` keep supporting material in layered references.
|
|
15
15
|
|
|
16
16
|
## Common Paths
|
|
17
17
|
|
|
@@ -68,7 +68,7 @@ trellis mem list --cwd <project-path>
|
|
|
68
68
|
trellis mem projects # → list active project cwds, then narrow
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
Phase slicing (`--phase brainstorm|implement|all`) cuts the session at `task.py create
|
|
71
|
+
Phase slicing (`--phase brainstorm|implement|all`) cuts the session at `task.py create` and `task.py start` boundaries. For a finish-work review of the current task, `--phase brainstorm` recovers the planning discussion and `--phase implement` recovers the execution loop. Default is `all`.
|
|
72
72
|
|
|
73
73
|
## Triggering patterns
|
|
74
74
|
|
|
@@ -23,7 +23,7 @@ Full flag reference for the five subcommands. Pin this as the authoritative sour
|
|
|
23
23
|
| `--cwd <path>` | list / search | Force a specific project cwd instead of inferring from where you are. |
|
|
24
24
|
| `--limit N` | list / search | Cap output rows. Default `50`. |
|
|
25
25
|
| `--grep KW` | extract / context | Filter turns by keyword. Multi-token AND when whitespace-separated. |
|
|
26
|
-
| `--phase brainstorm\|implement\|all` | extract | Slice session by Trellis task boundaries. `brainstorm` = `[task.py create
|
|
26
|
+
| `--phase brainstorm\|implement\|all` | extract | Slice session by Trellis task boundaries. `brainstorm` = `[task.py create, task.py start)`. `implement` = turns outside brainstorm windows. Default `all`. |
|
|
27
27
|
| `--turns N` | context | Number of hit turns to return. Default `3`. |
|
|
28
28
|
| `--around N` | context | Surrounding turns to include per hit. Default `1`. |
|
|
29
29
|
| `--max-chars N` | context | Total character budget. Default `6000` (~1500 tokens). |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trellis-solution-design-and-convergence
|
|
3
|
+
description: 当前任务处于解决方案设计与收敛阶段时,处理用户决定、方案完整性、外部先例和实施合同。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 解决方案设计与收敛阶段
|
|
7
|
+
|
|
8
|
+
当 `current_phase_id` 为 `solution_design_and_convergence` 时使用。阅读本 Skill 同目录的 `workflow.md`,核对当前有效的需求基线和决策空间构造与归并阶段结果或跳过记录。
|
|
9
|
+
|
|
10
|
+
本阶段锁定当前路线所依据的决定和方案,不代表实施已获授权。需用户决定时,使用 `pennix-decision-grill` 同步询问并留在解决方案设计与收敛阶段;实施路线须形成 `implementation_contract`,再单独取得实施批准后才能进入任务实施与测试验证阶段。触发 prior-art review 的方案须在阶段结果接受前完成该审查。
|
package/dist/templates/common/bundled-skills/trellis-solution-design-and-convergence/workflow.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# 解决方案设计与收敛阶段流程
|
|
2
|
+
|
|
3
|
+
核对有效的目标基线、决策空间构造与归并阶段结果或跳过记录及其 revision。按依赖筛选影响目标、范围、成功条件、用户偏好、风险承受或重要取舍的保留决定;使用 `pennix-decision-grill` 同步提问。答复到达后,核对其权限、当前 revision 和影响范围:影响目标或范围时回到目标探索与需求核对阶段,影响候选、标准或依赖时回到决策空间构造与归并阶段,仅改变当前候选中的方案时继续本阶段评估。待决定事项使解决方案设计与收敛阶段保持待决。
|
|
4
|
+
|
|
5
|
+
比较适用方案,说明选择依据、重要后果、行为边界、责任、必要依赖、验证方式、停止与恢复条件及实质风险。对新颖核心机制、重大重构、跨组件边界变化或关键不确定性缺少可信本地先例的方案,在结果接受前完成有界 `prior-art review`,记录适用性、采纳或排除理由,或说明没有适用先例。外部材料改变候选、标准或依赖时回到决策空间构造与归并阶段。
|
|
6
|
+
|
|
7
|
+
判断当前结果:分析交付形成 `analysis_conclusion`;不继续形成 `no_go`;延期形成带责任方、触发条件和恢复位置的 `deferred`,留在解决方案设计与收敛阶段;实施路线形成 `implementation_contract`,明确目标、范围和接受条件,并按路线需要补足实施与核验信息。只有交付物具有独立实施或集成边界时才拆分工作包,并说明推进和协作所需的依赖、顺序、责任或集成信息;单一交付不人为拆分工作包。解决方案设计与收敛阶段的结果接受与实施授权分开记录;只有合同及明确批准均有效时,Trellis CLI 才允许进入任务实施与测试验证阶段。
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
input["核对需求基线与已接受的 DecisionSpace"] --> decisions{"存在尚待用户决定的实质取舍?"}
|
|
12
|
+
decisions -->|"是"| grill["pennix-decision-grill 同步询问;留在解决方案设计与收敛阶段"]
|
|
13
|
+
grill --> impact{"答复影响哪个范围?"}
|
|
14
|
+
impact -->|"目标或范围"| goal_exploration_and_requirements["回到目标探索与需求核对阶段"]
|
|
15
|
+
impact -->|"候选、标准或依赖"| decision_space_construction_and_merging["回到决策空间构造与归并阶段"]
|
|
16
|
+
impact -->|"当前候选中的选择"| compare["比较方案和重要后果"]
|
|
17
|
+
decisions -->|"否"| compare
|
|
18
|
+
compare --> prior{"触发 prior-art review?"}
|
|
19
|
+
prior -->|"是"| review["核验相关开源实现或公开提案并记录适用性"]
|
|
20
|
+
review --> changed{"外部证据改变候选、标准或依赖?"}
|
|
21
|
+
changed -->|"是"| decision_space_construction_and_merging
|
|
22
|
+
changed -->|"否"| assess["核对完整性、风险、验证和恢复条件"]
|
|
23
|
+
prior -->|"否"| assess
|
|
24
|
+
assess -->|"有实质缺口"| compare
|
|
25
|
+
assess -->|"analysis_conclusion 或 no_go"| reviewResult["Trellis CLI 接受解决方案设计与收敛阶段结果"]
|
|
26
|
+
assess -->|"deferred"| defer["记录恢复条件并留在解决方案设计与收敛阶段"]
|
|
27
|
+
assess -->|"implementation_contract"| contract["冻结必要实施合同"]
|
|
28
|
+
contract --> approval{"合同获接受且实施批准有效?"}
|
|
29
|
+
approval -->|"否"| wait["等待决定或授权;不进入实施"]
|
|
30
|
+
approval -->|"是"| task_implementation["Trellis CLI 核验并进入任务实施与测试验证阶段"]
|
|
31
|
+
reviewResult --> delivery_review_and_closeout["交付审查与现场收尾阶段"]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 方案是否足以收敛
|
|
35
|
+
|
|
36
|
+
实施者应能从当前方案判断要做什么、由谁负责、依赖什么、如何验证,以及何时停止或恢复;影响选择、接受、安全、权限、成本或不可逆影响的取舍应有依据和处理方式。未知事项可以补证、接受剩余风险、延期或不继续。此判断不要求固定篇幅、备选数量、字段或图表。
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trellis-task-implementation
|
|
3
|
+
description: 当前任务处于任务实施与测试验证阶段时,按已授权实施合同推进工作包、验证、集成与阻塞处置。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 任务实施与测试验证阶段
|
|
7
|
+
|
|
8
|
+
当 `current_phase_id` 为 `task_implementation` 时使用。先阅读本 Skill 同目录的 `workflow.md`,再加载目标仓库适用的 `AGENTS.md`、Trellis spec 和实现合同。
|
|
9
|
+
|
|
10
|
+
按合同依赖和优先级逐项实施;主工作树主代理负责阶段接受和集成。只在执行路线获准时使用 Paseo 委派写入;Trellis Teamwork teammate 只提供只读证据。默认在当前阶段修复和验证,只有合同、授权、依赖、基线或接受条件实质失效且无法安全恢复时,才回到最早受影响的阶段。
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 任务实施与测试验证阶段流程
|
|
2
|
+
|
|
3
|
+
开始前核验当前 `implementation_contract`、实施授权、路线 revision、必要依赖和执行基线。使用 `trellis-before-dev` 读取目标仓库实际适用的规范;按组件 owner 合同选择主工作树或已批准的独立写入路线。调用项目任务 `start` 只在实施授权有效时将任务置为 `in_progress`。
|
|
4
|
+
|
|
5
|
+
按合同的依赖和优先级选取当前工作包,实施满足目标的最小变更,并运行与风险和影响相称的局部验证。主工作树主代理核对来源、revision、Git 基线、差异和结果后接受工作包。多包任务按合同集成;单一交付不人为拆分。Trellis Teamwork 仅用于冻结计划下的只读比较或评议,不能改写任务状态或接受实施结果。实际写入委派依父任务规定使用 Trellis 受控入口与 Paseo;各组件源码仍在 owner 仓库内修改。
|
|
6
|
+
|
|
7
|
+
局部失败、暂时不可用或当前状态已满足接受条件时,先在任务实施与测试验证阶段中处理。依赖或资源暂不可用且现场安全时记录恢复条件;未授权不产生外部副作用;未知现场先停止并核验。合同允许未运行验证且风险可接受时,记录原因、影响和替代证据。替代路线若改变授权、成本、隐私或接受条件,回到解决方案设计与收敛阶段;目标、范围变化按影响回到目标探索与需求核对阶段或决策空间构造与归并阶段。只有合同范围内工作包均已接受、适用必需验证完成或有有效未运行处置、按范围和风险需要的集成验证通过,才将交付候选交由交付审查与现场收尾阶段;仅当路线实际创建或委派资源时,才核验其处置事实。
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
contract["核验 implementation_contract、授权、revision 和依赖"] --> ready{"准入与实施授权有效?"}
|
|
12
|
+
ready -->|"否,待用户决定或依赖"| wait["等待或记录阻断;不启动副作用"]
|
|
13
|
+
wait -->|"恢复后重新核验"| contract
|
|
14
|
+
ready -->|"是"| work["按合同依赖和优先级选取当前工作包"]
|
|
15
|
+
work --> implement["读取适用规范并实施最小变更"]
|
|
16
|
+
implement --> verify["执行与风险相称的局部验证"]
|
|
17
|
+
verify --> inspect["主工作树主代理核对 revision、基线、差异和结果"]
|
|
18
|
+
inspect -->|"局部缺陷或可处理冲突"| implement
|
|
19
|
+
inspect -->|"合同仍有效,当前 attempt 受阻"| stop["停止受影响范围并记录恢复条件"]
|
|
20
|
+
stop -->|"可安全恢复"| contract
|
|
21
|
+
inspect -->|"路线或合同实质失效"| replan["回最早受影响阶段并明确理由"]
|
|
22
|
+
inspect -->|"当前工作包接受"| more{"还有合同内工作包或必需验证?"}
|
|
23
|
+
more -->|"是"| work
|
|
24
|
+
more -->|"否;适用集成已核验,委派资源(如有)已安全处置"| candidate["形成交付候选并进入交付审查与现场收尾阶段"]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 委派、回退与收敛
|
|
28
|
+
|
|
29
|
+
回退使用当前 owner 的 Git 和资源合同,不覆盖无关改动,也不删除仍需核验的现场。只有当前合同无法安全覆盖目标、授权、依赖、基线、接受条件或停止条件的变化时,才回退到最早受影响阶段。结束任务实施与测试验证阶段前,记录适用验证结果、未运行处置、合同差异和未结发现;仅当路线实际创建或委派资源时,记录其处置状态。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trellis-teamwork
|
|
3
|
+
description: Use Trellis Teamwork for live multi-agent collaboration, Teamwork Sessions, teammate assignments, coordination modes, and runtime diagnostics.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# trellis-teamwork
|
|
7
|
+
|
|
8
|
+
`trellis teamwork` is the local multi-agent collaboration runtime. A
|
|
9
|
+
Teamwork Session is the persistent chat or forum object used by the runtime;
|
|
10
|
+
it is independent from the Trellis task lifecycle and does not own business-phase progress.
|
|
11
|
+
Use Teamwork when agents need a durable event log, a bounded teammate
|
|
12
|
+
assignment, a one-shot consultation, or a forum discussion.
|
|
13
|
+
|
|
14
|
+
Typical user signals: “和 codex/claude 讨论”, “brainstorm with another agent”, “派一个 teammate 做 review”, “open a Teamwork forum”, “look at this thread”, “Teamwork 卡住了 / 没输出”, “progress was truncated”, “how do I use trellis teamwork”.
|
|
15
|
+
|
|
16
|
+
This skill is an index. Load only the reference file for the current job — do not preload all of them.
|
|
17
|
+
|
|
18
|
+
## First Commands
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
trellis --version
|
|
22
|
+
trellis teamwork --help
|
|
23
|
+
trellis teamwork list --all
|
|
24
|
+
trellis teamwork list --scope global --all
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
If the user names a Teamwork Session or thread, inspect it before asking for
|
|
28
|
+
background:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
trellis teamwork forum <session> --scope global
|
|
32
|
+
trellis teamwork thread <session> <thread> --scope global
|
|
33
|
+
trellis teamwork context list <session> --scope global --thread <thread>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Route By User Intent
|
|
37
|
+
|
|
38
|
+
| User intent | Read |
|
|
39
|
+
|---|---|
|
|
40
|
+
| “和 codex/claude 讨论一下”, “brainstorm with another agent” | `references/teamwork-plan-construction.md`, then `references/coordination-modes.md` |
|
|
41
|
+
| “派一个 implement/check agent”, “让 agent review”, “spawn a worker” | `references/teamwork-plan-construction.md`, then `references/teammate-processes.md` |
|
|
42
|
+
| “开 issue 区 / topic 群 / changelog / board”, “make a forum” | `references/teamwork-plan-construction.md` |
|
|
43
|
+
| “看看这个 thread”, “inspect a thread” | `references/teamwork-plan-construction.md` |
|
|
44
|
+
| “Teamwork 卡住了 / 没输出 / progress 被截断”, “teammate stalled” | `references/teammate-processes.md` |
|
|
45
|
+
| “具体命令怎么写”, “what flags does X take” | `references/teamwork-plan-construction.md` |
|
|
46
|
+
|
|
47
|
+
## Core Rules
|
|
48
|
+
|
|
49
|
+
- New forum Teamwork Sessions use `--type forum`. A `thread` is one item inside a forum Teamwork Session.
|
|
50
|
+
- Use `--context-file` / `--context-raw` and `trellis teamwork context add/delete/list`.
|
|
51
|
+
- Use `--stdin` or `--text-file` for long messages. Do not put long mixed Chinese/English text in the positional shell argument.
|
|
52
|
+
- Pretty `messages` output is an operator dashboard and may truncate progress. Use `--raw` for audit.
|
|
53
|
+
- `--as` is the speaker or worker handle, depending on the command. Use explicit, stable names when multiple agents or sessions are involved.
|
|
54
|
+
- `--scope project` (default) operates on the current cwd's project bucket; `--scope global` operates on the shared `__global__` bucket. Pick scope deliberately — a global board is invisible from project listings unless `--scope global` is passed.
|
|
55
|
+
- For brainstorm, do multiple pressure-test rounds. One answer plus one confirmation is review, not brainstorm.
|
|
56
|
+
- **Dispatcher wait pattern**: use `--kind done` / `--kind turn_finished` (Trellis-emitted system events), not a user `--tag` as the completion signal. Tags are labels, not runtime completion events.
|
|
57
|
+
- Teamwork Sessions are event-sourced. Do not parse `events.jsonl` first; use `forum`, `thread`, `messages --thread`, and `context list`.
|
|
58
|
+
- `@pennixrv/trellis-core` owns reusable Teamwork Session/thread state, event append, sequence allocation, context/title projection, reducers, and task helpers. The CLI owns flags, terminal rendering, prompts, teammate lifecycle, and process exits.
|
|
59
|
+
- Teamwork plan construction belongs to the current phase coordinator. Teamwork validates and executes a frozen plan; it does not select the task phase, change task status, or create a second task state machine.
|
|
60
|
+
- The native host-created `subagent` remains separate from a Teamwork teammate.
|
|
61
|
+
|
|
62
|
+
## Reference Files
|
|
63
|
+
|
|
64
|
+
- `references/teamwork-plan-construction.md` — plan binding, task integration, Teamwork Session and forum commands, reports, and cleanup.
|
|
65
|
+
- `references/teammate-configuration-matrix.md` — candidate profiles, frozen execution configuration, provider capabilities, and role boundaries.
|
|
66
|
+
- `references/coordination-modes.md` — `general`, `advisor`, and `committee` semantics and selection.
|
|
67
|
+
- `references/teammate-processes.md` — dispatch, context injection, waiting, interruption, retry, reconciliation, and diagnostics.
|
|
68
|
+
|
|
69
|
+
## Not For
|
|
70
|
+
|
|
71
|
+
- One static review where a markdown file and prompt are enough.
|
|
72
|
+
- Replacing normal tool calls with self-logging.
|
|
73
|
+
- Long-term memory retrieval. Use durable forum Teamwork Sessions for actionable issues, and `trellis mem` (the `trellis-session-insight` skill) for session/history search.
|
package/dist/templates/common/bundled-skills/trellis-teamwork/references/coordination-modes.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Coordination modes
|
|
2
|
+
|
|
3
|
+
The plan's `coordination_mode` selects the call shape. It is independent from
|
|
4
|
+
the teammate role, execution profile, and Teamwork Session type.
|
|
5
|
+
|
|
6
|
+
## `general`
|
|
7
|
+
|
|
8
|
+
Use general coordination for one or more independent assignments. Each
|
|
9
|
+
assignment has its own objective, scope, lens, evidence, and acceptance
|
|
10
|
+
criteria. The coordinator may fill available slots in plan order and settle
|
|
11
|
+
each assignment independently.
|
|
12
|
+
|
|
13
|
+
## `advisor`
|
|
14
|
+
|
|
15
|
+
Use advisor coordination for one bounded consultation. The plan contains
|
|
16
|
+
exactly one assignment and its result is advice for the current coordinator.
|
|
17
|
+
The result still carries a source digest and acceptance evidence and does not
|
|
18
|
+
change the task or phase by itself.
|
|
19
|
+
|
|
20
|
+
## `committee`
|
|
21
|
+
|
|
22
|
+
Use committee coordination when one question benefits from parallel distinct
|
|
23
|
+
lenses. The plan contains two or three assignments in one evaluation group.
|
|
24
|
+
All members share the assignment contract and use distinct lenses. They return
|
|
25
|
+
independent evidence; the coordinator compares the reports after they finish.
|
|
26
|
+
|
|
27
|
+
Committee members do not debate with one another, run a consensus loop, or use
|
|
28
|
+
a directional counter relationship. If a question does not need independent
|
|
29
|
+
lenses, use general coordination or advisor coordination instead.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Teammate configuration matrix
|
|
2
|
+
|
|
3
|
+
The candidate source for teammate execution settings is the teammate
|
|
4
|
+
configuration matrix. It is a selection input, not a new role system. A
|
|
5
|
+
profile may provide a default provider and model plus provider-specific
|
|
6
|
+
options. The frozen plan stores the selected execution values in the
|
|
7
|
+
`Teammate Execution Configuration` snapshot so a running batch is unaffected
|
|
8
|
+
by later matrix changes.
|
|
9
|
+
|
|
10
|
+
The tuple is:
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
role + provider + optional profile + model + reasoning effort + options
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The role remains `teammate`. Coordination mode is separate from role and
|
|
17
|
+
profile. Supported provider adapters are Codex app-server, DSH ACP, Copilot
|
|
18
|
+
ACP, and Claude Code CLI when their host contracts are available. A provider
|
|
19
|
+
name alone does not prove that its host is installed or verified.
|
|
20
|
+
|
|
21
|
+
The host capability proof covers only the boundaries required by the selected
|
|
22
|
+
plan: foreground waiting, protected artifact writes, read-only protected
|
|
23
|
+
targets and Git state, disabled native or recursive delegation, isolated
|
|
24
|
+
context, supported transport, and a positive capacity. The CLI refuses a
|
|
25
|
+
dispatch when the selected host cannot prove those properties. It does not
|
|
26
|
+
invent an execution profile or silently change the frozen values.
|
|
27
|
+
|
|
28
|
+
The bundled role card is `.trellis/agents/teammate.md`. It is provider-neutral
|
|
29
|
+
and limits a teammate to the frozen context and current attempt artifacts. A
|
|
30
|
+
Teamwork teammate is not the native host-created `subagent`; the two have
|
|
31
|
+
different creation paths and contracts.
|
package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-processes.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Teammate processes
|
|
2
|
+
|
|
3
|
+
The coordinator creates a queue fact and an immutable claim for each
|
|
4
|
+
assignment, dispatches the selected provider, waits for a terminal host fact,
|
|
5
|
+
and validates the report against the assignment identity, source digest,
|
|
6
|
+
evidence, path, secret, and symlink rules. The teammate writes only its
|
|
7
|
+
current attempt artifacts. It does not modify product source, Git state, task
|
|
8
|
+
status, or another teammate's artifacts.
|
|
9
|
+
|
|
10
|
+
After a timeout, the same attempt may receive a continuation. A confirmed
|
|
11
|
+
execution or acceptance failure may consume that assignment's explicit retry
|
|
12
|
+
budget and create a new attempt identity. An uncertain command, changed host
|
|
13
|
+
identity, or unconfirmed cancellation enters reconciliation and is not
|
|
14
|
+
automatically duplicated. Reconciliation is a runtime outcome; the task
|
|
15
|
+
coordinator decides whether a later task phase needs a return.
|
|
16
|
+
|
|
17
|
+
Use the ordinary Teamwork Session commands for a deliberate one-shot or
|
|
18
|
+
interactive discussion:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
trellis teamwork run [name]
|
|
22
|
+
trellis teamwork spawn <name> --agent <agent> --provider <provider>
|
|
23
|
+
trellis teamwork send <name> --as <agent> --stdin
|
|
24
|
+
trellis teamwork wait <name> --as <agent> --kind done,turn_finished
|
|
25
|
+
trellis teamwork interrupt <name> --as <agent> --to <teammate> --stdin
|
|
26
|
+
trellis teamwork kill <name> --as <teammate>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
These commands operate a Teamwork Session and do not replace a frozen plan or
|
|
30
|
+
create a second scheduler. Do not use them to bypass a rejected batch or to
|
|
31
|
+
steer an active managed assignment manually.
|
|
32
|
+
|
|
33
|
+
For a stalled process, inspect `teamwork list`, `teamwork messages --raw`, the
|
|
34
|
+
provider log, and the host process state in that order. Use `kill` only when
|
|
35
|
+
the process owner and current state are known. The runtime event log is the
|
|
36
|
+
source of truth for coordination state; sidecar process files are diagnostic
|
|
37
|
+
evidence.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Teamwork plan construction
|
|
2
|
+
|
|
3
|
+
The current phase coordinator constructs one Teamwork plan when a bounded
|
|
4
|
+
teammate call is useful. The plan is a runtime input, not a second task plan.
|
|
5
|
+
It records the task and phase context that produced it:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
task_id
|
|
9
|
+
phase_id
|
|
10
|
+
task_route_revision
|
|
11
|
+
input_revision
|
|
12
|
+
plan_summary
|
|
13
|
+
coordination_mode
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The plan also freezes the Teamwork Session, batch, deadline, protected targets,
|
|
17
|
+
and ordered `assignments`. Each assignment has an `assignment_id`, brief path,
|
|
18
|
+
role, provider, optional profile and model, scope, lens, source digest,
|
|
19
|
+
acceptance criteria, and an explicit retry budget. The CLI validates the plan
|
|
20
|
+
and the immutable brief before dispatch.
|
|
21
|
+
|
|
22
|
+
Use the native task lifecycle for task status and acceptance. Teamwork records
|
|
23
|
+
coordination facts and teammate reports; it does not write `current_phase_id`,
|
|
24
|
+
task status, phase acceptance, or delivery readiness. Accepted reports and
|
|
25
|
+
their evidence become task-owned acceptance inputs. Temporary plan, queue,
|
|
26
|
+
attempt, and verification data may be removed when the batch ends according to
|
|
27
|
+
the task's retention rule. The Teamwork Session itself has its own lifecycle.
|
|
28
|
+
|
|
29
|
+
## When to construct a plan
|
|
30
|
+
|
|
31
|
+
Use a plan for independent evidence, review, research, or verification with a
|
|
32
|
+
clear report destination. Keep dependent steps, shared source edits, and work
|
|
33
|
+
that requires peer conversation in the main task flow or a Teamwork Session.
|
|
34
|
+
Use a single bounded teammate call for one self-contained question. Use a
|
|
35
|
+
forum Teamwork Session when a topic needs durable threads and status history.
|
|
36
|
+
|
|
37
|
+
Before dispatch, read the active task plan, current phase checkpoint, relevant
|
|
38
|
+
specs, and the generic teammate role card. Freeze the input revision and route
|
|
39
|
+
revision after the coordinator has selected the scope. If those values change,
|
|
40
|
+
construct a new plan rather than mixing results from different task inputs.
|
|
41
|
+
|
|
42
|
+
The public dispatch entry point is:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
trellis teamwork batch <plan-path>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The command validates the plan, then the coordinator owns dispatch, waiting,
|
|
49
|
+
report acceptance, and the terminal receipt. The coordinating agent does not
|
|
50
|
+
manually refill slots or create a second retry loop.
|
|
51
|
+
|
|
52
|
+
## Teamwork Session and forum commands
|
|
53
|
+
|
|
54
|
+
Create and inspect the durable runtime object with the native CLI:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
trellis teamwork create <name> --type chat|forum
|
|
58
|
+
trellis teamwork list [--scope project|global] [--all]
|
|
59
|
+
trellis teamwork messages <name> [--raw]
|
|
60
|
+
trellis teamwork wait <name> --as <agent> --kind done,turn_finished
|
|
61
|
+
trellis teamwork forum <name>
|
|
62
|
+
trellis teamwork thread <name> <thread-key>
|
|
63
|
+
trellis teamwork context list <name> [--thread <thread-key>]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Use `--context-file` and `--context-raw` for durable context. Use `--stdin` or
|
|
67
|
+
`--text-file` for long message bodies. `--kind` selects runtime event kinds;
|
|
68
|
+
it is not a user-defined tag. Read forum summaries and thread projections
|
|
69
|
+
through the CLI before inspecting raw event storage.
|
|
70
|
+
|
|
71
|
+
## Result handling
|
|
72
|
+
|
|
73
|
+
The coordinator returns `ALL_ACCEPTED`, `SETTLED_WITH_FAILURE`, or
|
|
74
|
+
`RECONCILIATION_REQUIRED`. A terminal receipt is a runtime fact. The main task
|
|
75
|
+
then reviews reports against the phase contract, records durable evidence in
|
|
76
|
+
the task-owned artifact, and uses the task's native acceptance gate before
|
|
77
|
+
advancing. A formal session handoff is an independent, lower-priority
|
|
78
|
+
continuity artifact and does not represent a phase transition.
|
|
@@ -1,59 +1,19 @@
|
|
|
1
1
|
# Continue Current Task
|
|
2
2
|
|
|
3
|
-
Resume
|
|
3
|
+
Resume from the active Trellis task and its current phase. The task record and phase route are authoritative; do not infer the phase from artifact presence or session history.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Load current context
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
{{PYTHON_CMD}} ./.trellis/scripts/get_context.py
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
{{PYTHON_CMD}} ./.trellis/scripts/get_context.py
|
|
11
|
-
```
|
|
9
|
+
## Read the phase route
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
{{PYTHON_CMD}} ./.trellis/scripts/get_context.py --mode phase
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
Follow the active phase breadcrumb to the matching bundled phase Skill and its workflow.md. Use the task CLI to inspect or change phase state. A resume does not itself accept an artifact, grant authorization, or move the task.
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
{{PYTHON_CMD}} ./.trellis/scripts/get_context.py --mode phase
|
|
19
|
-
```
|
|
15
|
+
Task lifecycle status and business phase are separate. A planning task may remain in Goal Exploration and Requirements Confirmation Phase, Decision Space Construction and Consolidation Phase, or Solution Design and Convergence Phase. `in_progress` marks authorized Task Implementation and Test Verification Phase; `completed` and `cancelled` are terminal lifecycle states. Delivery Review and On-Site Closeout Phase remains explicit.
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
## Phase operations
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
`get_context.py` shows the active task's `status` field. Route by `status` + artifact presence. This command replaces the user needing to remember the Trellis flow; it does not itself approve implementation.
|
|
26
|
-
|
|
27
|
-
- `status=planning` + `task.json.meta.delivery_mode = "analysis_only"` → complete the PRD's bounded evidence work, verify its acceptance criteria and no-change boundary, then commit task artifacts and archive directly. Do not run `task.py start`; a protected-target change requires a separate change-bearing task.
|
|
28
|
-
- `status=planning` + no `prd.md` → **1.1** (load `trellis-brainstorm`)
|
|
29
|
-
- `status=planning` + a recorded `decision-needed` or unsealed decision chain → return to the planning frontier and load `pennix-decision-gates` when independent material questions can be batched.
|
|
30
|
-
- `status=in_progress` + a material unresolved decision → record the reason and run `task.py replan <task> "<reason>"`; do not ask a native question during implementation.
|
|
31
|
-
- `status=planning` + `prd.md` only → decide whether the task is lightweight or complex. Lightweight can move to **1.4** review; complex returns to **1.1** to add `design.md` + `implement.md`.
|
|
32
|
-
- `status=planning` + complex artifacts complete + sub-agent jsonl not curated (empty, or only a legacy `_example` placeholder row) → **1.3**
|
|
33
|
-
- `status=planning` + required artifacts complete + required jsonl curated or inline mode → **1.4** (ask for start review; only run `task.py start` after user confirms)
|
|
34
|
-
- `status=in_progress` + implementation not started → **2.1**
|
|
35
|
-
- `status=in_progress` + implementation done, not yet checked → **2.2**
|
|
36
|
-
- `status=in_progress` + check passed → **3.3** (spec update) → **3.4** (commit)
|
|
37
|
-
- `status=completed` (rare; usually archived immediately) → archive flow
|
|
38
|
-
|
|
39
|
-
Phase rules (full detail in `.trellis/workflow.md`):
|
|
40
|
-
|
|
41
|
-
1. Run steps **in order** within a phase — `[required]` steps must not be skipped
|
|
42
|
-
2. `[once]` steps are already done if the required output exists. `prd.md` alone can be enough only for lightweight tasks; complex tasks also need `design.md` and `implement.md`.
|
|
43
|
-
3. You may go back to an earlier phase if discoveries require it
|
|
44
|
-
|
|
45
|
-
## Step 4: Load the Specific Step
|
|
46
|
-
|
|
47
|
-
Once you know which step to resume at:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
{{PYTHON_CMD}} ./.trellis/scripts/get_context.py --mode phase --step <X.X> --platform {{CLI_FLAG}}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Follow the loaded instructions. After each `[required]` step completes, move to the next.
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Reference
|
|
58
|
-
|
|
59
|
-
Full workflow and detailed phase steps live in `.trellis/workflow.md`. This command is only an entry point — the canonical guidance is there.
|
|
19
|
+
Use the native task CLI for phase artifact revisions, acceptance, evidence-backed skips, waiting, blocking, resuming, returning to an earlier phase, route changes, implementation authorization, completion, and cancellation. Read task.py help for current arguments. Do not create a second status record or use formal session handoff to resume task work.
|