flower-trellis 0.5.0-beta.1 → 0.5.0-beta.3
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 +6 -3
- package/enhancements/0.6/overrides/bundles/finish-work.json +7 -0
- package/enhancements/0.6/overrides/bundles/intent-routing.json +30 -0
- package/enhancements/0.6/overrides/bundles/shared-hook-runtime.json +7 -0
- package/enhancements/0.6/overrides/bundles/update-spec-flow.json +7 -0
- package/enhancements/0.6/overrides/compatibility.json +13 -0
- package/enhancements/0.6/overrides/conflicts.json +145 -0
- package/enhancements/0.6/overrides/patches/hooks/claude-session-start/missing-task-routing/content.py +6 -0
- package/enhancements/0.6/overrides/patches/hooks/claude-session-start/missing-task-routing/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/hooks/claude-session-start/missing-task-routing/selector.py +5 -0
- package/enhancements/0.6/overrides/patches/hooks/claude-session-start/no-task-routing/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/hooks/codex-session-start/missing-task-routing/content.py +6 -0
- package/enhancements/0.6/overrides/patches/hooks/codex-session-start/missing-task-routing/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/hooks/codex-session-start/missing-task-routing/selector.py +4 -0
- package/enhancements/0.6/overrides/patches/hooks/codex-session-start/no-task-routing/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/hooks/inject-workflow-state/shared-runtime/baseline-flower-stale-task.py +443 -0
- package/enhancements/0.6/overrides/patches/hooks/inject-workflow-state/shared-runtime/content.py +443 -0
- package/enhancements/0.6/overrides/patches/hooks/inject-workflow-state/shared-runtime/patch.json +24 -0
- package/enhancements/0.6/overrides/patches/hooks/inject-workflow-state/shared-runtime/selector.py +408 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-brainstorm/auto-task-create/patch.json +30 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-brainstorm/planning-authorization/patch.json +30 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-finish-work/exact-bookkeeping/baseline-agent.md +66 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-finish-work/exact-bookkeeping/baseline-command.md +66 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-finish-work/exact-bookkeeping/content.md +86 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-finish-work/exact-bookkeeping/patch.json +20 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-start/no-task-routing/patch.json +27 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-update-spec/autonomous-evaluation/baseline.md +30 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-update-spec/autonomous-evaluation/content.md +59 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-update-spec/autonomous-evaluation/patch.json +19 -0
- package/enhancements/0.6/overrides/{workflow.md → patches/workflow/hub/content.md} +5 -13
- package/enhancements/0.6/overrides/patches/workflow/hub/patch.json +14 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/create-task-command/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/create-task-rule/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/customization-intent-invariant/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/phase-index-create-task/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/phase-one-goal/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/phase-summary/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/request-triage/patch.json +13 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/active-task-routing-baseline.md +19 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/active-task-routing-content.md +10 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/patch.json +47 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/phase-2-check-baseline.md +30 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/phase-2-check-content.md +7 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/phase-2-implement-baseline.md +53 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/phase-2-implement-content.md +10 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/phase-3-commit-baseline.md +51 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/phase-3-commit-content.md +7 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/phase-3-update-spec-baseline.md +8 -0
- package/enhancements/0.6/overrides/patches/workflow/phase-ownership/phase-3-update-spec-content.md +9 -0
- package/enhancements/0.6/overrides/patches/workflow/runtime-contract-reference/patch.json +21 -0
- package/enhancements/0.6/overrides/patches/workflow/runtime-contract-reference/runtime-reference-content.md +4 -0
- package/enhancements/0.6/overrides/patches/workflow/runtime-contract-reference/runtime-reference-selector.md +4 -0
- package/enhancements/0.6/overrides/patches/workflow/runtime-contract-reference/state-contract-comment-content.md +46 -0
- package/enhancements/0.6/overrides/patches/workflow/runtime-contract-reference/state-contract-comment-selector.md +44 -0
- package/enhancements/0.6/overrides/patches/workflow/state-missing-task/content.md +5 -0
- package/enhancements/0.6/overrides/patches/workflow/state-missing-task/patch.json +14 -0
- package/enhancements/0.6/overrides/patches/workflow/state-missing-task/selector.md +1 -0
- package/enhancements/0.6/overrides/patches/workflow/state-no-task/patch.json +15 -0
- package/enhancements/0.6/overrides/patches/workflow/states-in-progress/common-content.md +5 -0
- package/enhancements/0.6/overrides/patches/workflow/states-in-progress/in-progress-baseline.md +4 -0
- package/enhancements/0.6/overrides/patches/workflow/states-in-progress/in-progress-inline-baseline.md +3 -0
- package/enhancements/0.6/overrides/patches/workflow/states-in-progress/inline-content.md +1 -0
- package/enhancements/0.6/overrides/patches/workflow/states-in-progress/patch.json +27 -0
- package/enhancements/0.6/overrides/patches/workflow/states-in-progress/subagent-content.md +1 -0
- package/enhancements/0.6/overrides/patches/workflow/states-planning/common-content.md +5 -0
- package/enhancements/0.6/overrides/patches/workflow/states-planning/inline-content.md +1 -0
- package/enhancements/0.6/overrides/patches/workflow/states-planning/patch.json +27 -0
- package/enhancements/0.6/overrides/patches/workflow/states-planning/planning-baseline.md +4 -0
- package/enhancements/0.6/overrides/patches/workflow/states-planning/planning-inline-baseline.md +4 -0
- package/enhancements/0.6/overrides/patches/workflow/states-planning/subagent-content.md +1 -0
- package/enhancements/MANIFEST.json +108 -52
- package/package.json +4 -4
- package/src/lib/apply-enhancements.js +88 -80
- package/src/lib/backup.js +24 -0
- package/src/lib/enhancement-catalog.js +4 -5
- package/src/lib/legacy-blocks.js +1 -1
- package/src/lib/patch-conflicts.js +404 -0
- package/src/lib/patch-engine.js +986 -0
- package/src/lib/platform-patch-adapters.js +315 -0
- package/src/lib/workflow-inject.js +15 -33
- package/src/patches/bundles/flower-platform-integration.json +12 -0
- package/src/patches/platforms/claude/startup-update-hook/patch.json +28 -0
- package/src/patches/platforms/codex/dispatch-mode/patch.json +17 -0
- package/src/patches/platforms/codex/remove-multi-agent-v2/patch.json +16 -0
- package/src/patches/platforms/codex/session-start-hooks/patch.json +51 -0
- package/enhancements/0.6/overrides/skills/trellis-finish-work.md +0 -92
- package/enhancements/0.6/overrides/skills/trellis-update-spec.md +0 -63
- package/enhancements/0.6/overrides/transforms/intent-routing.json +0 -248
- package/enhancements/0.6/overrides/workflow-states/in_progress-inline.md +0 -15
- package/enhancements/0.6/overrides/workflow-states/in_progress.md +0 -15
- package/enhancements/0.6/overrides/workflow-states/planning-inline.md +0 -12
- package/enhancements/0.6/overrides/workflow-states/planning.md +0 -12
- package/src/lib/enhancement-transform.js +0 -422
- package/src/lib/hook-override-inject.js +0 -94
- package/src/lib/skill-override-inject.js +0 -158
- /package/enhancements/0.6/overrides/{transforms/content/claude-session-start-no-task.py → patches/hooks/claude-session-start/no-task-routing/content.py} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/claude-session-start-no-task.py → patches/hooks/claude-session-start/no-task-routing/selector.py} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/codex-session-start-no-task.py → patches/hooks/codex-session-start/no-task-routing/content.py} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/codex-session-start-no-task.py → patches/hooks/codex-session-start/no-task-routing/selector.py} +0 -0
- /package/enhancements/0.6/overrides/{hooks/shared/inject-workflow-state.py → patches/hooks/inject-workflow-state/shared-runtime/baseline-flower-beta2.py} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/brainstorm-auto-task-create.md → patches/skills/trellis-brainstorm/auto-task-create/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/brainstorm-auto-task-create.md → patches/skills/trellis-brainstorm/auto-task-create/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/brainstorm-planning-authorization.md → patches/skills/trellis-brainstorm/planning-authorization/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/brainstorm-planning-authorization.md → patches/skills/trellis-brainstorm/planning-authorization/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/start-no-task-routing.md → patches/skills/trellis-start/no-task-routing/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/start-no-task-routing.md → patches/skills/trellis-start/no-task-routing/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/workflow-create-task-command.md → patches/workflow/intent-routing/create-task-command/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/workflow-create-task-command.md → patches/workflow/intent-routing/create-task-command/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/workflow-create-task-rule.md → patches/workflow/intent-routing/create-task-rule/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/workflow-create-task-rule.md → patches/workflow/intent-routing/create-task-rule/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/workflow-customization-intent-invariant.md → patches/workflow/intent-routing/customization-intent-invariant/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/workflow-customization-intent-invariant.md → patches/workflow/intent-routing/customization-intent-invariant/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/workflow-phase-index-create-task.md → patches/workflow/intent-routing/phase-index-create-task/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/workflow-phase-index-create-task.md → patches/workflow/intent-routing/phase-index-create-task/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/workflow-phase-one-goal.md → patches/workflow/intent-routing/phase-one-goal/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/workflow-phase-one-goal.md → patches/workflow/intent-routing/phase-one-goal/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/workflow-phase-summary.md → patches/workflow/intent-routing/phase-summary/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/workflow-phase-summary.md → patches/workflow/intent-routing/phase-summary/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/workflow-request-triage.md → patches/workflow/intent-routing/request-triage/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/workflow-request-triage.md → patches/workflow/intent-routing/request-triage/selector.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/content/workflow-no-task-body.md → patches/workflow/state-no-task/content.md} +0 -0
- /package/enhancements/0.6/overrides/{transforms/matches/workflow-no-task-body.md → patches/workflow/state-no-task/selector.md} +0 -0
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
> 一条命令装好 [Trellis](https://docs.trytrellis.app/) 工程框架,并自动融合 **skill-garden** 强化包。
|
|
8
8
|
|
|
9
|
-
`flower-trellis` 是 Trellis 的 npm 封装 CLI,把原本要分两步的工作合并为一键完成:安装/升级 Trellis 本体,并在其上叠加 skill-garden 的强化包(一组 `trellis-*`
|
|
9
|
+
`flower-trellis` 是 Trellis 的 npm 封装 CLI,把原本要分两步的工作合并为一键完成:安装/升级 Trellis 本体,并在其上叠加 skill-garden 的强化包(一组 `trellis-*` 技能与统一 Patch catalog)。强化包以快照形式随包发布,安装过程**零网络依赖**。
|
|
10
10
|
|
|
11
11
|
底层调用官方 `@mindfoldhq/trellis` 的 `init` / `update`,并按目标项目的 Trellis 版本自动选择匹配的强化包变体(`old` / `0.5` / `0.6`)。
|
|
12
12
|
|
|
@@ -209,8 +209,9 @@ flower banner → 平台多选菜单 → Trellis 原生交互(模板 / monorepo
|
|
|
209
209
|
|
|
210
210
|
- **统一品牌头部**:Trellis 子进程在伪终端(`node-pty`)中运行,其原生的模板 / monorepo / 冲突等交互完整保留,但重复打印的启动 banner 被过滤,全程只呈现一个 flower banner。
|
|
211
211
|
- **按平台铺设技能**:Claude 铺到 `.claude/skills`,Codex / Gemini 等铺到 `.agents/skills`;并做平台后处理:Codex 兼容清理旧 `config.toml` 的 `[features.multi_agent_v2]`,在保留上游 hooks 的基础上补全 `SessionStart`;Claude Code 只在 `startup` SessionStart 挂载启动更新检查。
|
|
212
|
-
-
|
|
213
|
-
-
|
|
212
|
+
- **幂等执行**:0.6 Patch 使用受管 marker 原位升级,完整预检通过后只写 changed 文件,首次修改前备份到 `.trellis/.backup-flower/`;技能资产覆盖式铺设,并通过 `.trellis/.flower-manifest.json` 精确清理已淘汰路径。0.5/old 继续使用兼容注入路径。
|
|
213
|
+
- **结构化 Patch**:Trellis 0.6 的 workflow、skill、hook 与平台配置统一通过 `insert / replace / remove` 预检后应用;selector/baseline 或已知最终协议冲突时在写入前停止。
|
|
214
|
+
- **上线事项账本**:强化包通过 Finish-Work Patch 在归档前智能识别 SQL、配置、批处理 / 部署脚本 / 数据修复、外部系统 / 依赖平台等上线事项,必要时写入任务 `release.md`;`trellis-release` 可在正式上线前核对任务文档、`release.md` 和 git 证据,生成 `YYYY-MM-DD-<release-slug>.md` 格式的版本 / 批次操作单。
|
|
214
215
|
- **安全中止**:`Ctrl+C` 取消后不会继续叠加。
|
|
215
216
|
|
|
216
217
|
## 强化包与更新
|
|
@@ -224,6 +225,8 @@ flower banner → 平台多选菜单 → Trellis 原生交互(模板 / monorepo
|
|
|
224
225
|
npm i -g flower-trellis@latest && flower-trellis update
|
|
225
226
|
```
|
|
226
227
|
|
|
228
|
+
- **0.6 兼容门禁**:当前强化快照已登记 Trellis `0.6.5`。未登记的同一 `0.6.x` 会显示 `untested-upstream` 警告,并在完整 Patch/冲突检查通过后继续;`0.7+` / `1.x` 不会自动复用 0.6 baseline。遇到未支持的新版本时,先升级 flower-trellis,或使用 `--no-enhance` 只运行纯上游 Trellis。
|
|
229
|
+
|
|
227
230
|
- **通用技能**:`flower-trellis update` 会用新版快照覆盖仓库中已经启用的 common skill,
|
|
228
231
|
未启用项不会自动安装;若某个已安装 common skill 已从新版快照移除,更新会精确删除其
|
|
229
232
|
`.codex/skills` / `.claude/skills` 或历史 `.agents/skills` 副本。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "intent-routing",
|
|
4
|
+
"aliases": ["workflow-enhancement", "task-intent"],
|
|
5
|
+
"installMode": "full-or-selected",
|
|
6
|
+
"patches": [
|
|
7
|
+
"workflow/hub",
|
|
8
|
+
"workflow/phase-ownership",
|
|
9
|
+
"workflow/state-no-task",
|
|
10
|
+
"workflow/state-missing-task",
|
|
11
|
+
"workflow/runtime-contract-reference",
|
|
12
|
+
"workflow/states-planning",
|
|
13
|
+
"workflow/states-in-progress",
|
|
14
|
+
"workflow/intent-routing/phase-summary",
|
|
15
|
+
"workflow/intent-routing/request-triage",
|
|
16
|
+
"workflow/intent-routing/phase-index-create-task",
|
|
17
|
+
"workflow/intent-routing/phase-one-goal",
|
|
18
|
+
"workflow/intent-routing/create-task-rule",
|
|
19
|
+
"workflow/intent-routing/create-task-command",
|
|
20
|
+
"workflow/intent-routing/customization-intent-invariant",
|
|
21
|
+
"hooks/inject-workflow-state/shared-runtime",
|
|
22
|
+
"hooks/codex-session-start/no-task-routing",
|
|
23
|
+
"hooks/codex-session-start/missing-task-routing",
|
|
24
|
+
"hooks/claude-session-start/no-task-routing",
|
|
25
|
+
"hooks/claude-session-start/missing-task-routing",
|
|
26
|
+
"skills/trellis-start/no-task-routing",
|
|
27
|
+
"skills/trellis-brainstorm/planning-authorization",
|
|
28
|
+
"skills/trellis-brainstorm/auto-task-create"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"rules": [
|
|
4
|
+
{
|
|
5
|
+
"id": "workflow-no-direct-dispatch-routing",
|
|
6
|
+
"severity": "error",
|
|
7
|
+
"target": ".trellis/workflow.md",
|
|
8
|
+
"whenOperations": [
|
|
9
|
+
"workflow-active-task-routing"
|
|
10
|
+
],
|
|
11
|
+
"assertion": {
|
|
12
|
+
"type": "absent-literal",
|
|
13
|
+
"values": [
|
|
14
|
+
"- `in_progress` implementation/check -> dispatch `trellis-implement` / `trellis-check`.",
|
|
15
|
+
"- Before editing -> `trellis-before-dev`; after editing -> `trellis-check`."
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"owner": "trellis-route",
|
|
19
|
+
"reason": "Phase 2.1/2.2 必须先解析 route_decision,不能由上游 routing 表直接选择执行模式。"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "workflow-no-direct-implement-walkthrough",
|
|
23
|
+
"severity": "error",
|
|
24
|
+
"target": ".trellis/workflow.md",
|
|
25
|
+
"whenOperations": [
|
|
26
|
+
"workflow-phase-2-implement"
|
|
27
|
+
],
|
|
28
|
+
"assertion": {
|
|
29
|
+
"type": "absent-literal",
|
|
30
|
+
"values": [
|
|
31
|
+
"Spawn the implement sub-agent:"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"owner": "trellis-route",
|
|
35
|
+
"reason": "Phase 2.1 只负责进入 trellis-route,具体 inline/subagent 执行由 route 结果所有。"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "workflow-no-auto-fix-check",
|
|
39
|
+
"severity": "error",
|
|
40
|
+
"target": ".trellis/workflow.md",
|
|
41
|
+
"whenOperations": [
|
|
42
|
+
"workflow-phase-2-check"
|
|
43
|
+
],
|
|
44
|
+
"assertion": {
|
|
45
|
+
"type": "absent-literal",
|
|
46
|
+
"values": [
|
|
47
|
+
"- Auto-fix issues it finds",
|
|
48
|
+
"If issues are found → fix → re-check, until green."
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"owner": "trellis-check-all",
|
|
52
|
+
"reason": "Check-All 必须 audit-only collect-all,修复只能在统一报告后获得授权。"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "workflow-no-local-only-commit",
|
|
56
|
+
"severity": "error",
|
|
57
|
+
"target": ".trellis/workflow.md",
|
|
58
|
+
"whenOperations": [
|
|
59
|
+
"workflow-phase-3-commit"
|
|
60
|
+
],
|
|
61
|
+
"assertion": {
|
|
62
|
+
"type": "absent-literal",
|
|
63
|
+
"values": [
|
|
64
|
+
"Proposed commits (in order):",
|
|
65
|
+
"Never push to remote in this step."
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"owner": "trellis-push",
|
|
69
|
+
"reason": "Phase 3.4 普通模式由 trellis-push 执行 exact commit + push。"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "workflow-required-route-pointer",
|
|
73
|
+
"severity": "error",
|
|
74
|
+
"target": ".trellis/workflow.md",
|
|
75
|
+
"whenOperations": [
|
|
76
|
+
"workflow-phase-2-implement",
|
|
77
|
+
"workflow-phase-2-check"
|
|
78
|
+
],
|
|
79
|
+
"assertion": {
|
|
80
|
+
"type": "required-literal",
|
|
81
|
+
"values": [
|
|
82
|
+
"<!-- BEGIN skill-garden patch workflow-phase-2-implement v0.6 -->\n#### 2.1 Implement `[required · repeatable]`\n\nImplementation requires an active `in_progress` task and reviewed planning artifacts. Run `trellis-route(target=implement)` before editing or dispatching.",
|
|
83
|
+
"<!-- BEGIN skill-garden patch workflow-phase-2-check v0.6 -->\n#### 2.2 Quality check `[required · repeatable]`\n\nRun `trellis-route(target=check)`, then execute the unified `trellis-check-all` entry using the validated inline/subagent route."
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"owner": "trellis-route",
|
|
87
|
+
"reason": "Phase 2.1/2.2 的受管 section 必须保留统一 route 入口。"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "workflow-required-finish-pointers",
|
|
91
|
+
"severity": "error",
|
|
92
|
+
"target": ".trellis/workflow.md",
|
|
93
|
+
"whenOperations": [
|
|
94
|
+
"workflow-phase-3-update-spec",
|
|
95
|
+
"workflow-phase-3-commit"
|
|
96
|
+
],
|
|
97
|
+
"assertion": {
|
|
98
|
+
"type": "required-literal",
|
|
99
|
+
"values": [
|
|
100
|
+
"<!-- BEGIN skill-garden patch workflow-phase-3-update-spec v0.6 -->\n#### 3.3 Spec update `[required · once]`\n\nLoad `trellis-update-spec` and let it decide whether the task produced executable knowledge that must be recorded.",
|
|
101
|
+
"<!-- BEGIN skill-garden patch workflow-phase-3-commit v0.6 -->\n#### 3.4 Commit changes `[required · once]`\n\nLoad `trellis-push`. It owns dirty-file classification, exact file/message planning, one-shot confirmation, Git safety checks, ordinary commit + push, and current-task progress synchronization."
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"owner": "workflow-phase-ownership",
|
|
105
|
+
"reason": "Phase 3.3/3.4 的受管 section 必须保留到权威 Skill 的一跳入口。"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "workflow-no-covering-language",
|
|
109
|
+
"severity": "error",
|
|
110
|
+
"target": ".trellis/workflow.md",
|
|
111
|
+
"whenOperations": [
|
|
112
|
+
"workflow-hub",
|
|
113
|
+
"workflow-active-task-routing",
|
|
114
|
+
"workflow-phase-3-commit"
|
|
115
|
+
],
|
|
116
|
+
"assertion": {
|
|
117
|
+
"type": "absent-literal",
|
|
118
|
+
"values": [
|
|
119
|
+
"HIGHEST PRIORITY: skill-garden overrides",
|
|
120
|
+
"This hub overrides any conflicting Trellis workflow",
|
|
121
|
+
"overrides lower \"Active Task Routing\"",
|
|
122
|
+
"fully supersedes the lower Phase 3.4 walkthrough"
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"owner": "workflow-phase-ownership",
|
|
126
|
+
"reason": "冲突正文应被结构化替换,Hub 不再通过优先级文字压制下层协议。"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "workflow-state-hub-pointer-budget",
|
|
130
|
+
"severity": "warning",
|
|
131
|
+
"target": ".trellis/workflow.md",
|
|
132
|
+
"whenOperations": [
|
|
133
|
+
"workflow-state-in-progress",
|
|
134
|
+
"workflow-state-in-progress-inline"
|
|
135
|
+
],
|
|
136
|
+
"assertion": {
|
|
137
|
+
"type": "max-occurrences",
|
|
138
|
+
"value": "The Workflow Hub is the source of truth for Task Brief, Routing, Post-Check, Commit, and Task Progress gates.",
|
|
139
|
+
"max": 0
|
|
140
|
+
},
|
|
141
|
+
"owner": "workflow-state",
|
|
142
|
+
"reason": "该 Hub 职责句已从两个 in-progress state 删除,任一回流都需要重新评审。"
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
return (
|
|
2
|
+
f"Status: MISSING TASK POINTER\nTask: {task_ref}\n"
|
|
3
|
+
"Next-Action: Run `python3 ./.trellis/scripts/task.py finish`. If cleanup fails, report it "
|
|
4
|
+
"and stop. If cleanup succeeds, treat the current request as NO ACTIVE TASK in the same "
|
|
5
|
+
"turn and follow no_task Request Intent Routing before any edit, task creation, or task start."
|
|
6
|
+
)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"id": "claude-session-start-missing-task",
|
|
4
|
+
"purpose": "intent_routing",
|
|
5
|
+
"operations": [{
|
|
6
|
+
"id": "claude-session-start-missing-task",
|
|
7
|
+
"operation": "replace",
|
|
8
|
+
"targets": [{ "kind": "hook", "path": ".claude/hooks/session-start.py", "missing": "skip", "markerStyle": "hash" }],
|
|
9
|
+
"selector": { "type": "literal", "source": "selector.py" },
|
|
10
|
+
"content": { "source": "content.py" },
|
|
11
|
+
"legacyMarkers": [{ "namespace": "patch", "id": "claude-session-start-stale-task" }]
|
|
12
|
+
}]
|
|
13
|
+
}
|
package/enhancements/0.6/overrides/patches/hooks/claude-session-start/no-task-routing/patch.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"id": "claude-session-start-no-task",
|
|
4
|
+
"purpose": "intent_routing",
|
|
5
|
+
"operations": [{
|
|
6
|
+
"id": "claude-session-start-no-task",
|
|
7
|
+
"operation": "replace",
|
|
8
|
+
"targets": [{ "kind": "hook", "path": ".claude/hooks/session-start.py", "missing": "skip", "markerStyle": "hash" }],
|
|
9
|
+
"selector": { "type": "literal", "source": "selector.py" },
|
|
10
|
+
"content": { "source": "content.py" },
|
|
11
|
+
"legacyMarkers": [{ "namespace": "transform", "id": "claude-session-start-no-task", "style": "hash" }]
|
|
12
|
+
}]
|
|
13
|
+
}
|
package/enhancements/0.6/overrides/patches/hooks/codex-session-start/missing-task-routing/content.py
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
return (
|
|
2
|
+
f"Status: MISSING TASK POINTER\nTask: {task_ref}\n"
|
|
3
|
+
"Next: Run python3 ./.trellis/scripts/task.py finish. If cleanup fails, report it and stop. "
|
|
4
|
+
"If cleanup succeeds, treat the current request as NO ACTIVE TASK in the same turn and "
|
|
5
|
+
"follow no_task Request Intent Routing before any edit, task creation, or task start."
|
|
6
|
+
)
|
package/enhancements/0.6/overrides/patches/hooks/codex-session-start/missing-task-routing/patch.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"id": "codex-session-start-missing-task",
|
|
4
|
+
"purpose": "intent_routing",
|
|
5
|
+
"operations": [{
|
|
6
|
+
"id": "codex-session-start-missing-task",
|
|
7
|
+
"operation": "replace",
|
|
8
|
+
"targets": [{ "kind": "hook", "path": ".codex/hooks/session-start.py", "missing": "skip", "markerStyle": "hash" }],
|
|
9
|
+
"selector": { "type": "literal", "source": "selector.py" },
|
|
10
|
+
"content": { "source": "content.py" },
|
|
11
|
+
"legacyMarkers": [{ "namespace": "patch", "id": "codex-session-start-stale-task" }]
|
|
12
|
+
}]
|
|
13
|
+
}
|
package/enhancements/0.6/overrides/patches/hooks/codex-session-start/no-task-routing/patch.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"id": "codex-session-start-no-task",
|
|
4
|
+
"purpose": "intent_routing",
|
|
5
|
+
"operations": [{
|
|
6
|
+
"id": "codex-session-start-no-task",
|
|
7
|
+
"operation": "replace",
|
|
8
|
+
"targets": [{ "kind": "hook", "path": ".codex/hooks/session-start.py", "missing": "skip", "markerStyle": "hash" }],
|
|
9
|
+
"selector": { "type": "literal", "source": "selector.py" },
|
|
10
|
+
"content": { "source": "content.py" },
|
|
11
|
+
"legacyMarkers": [{ "namespace": "transform", "id": "codex-session-start-no-task", "style": "hash" }]
|
|
12
|
+
}]
|
|
13
|
+
}
|