flower-trellis 0.5.2-beta.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/enhancements/0.6/.agents/skills/trellis-auto-loop/SKILL.md +16 -3
- package/enhancements/0.6/.agents/skills/trellis-check-all/references/document-drift-auto-remediation.md +7 -0
- package/enhancements/0.6/.agents/skills/trellis-check-all/references/reporting-and-disposition.md +2 -2
- package/enhancements/0.6/.agents/skills/trellis-push/SKILL.md +14 -9
- package/enhancements/0.6/.agents/skills/trellis-task-brief/SKILL.md +25 -5
- package/enhancements/0.6/.claude/skills/trellis-auto-loop/SKILL.md +16 -3
- package/enhancements/0.6/.claude/skills/trellis-check-all/references/document-drift-auto-remediation.md +7 -0
- package/enhancements/0.6/.claude/skills/trellis-check-all/references/reporting-and-disposition.md +2 -2
- package/enhancements/0.6/.claude/skills/trellis-push/SKILL.md +14 -9
- package/enhancements/0.6/.claude/skills/trellis-task-brief/SKILL.md +25 -5
- package/enhancements/0.6/overrides/bundles/control-plane-integrity.json +2 -1
- package/enhancements/0.6/overrides/bundles/trellis-meta.json +12 -0
- package/enhancements/0.6/overrides/conflicts.json +558 -3
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/constants-selector.py +6 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/helpers-selector.py +150 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/imports-content.py +4 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/imports-selector.py +8 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/output-content.py +7 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/output-selector.py +13 -0
- package/enhancements/0.6/overrides/patches/scripts/session-context-update-boundary/patch.json +53 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/bundled-overrides-baseline.md +16 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/bundled-overrides-content.md +10 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/customization-principles-baseline.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/customization-principles-content.md +9 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/file-boundaries-baseline.md +19 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/file-boundaries-content.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/patch.json +157 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/skill-taxonomy-baseline.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/skill-taxonomy-content.md +15 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/system-model-baseline.md +9 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/system-model-content.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/template-hashes-baseline.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-architecture-and-ownership/template-hashes-content.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/customization-entry-content.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/customization-entry-selector.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/customization-order-baseline.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/customization-order-content.md +10 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/patch.json +179 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/platform-edit-route-baseline.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/platform-edit-route-content.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/skill-classification-content.md +9 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/skill-classification-selector.md +8 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/skill-edit-route-baseline.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/skill-edit-route-content.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/workflow-edit-route-baseline.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/workflow-edit-route-content.md +8 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/workflow-entry-content.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-customization-routing/workflow-entry-selector.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/current-rules-baseline.md +12 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/current-rules-content.md +11 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/description-content.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/description-selector.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/how-to-use-baseline.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/how-to-use-content.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/patch.json +105 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/scope-content.md +10 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-mode-precedence/scope-selector.md +9 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/owner-routing-baseline.md +8 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/owner-routing-content.md +20 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/patch.json +106 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/state-boundary-baseline.md +20 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/state-boundary-content.md +7 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/workflow-change-map-baseline.md +13 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/workflow-change-map-content.md +16 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/workflow-source-content.md +1 -0
- package/enhancements/0.6/overrides/patches/skills/trellis-meta/managed-workflow-owners/workflow-source-selector.md +1 -0
- package/enhancements/0.6/overrides/patches/workflow/intent-routing/request-triage/content.md +3 -2
- package/enhancements/0.6/overrides/patches/workflow/task-brief-review/phase-1-activate-content.md +2 -2
- package/enhancements/0.6/scripts/auto_loop.py +247 -33
- package/enhancements/0.6/scripts/spec_router.py +486 -25
- package/enhancements/MANIFEST.json +56 -2
- package/package.json +3 -3
- package/src/builtin-plugins/skill-garden/content-adapter.js +29 -6
- package/src/builtin-plugins/skill-garden/provider.js +13 -2
- package/src/lib/patch-conflicts.js +28 -2
- package/src/lib/patch-engine.js +41 -3
- package/src/lib/platform-patch-adapters.js +8 -7
- package/src/lib/trellis-python-command.js +95 -0
|
@@ -115,11 +115,13 @@
|
|
|
115
115
|
"type": "required-literal",
|
|
116
116
|
"values": [
|
|
117
117
|
"<!-- BEGIN skill-garden patch workflow-phase-1-activate v0.6 -->\n#### 1.4 Activate task `[required · once]`\n\nBefore changing task status, load `trellis-task-brief`",
|
|
118
|
-
"
|
|
118
|
+
"Unless `trellis-task-brief` validates an explicit preauthorization for the current final Brief",
|
|
119
|
+
"Ordinary implementation or task-creation intent is not confirmation.",
|
|
120
|
+
"After a later confirmation, or in the same turn when that explicit preauthorization remains valid"
|
|
119
121
|
]
|
|
120
122
|
},
|
|
121
123
|
"owner": "trellis-task-brief",
|
|
122
|
-
"reason": "Phase 1.4
|
|
124
|
+
"reason": "Phase 1.4 只保留 Brief 展示、默认等待和由 trellis-task-brief 验证的预授权分支。"
|
|
123
125
|
},
|
|
124
126
|
{
|
|
125
127
|
"id": "brainstorm-required-planning-handoff",
|
|
@@ -405,8 +407,11 @@
|
|
|
405
407
|
"type": "required-literal",
|
|
406
408
|
"values": [
|
|
407
409
|
"<!-- BEGIN skill-garden patch workflow-request-triage v0.6 -->",
|
|
410
|
+
"Asking for an opinion, expressing discomfort, rejecting a proposal, or asking how something should change is `discuss` unless the current request also explicitly authorizes a concrete edit.",
|
|
408
411
|
"Repair authorization and permission to skip task planning are separate.",
|
|
409
|
-
"`direct_edit` requires known, bounded,
|
|
412
|
+
"`direct_edit` requires known, bounded, low-risk, reversible scope, no unresolved design choice, and simple validation.",
|
|
413
|
+
"they are risk signals, not automatic `task_plan` outcomes.",
|
|
414
|
+
"An exact rollback or mechanically synchronized known change may remain `direct_edit` or `workflow_action`",
|
|
410
415
|
"python3 ./.trellis/scripts/spec_router.py \"<short query describing the intended action>\"",
|
|
411
416
|
"Project Knowledge Discovery applies once per user intent, workflow phase, or decision boundary",
|
|
412
417
|
"When an active task exists, apply the Active Task Scope Guard before artifact ownership, task routing, or file edits.",
|
|
@@ -568,6 +573,556 @@
|
|
|
568
573
|
},
|
|
569
574
|
"owner": "workflow-state",
|
|
570
575
|
"reason": "该 Hub 职责句已从两个 in-progress state 删除,任一回流都需要重新评审。"
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"id": "trellis-meta-required-managed-entry-agents",
|
|
579
|
+
"severity": "error",
|
|
580
|
+
"target": ".agents/skills/trellis-meta/SKILL.md",
|
|
581
|
+
"whenOperations": [
|
|
582
|
+
"trellis-meta-trigger-description",
|
|
583
|
+
"trellis-meta-managed-scope",
|
|
584
|
+
"trellis-meta-managed-usage",
|
|
585
|
+
"trellis-meta-managed-current-rules"
|
|
586
|
+
],
|
|
587
|
+
"assertion": {
|
|
588
|
+
"type": "required-literal",
|
|
589
|
+
"values": [
|
|
590
|
+
"including Flower/Skill-Garden managed Plugin overlays",
|
|
591
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-scope v0.6 -->",
|
|
592
|
+
"`vendor/skill-garden/.trellis/0.6/`",
|
|
593
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-usage v0.6 -->\n## How To Use",
|
|
594
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-current-rules v0.6 -->\n## Current Rules"
|
|
595
|
+
]
|
|
596
|
+
},
|
|
597
|
+
"owner": "trellis-meta",
|
|
598
|
+
"reason": "Codex/shared meta 入口必须先识别 Flower/Skill-Garden ownership 和作者源。"
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"id": "trellis-meta-required-managed-entry-claude",
|
|
602
|
+
"severity": "error",
|
|
603
|
+
"target": ".claude/skills/trellis-meta/SKILL.md",
|
|
604
|
+
"whenOperations": [
|
|
605
|
+
"trellis-meta-trigger-description",
|
|
606
|
+
"trellis-meta-managed-scope",
|
|
607
|
+
"trellis-meta-managed-usage",
|
|
608
|
+
"trellis-meta-managed-current-rules"
|
|
609
|
+
],
|
|
610
|
+
"assertion": {
|
|
611
|
+
"type": "required-literal",
|
|
612
|
+
"values": [
|
|
613
|
+
"including Flower/Skill-Garden managed Plugin overlays",
|
|
614
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-scope v0.6 -->",
|
|
615
|
+
"`vendor/skill-garden/.trellis/0.6/`",
|
|
616
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-usage v0.6 -->\n## How To Use",
|
|
617
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-current-rules v0.6 -->\n## Current Rules"
|
|
618
|
+
]
|
|
619
|
+
},
|
|
620
|
+
"owner": "trellis-meta",
|
|
621
|
+
"reason": "Claude meta 入口必须与 shared 入口保持相同 managed-mode 优先级。"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"id": "trellis-meta-required-architecture-agents",
|
|
625
|
+
"severity": "error",
|
|
626
|
+
"target": ".agents/skills/trellis-meta/references/local-architecture/overview.md",
|
|
627
|
+
"whenOperations": [
|
|
628
|
+
"trellis-meta-managed-system-model",
|
|
629
|
+
"trellis-meta-managed-customization-principles"
|
|
630
|
+
],
|
|
631
|
+
"assertion": {
|
|
632
|
+
"type": "required-literal",
|
|
633
|
+
"values": [
|
|
634
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-system-model v0.6 -->\n## Local System Model",
|
|
635
|
+
"**Plugin management layer**",
|
|
636
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-customization-principles v0.6 -->\n## AI Customization Principles",
|
|
637
|
+
"run `npm run sync` to refresh `enhancements/0.6/`"
|
|
638
|
+
]
|
|
639
|
+
},
|
|
640
|
+
"owner": "trellis-meta",
|
|
641
|
+
"reason": "shared 架构参考必须表达 Plugin 管理层和 source-to-snapshot 生命周期。"
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
"id": "trellis-meta-required-architecture-claude",
|
|
645
|
+
"severity": "error",
|
|
646
|
+
"target": ".claude/skills/trellis-meta/references/local-architecture/overview.md",
|
|
647
|
+
"whenOperations": [
|
|
648
|
+
"trellis-meta-managed-system-model",
|
|
649
|
+
"trellis-meta-managed-customization-principles"
|
|
650
|
+
],
|
|
651
|
+
"assertion": {
|
|
652
|
+
"type": "required-literal",
|
|
653
|
+
"values": [
|
|
654
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-system-model v0.6 -->\n## Local System Model",
|
|
655
|
+
"**Plugin management layer**",
|
|
656
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-customization-principles v0.6 -->\n## AI Customization Principles",
|
|
657
|
+
"run `npm run sync` to refresh `enhancements/0.6/`"
|
|
658
|
+
]
|
|
659
|
+
},
|
|
660
|
+
"owner": "trellis-meta",
|
|
661
|
+
"reason": "Claude 架构参考必须与 shared 入口保持相同 Plugin/Patch 模型。"
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"id": "trellis-meta-required-generated-ownership-agents",
|
|
665
|
+
"severity": "error",
|
|
666
|
+
"target": ".agents/skills/trellis-meta/references/local-architecture/generated-files.md",
|
|
667
|
+
"whenOperations": [
|
|
668
|
+
"trellis-meta-managed-template-hashes",
|
|
669
|
+
"trellis-meta-managed-file-boundaries"
|
|
670
|
+
],
|
|
671
|
+
"assertion": {
|
|
672
|
+
"type": "required-literal",
|
|
673
|
+
"values": [
|
|
674
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-template-hashes v0.6 -->\n## Meaning Of Template Hashes",
|
|
675
|
+
"Plugin ownership, Patch provenance, transaction checks",
|
|
676
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-file-boundaries v0.6 -->\n## Local Customization Boundaries",
|
|
677
|
+
"| Skill-Garden managed |"
|
|
678
|
+
]
|
|
679
|
+
},
|
|
680
|
+
"owner": "trellis-meta",
|
|
681
|
+
"reason": "shared generated-files 参考必须把 template hash 与 Plugin ownership 分开。"
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"id": "trellis-meta-required-generated-ownership-claude",
|
|
685
|
+
"severity": "error",
|
|
686
|
+
"target": ".claude/skills/trellis-meta/references/local-architecture/generated-files.md",
|
|
687
|
+
"whenOperations": [
|
|
688
|
+
"trellis-meta-managed-template-hashes",
|
|
689
|
+
"trellis-meta-managed-file-boundaries"
|
|
690
|
+
],
|
|
691
|
+
"assertion": {
|
|
692
|
+
"type": "required-literal",
|
|
693
|
+
"values": [
|
|
694
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-template-hashes v0.6 -->\n## Meaning Of Template Hashes",
|
|
695
|
+
"Plugin ownership, Patch provenance, transaction checks",
|
|
696
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-file-boundaries v0.6 -->\n## Local Customization Boundaries",
|
|
697
|
+
"| Skill-Garden managed |"
|
|
698
|
+
]
|
|
699
|
+
},
|
|
700
|
+
"owner": "trellis-meta",
|
|
701
|
+
"reason": "Claude generated-files 参考必须与 shared 所有权边界一致。"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"id": "trellis-meta-required-skill-taxonomy-agents",
|
|
705
|
+
"severity": "error",
|
|
706
|
+
"target": ".agents/skills/trellis-meta/references/local-architecture/bundled-skills.md",
|
|
707
|
+
"whenOperations": [
|
|
708
|
+
"trellis-meta-managed-skill-taxonomy",
|
|
709
|
+
"trellis-meta-managed-bundled-overrides"
|
|
710
|
+
],
|
|
711
|
+
"assertion": {
|
|
712
|
+
"type": "required-literal",
|
|
713
|
+
"values": [
|
|
714
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-skill-taxonomy v0.6 -->\n## What Counts As Bundled (vs. Adjacent Concepts)",
|
|
715
|
+
"| Skill-Garden managed |",
|
|
716
|
+
"selectors and full baselines fail closed on upstream drift",
|
|
717
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-bundled-overrides v0.6 -->\n## Overriding a Bundled Skill Locally"
|
|
718
|
+
]
|
|
719
|
+
},
|
|
720
|
+
"owner": "trellis-meta",
|
|
721
|
+
"reason": "shared bundled-skill 参考必须使用五类 ownership,并解释 Patch 生命周期。"
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"id": "trellis-meta-required-skill-taxonomy-claude",
|
|
725
|
+
"severity": "error",
|
|
726
|
+
"target": ".claude/skills/trellis-meta/references/local-architecture/bundled-skills.md",
|
|
727
|
+
"whenOperations": [
|
|
728
|
+
"trellis-meta-managed-skill-taxonomy",
|
|
729
|
+
"trellis-meta-managed-bundled-overrides"
|
|
730
|
+
],
|
|
731
|
+
"assertion": {
|
|
732
|
+
"type": "required-literal",
|
|
733
|
+
"values": [
|
|
734
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-skill-taxonomy v0.6 -->\n## What Counts As Bundled (vs. Adjacent Concepts)",
|
|
735
|
+
"| Skill-Garden managed |",
|
|
736
|
+
"selectors and full baselines fail closed on upstream drift",
|
|
737
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-bundled-overrides v0.6 -->\n## Overriding a Bundled Skill Locally"
|
|
738
|
+
]
|
|
739
|
+
},
|
|
740
|
+
"owner": "trellis-meta",
|
|
741
|
+
"reason": "Claude bundled-skill 参考必须与 shared ownership/Patch 模型一致。"
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"id": "trellis-meta-required-customization-route-agents",
|
|
745
|
+
"severity": "error",
|
|
746
|
+
"target": ".agents/skills/trellis-meta/references/customize-local/overview.md",
|
|
747
|
+
"whenOperations": [
|
|
748
|
+
"trellis-meta-managed-customization-entry",
|
|
749
|
+
"trellis-meta-managed-customization-order"
|
|
750
|
+
],
|
|
751
|
+
"assertion": {
|
|
752
|
+
"type": "required-literal",
|
|
753
|
+
"values": [
|
|
754
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-customization-entry v0.6 -->",
|
|
755
|
+
"determine ownership before editing",
|
|
756
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-customization-order v0.6 -->\n## General Operation Order",
|
|
757
|
+
"For Skill-Garden 0.6 authoring"
|
|
758
|
+
]
|
|
759
|
+
},
|
|
760
|
+
"owner": "trellis-meta",
|
|
761
|
+
"reason": "shared customization 入口必须先判定 ownership,再选择本地或 managed source。"
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"id": "trellis-meta-required-customization-route-claude",
|
|
765
|
+
"severity": "error",
|
|
766
|
+
"target": ".claude/skills/trellis-meta/references/customize-local/overview.md",
|
|
767
|
+
"whenOperations": [
|
|
768
|
+
"trellis-meta-managed-customization-entry",
|
|
769
|
+
"trellis-meta-managed-customization-order"
|
|
770
|
+
],
|
|
771
|
+
"assertion": {
|
|
772
|
+
"type": "required-literal",
|
|
773
|
+
"values": [
|
|
774
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-customization-entry v0.6 -->",
|
|
775
|
+
"determine ownership before editing",
|
|
776
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-customization-order v0.6 -->\n## General Operation Order",
|
|
777
|
+
"For Skill-Garden 0.6 authoring"
|
|
778
|
+
]
|
|
779
|
+
},
|
|
780
|
+
"owner": "trellis-meta",
|
|
781
|
+
"reason": "Claude customization 入口必须与 shared managed routing 保持一致。"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"id": "trellis-meta-required-workflow-edit-route-agents",
|
|
785
|
+
"severity": "error",
|
|
786
|
+
"target": ".agents/skills/trellis-meta/references/customize-local/change-workflow.md",
|
|
787
|
+
"whenOperations": [
|
|
788
|
+
"trellis-meta-managed-workflow-entry",
|
|
789
|
+
"trellis-meta-managed-workflow-edit-route"
|
|
790
|
+
],
|
|
791
|
+
"assertion": {
|
|
792
|
+
"type": "required-literal",
|
|
793
|
+
"values": [
|
|
794
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-workflow-entry v0.6 -->",
|
|
795
|
+
"determine whether the relevant section is project-local, an upstream template, or a Skill-Garden managed Patch output",
|
|
796
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-workflow-edit-route v0.6 -->\n## Modification Steps",
|
|
797
|
+
"Do not add a parallel workflow injector"
|
|
798
|
+
]
|
|
799
|
+
},
|
|
800
|
+
"owner": "trellis-meta",
|
|
801
|
+
"reason": "shared workflow customization 必须路由到 owner/Patch,而不是只改运行时文件。"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"id": "trellis-meta-required-workflow-edit-route-claude",
|
|
805
|
+
"severity": "error",
|
|
806
|
+
"target": ".claude/skills/trellis-meta/references/customize-local/change-workflow.md",
|
|
807
|
+
"whenOperations": [
|
|
808
|
+
"trellis-meta-managed-workflow-entry",
|
|
809
|
+
"trellis-meta-managed-workflow-edit-route"
|
|
810
|
+
],
|
|
811
|
+
"assertion": {
|
|
812
|
+
"type": "required-literal",
|
|
813
|
+
"values": [
|
|
814
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-workflow-entry v0.6 -->",
|
|
815
|
+
"determine whether the relevant section is project-local, an upstream template, or a Skill-Garden managed Patch output",
|
|
816
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-workflow-edit-route v0.6 -->\n## Modification Steps",
|
|
817
|
+
"Do not add a parallel workflow injector"
|
|
818
|
+
]
|
|
819
|
+
},
|
|
820
|
+
"owner": "trellis-meta",
|
|
821
|
+
"reason": "Claude workflow customization 必须与 shared owner/Patch 路由一致。"
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"id": "trellis-meta-required-skill-edit-route-agents",
|
|
825
|
+
"severity": "error",
|
|
826
|
+
"target": ".agents/skills/trellis-meta/references/customize-local/change-skills-or-commands.md",
|
|
827
|
+
"whenOperations": [
|
|
828
|
+
"trellis-meta-managed-skill-classification",
|
|
829
|
+
"trellis-meta-managed-skill-edit-route"
|
|
830
|
+
],
|
|
831
|
+
"assertion": {
|
|
832
|
+
"type": "required-literal",
|
|
833
|
+
"values": [
|
|
834
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-skill-classification v0.6 -->",
|
|
835
|
+
"Do not classify every non-bundled name as project-local.",
|
|
836
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-skill-edit-route v0.6 -->\n### Bundled vs. Project-Local",
|
|
837
|
+
"| Skill-Garden | `flower/skill-garden` lock/state entry or managed marker |"
|
|
838
|
+
]
|
|
839
|
+
},
|
|
840
|
+
"owner": "trellis-meta",
|
|
841
|
+
"reason": "shared skill customization 必须识别 upstream、Skill-Garden、Flower、shared 和 project-local。"
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"id": "trellis-meta-required-skill-edit-route-claude",
|
|
845
|
+
"severity": "error",
|
|
846
|
+
"target": ".claude/skills/trellis-meta/references/customize-local/change-skills-or-commands.md",
|
|
847
|
+
"whenOperations": [
|
|
848
|
+
"trellis-meta-managed-skill-classification",
|
|
849
|
+
"trellis-meta-managed-skill-edit-route"
|
|
850
|
+
],
|
|
851
|
+
"assertion": {
|
|
852
|
+
"type": "required-literal",
|
|
853
|
+
"values": [
|
|
854
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-skill-classification v0.6 -->",
|
|
855
|
+
"Do not classify every non-bundled name as project-local.",
|
|
856
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-skill-edit-route v0.6 -->\n### Bundled vs. Project-Local",
|
|
857
|
+
"| Skill-Garden | `flower/skill-garden` lock/state entry or managed marker |"
|
|
858
|
+
]
|
|
859
|
+
},
|
|
860
|
+
"owner": "trellis-meta",
|
|
861
|
+
"reason": "Claude skill customization 必须与 shared ownership 分类一致。"
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
"id": "trellis-meta-required-platform-edit-route-agents",
|
|
865
|
+
"severity": "error",
|
|
866
|
+
"target": ".agents/skills/trellis-meta/references/platform-files/overview.md",
|
|
867
|
+
"whenOperations": ["trellis-meta-managed-platform-edit-route"],
|
|
868
|
+
"assertion": {
|
|
869
|
+
"type": "required-literal",
|
|
870
|
+
"values": [
|
|
871
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-platform-edit-route v0.6 -->\n## Local Modification Order",
|
|
872
|
+
"For managed files, modify the owning Plugin/Patch source",
|
|
873
|
+
"Never claim cross-platform support after changing only one deployed copy."
|
|
874
|
+
]
|
|
875
|
+
},
|
|
876
|
+
"owner": "trellis-meta",
|
|
877
|
+
"reason": "shared platform reference 必须先判定 ownership,并保持 all-existing targets 一致。"
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"id": "trellis-meta-required-platform-edit-route-claude",
|
|
881
|
+
"severity": "error",
|
|
882
|
+
"target": ".claude/skills/trellis-meta/references/platform-files/overview.md",
|
|
883
|
+
"whenOperations": ["trellis-meta-managed-platform-edit-route"],
|
|
884
|
+
"assertion": {
|
|
885
|
+
"type": "required-literal",
|
|
886
|
+
"values": [
|
|
887
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-platform-edit-route v0.6 -->\n## Local Modification Order",
|
|
888
|
+
"For managed files, modify the owning Plugin/Patch source",
|
|
889
|
+
"Never claim cross-platform support after changing only one deployed copy."
|
|
890
|
+
]
|
|
891
|
+
},
|
|
892
|
+
"owner": "trellis-meta",
|
|
893
|
+
"reason": "Claude platform reference 必须与 shared managed-target 路由一致。"
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"id": "trellis-meta-required-workflow-owners-agents",
|
|
897
|
+
"severity": "error",
|
|
898
|
+
"target": ".agents/skills/trellis-meta/references/local-architecture/workflow.md",
|
|
899
|
+
"whenOperations": [
|
|
900
|
+
"trellis-meta-managed-workflow-source",
|
|
901
|
+
"trellis-meta-managed-owner-routing",
|
|
902
|
+
"trellis-meta-managed-state-boundary",
|
|
903
|
+
"trellis-meta-managed-workflow-change-map"
|
|
904
|
+
],
|
|
905
|
+
"assertion": {
|
|
906
|
+
"type": "required-literal",
|
|
907
|
+
"values": [
|
|
908
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-workflow-source v0.6 -->",
|
|
909
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-owner-routing v0.6 -->\n## Skill Routing",
|
|
910
|
+
"Do not choose implementation or checking behavior from a static platform-capability split.",
|
|
911
|
+
"| Automatic task loop and return gate | `trellis-auto-loop`",
|
|
912
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-state-boundary v0.6 -->\n## Workflow-State Prompt Blocks",
|
|
913
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-workflow-change-map v0.6 -->\n## Local Modification Patterns"
|
|
914
|
+
]
|
|
915
|
+
},
|
|
916
|
+
"owner": "trellis-meta",
|
|
917
|
+
"reason": "shared workflow reference 必须只维护 owner map,并把执行模式交给 trellis-route。"
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"id": "trellis-meta-required-workflow-owners-claude",
|
|
921
|
+
"severity": "error",
|
|
922
|
+
"target": ".claude/skills/trellis-meta/references/local-architecture/workflow.md",
|
|
923
|
+
"whenOperations": [
|
|
924
|
+
"trellis-meta-managed-workflow-source",
|
|
925
|
+
"trellis-meta-managed-owner-routing",
|
|
926
|
+
"trellis-meta-managed-state-boundary",
|
|
927
|
+
"trellis-meta-managed-workflow-change-map"
|
|
928
|
+
],
|
|
929
|
+
"assertion": {
|
|
930
|
+
"type": "required-literal",
|
|
931
|
+
"values": [
|
|
932
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-workflow-source v0.6 -->",
|
|
933
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-owner-routing v0.6 -->\n## Skill Routing",
|
|
934
|
+
"Do not choose implementation or checking behavior from a static platform-capability split.",
|
|
935
|
+
"| Automatic task loop and return gate | `trellis-auto-loop`",
|
|
936
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-state-boundary v0.6 -->\n## Workflow-State Prompt Blocks",
|
|
937
|
+
"<!-- BEGIN skill-garden patch trellis-meta-managed-workflow-change-map v0.6 -->\n## Local Modification Patterns"
|
|
938
|
+
]
|
|
939
|
+
},
|
|
940
|
+
"owner": "trellis-meta",
|
|
941
|
+
"reason": "Claude workflow reference 必须与 shared owner map 和 route 边界一致。"
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
"id": "trellis-meta-no-native-only-scope-agents",
|
|
945
|
+
"severity": "error",
|
|
946
|
+
"target": ".agents/skills/trellis-meta/SKILL.md",
|
|
947
|
+
"whenOperations": ["trellis-meta-managed-scope"],
|
|
948
|
+
"assertion": {
|
|
949
|
+
"type": "absent-literal",
|
|
950
|
+
"values": ["The default operating scope is local files in the user project:"]
|
|
951
|
+
},
|
|
952
|
+
"owner": "trellis-meta",
|
|
953
|
+
"reason": "managed mode 下不能继续把所有部署文件无条件视为本地编辑目标。"
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
"id": "trellis-meta-no-native-only-scope-claude",
|
|
957
|
+
"severity": "error",
|
|
958
|
+
"target": ".claude/skills/trellis-meta/SKILL.md",
|
|
959
|
+
"whenOperations": ["trellis-meta-managed-scope"],
|
|
960
|
+
"assertion": {
|
|
961
|
+
"type": "absent-literal",
|
|
962
|
+
"values": ["The default operating scope is local files in the user project:"]
|
|
963
|
+
},
|
|
964
|
+
"owner": "trellis-meta",
|
|
965
|
+
"reason": "Claude managed mode 不能保留无 ownership 条件的本地编辑范围。"
|
|
966
|
+
},
|
|
967
|
+
{
|
|
968
|
+
"id": "trellis-meta-no-binary-skill-ownership-agents",
|
|
969
|
+
"severity": "error",
|
|
970
|
+
"target": ".agents/skills/trellis-meta/references/local-architecture/bundled-skills.md",
|
|
971
|
+
"whenOperations": [
|
|
972
|
+
"trellis-meta-managed-skill-taxonomy",
|
|
973
|
+
"trellis-meta-managed-bundled-overrides"
|
|
974
|
+
],
|
|
975
|
+
"assertion": {
|
|
976
|
+
"type": "absent-literal",
|
|
977
|
+
"values": [
|
|
978
|
+
"Not managed by Trellis at all",
|
|
979
|
+
"The Trellis CLI never touches anything that is not produced by one of its own template loaders.",
|
|
980
|
+
"1. Edit the local file directly. Example: `.claude/skills/trellis-meta/SKILL.md`."
|
|
981
|
+
]
|
|
982
|
+
},
|
|
983
|
+
"owner": "trellis-meta",
|
|
984
|
+
"reason": "shared bundled skill 参考不得忽略 Flower/Skill-Garden 与 shared ownership。"
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"id": "trellis-meta-no-binary-skill-ownership-claude",
|
|
988
|
+
"severity": "error",
|
|
989
|
+
"target": ".claude/skills/trellis-meta/references/local-architecture/bundled-skills.md",
|
|
990
|
+
"whenOperations": [
|
|
991
|
+
"trellis-meta-managed-skill-taxonomy",
|
|
992
|
+
"trellis-meta-managed-bundled-overrides"
|
|
993
|
+
],
|
|
994
|
+
"assertion": {
|
|
995
|
+
"type": "absent-literal",
|
|
996
|
+
"values": [
|
|
997
|
+
"Not managed by Trellis at all",
|
|
998
|
+
"The Trellis CLI never touches anything that is not produced by one of its own template loaders.",
|
|
999
|
+
"1. Edit the local file directly. Example: `.claude/skills/trellis-meta/SKILL.md`."
|
|
1000
|
+
]
|
|
1001
|
+
},
|
|
1002
|
+
"owner": "trellis-meta",
|
|
1003
|
+
"reason": "Claude bundled skill 参考不得保留二分类 ownership 或直接编辑建议。"
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"id": "trellis-meta-no-local-only-skill-route-agents",
|
|
1007
|
+
"severity": "error",
|
|
1008
|
+
"target": ".agents/skills/trellis-meta/references/customize-local/change-skills-or-commands.md",
|
|
1009
|
+
"whenOperations": [
|
|
1010
|
+
"trellis-meta-managed-skill-classification",
|
|
1011
|
+
"trellis-meta-managed-skill-edit-route"
|
|
1012
|
+
],
|
|
1013
|
+
"assertion": {
|
|
1014
|
+
"type": "absent-literal",
|
|
1015
|
+
"values": [
|
|
1016
|
+
"Owned by the user; not refreshed by `trellis update`.",
|
|
1017
|
+
"Created by the user (or another skill) and never moved",
|
|
1018
|
+
"| The right way to customize | Add a *new* project-local skill with a *different* name that supplements (or supersedes) the bundled one | Edit the file directly |"
|
|
1019
|
+
]
|
|
1020
|
+
},
|
|
1021
|
+
"owner": "trellis-meta",
|
|
1022
|
+
"reason": "shared skill customization 不得把所有非 bundled 内容直接归为 project-local。"
|
|
1023
|
+
},
|
|
1024
|
+
{
|
|
1025
|
+
"id": "trellis-meta-no-local-only-skill-route-claude",
|
|
1026
|
+
"severity": "error",
|
|
1027
|
+
"target": ".claude/skills/trellis-meta/references/customize-local/change-skills-or-commands.md",
|
|
1028
|
+
"whenOperations": [
|
|
1029
|
+
"trellis-meta-managed-skill-classification",
|
|
1030
|
+
"trellis-meta-managed-skill-edit-route"
|
|
1031
|
+
],
|
|
1032
|
+
"assertion": {
|
|
1033
|
+
"type": "absent-literal",
|
|
1034
|
+
"values": [
|
|
1035
|
+
"Owned by the user; not refreshed by `trellis update`.",
|
|
1036
|
+
"Created by the user (or another skill) and never moved",
|
|
1037
|
+
"| The right way to customize | Add a *new* project-local skill with a *different* name that supplements (or supersedes) the bundled one | Edit the file directly |"
|
|
1038
|
+
]
|
|
1039
|
+
},
|
|
1040
|
+
"owner": "trellis-meta",
|
|
1041
|
+
"reason": "Claude skill customization 不得保留无 Plugin ownership 的二分类路由。"
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"id": "trellis-meta-no-nearest-file-only-route-agents",
|
|
1045
|
+
"severity": "error",
|
|
1046
|
+
"target": ".agents/skills/trellis-meta/references/platform-files/overview.md",
|
|
1047
|
+
"whenOperations": ["trellis-meta-managed-platform-edit-route"],
|
|
1048
|
+
"assertion": {
|
|
1049
|
+
"type": "absent-literal",
|
|
1050
|
+
"values": ["4. Modify the local file closest to the user's need."]
|
|
1051
|
+
},
|
|
1052
|
+
"owner": "trellis-meta",
|
|
1053
|
+
"reason": "shared platform 路由必须先查 ownership,不能仅按最近部署文件选择。"
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
"id": "trellis-meta-no-nearest-file-only-route-claude",
|
|
1057
|
+
"severity": "error",
|
|
1058
|
+
"target": ".claude/skills/trellis-meta/references/platform-files/overview.md",
|
|
1059
|
+
"whenOperations": ["trellis-meta-managed-platform-edit-route"],
|
|
1060
|
+
"assertion": {
|
|
1061
|
+
"type": "absent-literal",
|
|
1062
|
+
"values": ["4. Modify the local file closest to the user's need."]
|
|
1063
|
+
},
|
|
1064
|
+
"owner": "trellis-meta",
|
|
1065
|
+
"reason": "Claude platform 路由必须先查 ownership,不能只改最近部署文件。"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"id": "trellis-meta-no-platform-direct-dispatch-agents",
|
|
1069
|
+
"severity": "error",
|
|
1070
|
+
"target": ".agents/skills/trellis-meta/references/local-architecture/workflow.md",
|
|
1071
|
+
"whenOperations": [
|
|
1072
|
+
"trellis-meta-managed-owner-routing",
|
|
1073
|
+
"trellis-meta-managed-state-boundary"
|
|
1074
|
+
],
|
|
1075
|
+
"assertion": {
|
|
1076
|
+
"type": "absent-literal",
|
|
1077
|
+
"values": [
|
|
1078
|
+
"Platforms with sub-agent support: dispatch `trellis-implement` by default for implementation and `trellis-check` for checking.",
|
|
1079
|
+
"Platforms without sub-agent support: the main session reads skills such as `trellis-before-dev`, then executes directly.",
|
|
1080
|
+
"edit these state blocks and the routing table above them."
|
|
1081
|
+
]
|
|
1082
|
+
},
|
|
1083
|
+
"owner": "trellis-route",
|
|
1084
|
+
"reason": "shared workflow meta 必须把 implement/check 模式交给 trellis-route。"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"id": "trellis-meta-no-platform-direct-dispatch-claude",
|
|
1088
|
+
"severity": "error",
|
|
1089
|
+
"target": ".claude/skills/trellis-meta/references/local-architecture/workflow.md",
|
|
1090
|
+
"whenOperations": [
|
|
1091
|
+
"trellis-meta-managed-owner-routing",
|
|
1092
|
+
"trellis-meta-managed-state-boundary"
|
|
1093
|
+
],
|
|
1094
|
+
"assertion": {
|
|
1095
|
+
"type": "absent-literal",
|
|
1096
|
+
"values": [
|
|
1097
|
+
"Platforms with sub-agent support: dispatch `trellis-implement` by default for implementation and `trellis-check` for checking.",
|
|
1098
|
+
"Platforms without sub-agent support: the main session reads skills such as `trellis-before-dev`, then executes directly.",
|
|
1099
|
+
"edit these state blocks and the routing table above them."
|
|
1100
|
+
]
|
|
1101
|
+
},
|
|
1102
|
+
"owner": "trellis-route",
|
|
1103
|
+
"reason": "Claude workflow meta 必须与 shared route owner 模型一致。"
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
"id": "session-context-no-legacy-update-check",
|
|
1107
|
+
"severity": "error",
|
|
1108
|
+
"target": ".trellis/scripts/common/session_context.py",
|
|
1109
|
+
"whenOperations": [
|
|
1110
|
+
"session-context-update-imports",
|
|
1111
|
+
"session-context-update-constants",
|
|
1112
|
+
"session-context-update-helpers",
|
|
1113
|
+
"session-context-update-output"
|
|
1114
|
+
],
|
|
1115
|
+
"assertion": {
|
|
1116
|
+
"type": "absent-literal",
|
|
1117
|
+
"values": [
|
|
1118
|
+
"def _get_update_hint(",
|
|
1119
|
+
"def _mark_update_check_attempted(",
|
|
1120
|
+
"def _update_marker_path(",
|
|
1121
|
+
"[\"trellis\", \"--version\"]"
|
|
1122
|
+
]
|
|
1123
|
+
},
|
|
1124
|
+
"owner": "flower-update-hook",
|
|
1125
|
+
"reason": "默认 Session Context 只负责项目上下文;更新检查必须统一由 Flower SessionStart Hook 进入。"
|
|
571
1126
|
}
|
|
572
1127
|
]
|
|
573
1128
|
}
|