@deftai/directive-content 0.111.0 → 0.113.0
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/QUICK-START.md +16 -14
- package/Taskfile.yml +4 -0
- package/UPGRADING.md +64 -24
- package/commands.md +12 -12
- package/contracts/design-critique.md +23 -15
- package/docs/SUPPORT.md +43 -0
- package/docs/capabilities.md +110 -0
- package/docs/capability-overlay.json +197 -0
- package/docs/getting-started.md +131 -49
- package/package.json +1 -1
- package/packs/skills/skills-pack-0.1.json +34 -32
- package/scm/github.md +2 -0
- package/skills/deft-directive-design-critique/SKILL.md +8 -3
- package/skills/deft-directive-release/SKILL.md +13 -14
- package/skills/deft-directive-review-cycle/SKILL.md +12 -8
- package/skills/deft-directive-swarm/SKILL.md +8 -4
- package/skills/deft-directive-swarm/references/core-ops.md +1 -0
- package/skills/deft-directive-swarm/references/core-phase-0.md +1 -1
- package/skills/deft-directive-swarm/references/core-phase-3.md +7 -4
- package/skills/deft-directive-swarm/references/host-claude-code.md +3 -2
- package/skills/deft-directive-swarm/references/host-grok-build.md +4 -2
- package/skills/deft-directive-swarm/references/host-grokbot.md +151 -0
- package/tasks/docs.yml +19 -0
- package/tasks/migrate.yml +3 -1
- package/tasks/scm.yml +12 -1
- package/tasks/verify.yml +16 -0
- package/templates/PULL_REQUEST_TEMPLATE.md +12 -0
- package/templates/agent-prompt-preamble.md +2 -2
- package/templates/agents-entry.md +1 -1
package/tasks/scm.yml
CHANGED
|
@@ -14,6 +14,7 @@ version: '3'
|
|
|
14
14
|
# - scm:issue:close (thin wrapper over `ghx|gh issue close`)
|
|
15
15
|
# - scm:issue:edit (thin wrapper over `ghx|gh issue edit`)
|
|
16
16
|
# - scm:issue:design-critique-chip (#3642 closed catalog remaining-set)
|
|
17
|
+
# - scm:issue:work-claim (#4200 same-issue busy flag)
|
|
17
18
|
# - scm:body:* (#1555 safe Markdown body posting via github-body TS CLI)
|
|
18
19
|
#
|
|
19
20
|
# Each command is a thin pass-through to `ghx <verb>` (when ghx is on PATH)
|
|
@@ -92,7 +93,7 @@ tasks:
|
|
|
92
93
|
ENGINE_CMD: 'scm issue edit {{.CLI_ARGS}}'
|
|
93
94
|
|
|
94
95
|
issue:design-critique-chip:
|
|
95
|
-
desc: "[#3642] Exclusive design-critique catalog chip -- task scm:issue:design-critique-chip -- --issue N --chip triage-ready|mechanism-shaped [--repo OWNER/NAME]"
|
|
96
|
+
desc: "[#3642] Exclusive design-critique catalog chip -- task scm:issue:design-critique-chip -- --issue N --chip triage-ready|mechanism-shaped|recut-needed [--repo OWNER/NAME]"
|
|
96
97
|
dir: '{{.USER_WORKING_DIR}}'
|
|
97
98
|
deps:
|
|
98
99
|
- task: :engine:_ts-build
|
|
@@ -101,6 +102,16 @@ tasks:
|
|
|
101
102
|
vars:
|
|
102
103
|
ENGINE_CMD: 'scm issue design-critique-chip {{.CLI_ARGS}}'
|
|
103
104
|
|
|
105
|
+
issue:work-claim:
|
|
106
|
+
desc: "[#4200] Same-issue busy flag -- task scm:issue:work-claim -- claim|show|release --issue N [--repo OWNER/NAME] [--json]"
|
|
107
|
+
dir: '{{.USER_WORKING_DIR}}'
|
|
108
|
+
deps:
|
|
109
|
+
- task: :engine:_ts-build
|
|
110
|
+
cmds:
|
|
111
|
+
- task: :engine:invoke
|
|
112
|
+
vars:
|
|
113
|
+
ENGINE_CMD: 'scm issue work-claim {{.CLI_ARGS}}'
|
|
114
|
+
|
|
104
115
|
body:issue:create:
|
|
105
116
|
desc: "[#1555] Safely create an issue body from --body-file without shell Markdown interpolation"
|
|
106
117
|
dir: '{{.USER_WORKING_DIR}}'
|
package/tasks/verify.yml
CHANGED
|
@@ -107,6 +107,14 @@ tasks:
|
|
|
107
107
|
vars:
|
|
108
108
|
ENGINE_CMD: 'verify-closing-keywords {{.CLI_ARGS}}'
|
|
109
109
|
|
|
110
|
+
docs-impact:
|
|
111
|
+
desc: "Declared-versus-touched documentation-impact check (#4099). --pr uses REST; --body-file for local. Fork PRs stay read-only."
|
|
112
|
+
deps:
|
|
113
|
+
- task: :engine:_ts-build
|
|
114
|
+
dir: '{{.USER_WORKING_DIR}}'
|
|
115
|
+
cmds:
|
|
116
|
+
- node "{{.DEFT_ROOT}}/packages/core/dist/docs/docs-impact.js" --project-root "{{.USER_WORKING_DIR}}" {{.CLI_ARGS}}
|
|
117
|
+
|
|
110
118
|
license-sync:
|
|
111
119
|
desc: "Drift guard for root LICENSE ↔ content/LICENSE.md and published package.json license fields (#2902). Three-state exit (0 clean / 1 drift / 2 config). Framework-source only."
|
|
112
120
|
# Framework-source-only gate: reads THIS repo's LICENSE + package manifests.
|
|
@@ -382,6 +390,14 @@ tasks:
|
|
|
382
390
|
vars:
|
|
383
391
|
ENGINE_CMD: 'verify:spec-prd-fresh --project-root "{{.USER_WORKING_DIR}}" {{.CLI_ARGS}}'
|
|
384
392
|
|
|
393
|
+
rule-map-fresh:
|
|
394
|
+
desc: "Fail-closed docs/RULE-MAP.md renderer freshness (#4095). Alias for docs:rule-map:check. Asserts byte-identical renderer output, filled grouping purposes, pack entries from named arrays, and Taskfile declaration counts. Not a consumer gate."
|
|
395
|
+
dir: '{{.USER_WORKING_DIR}}'
|
|
396
|
+
deps:
|
|
397
|
+
- task: :engine:_ts-build
|
|
398
|
+
cmds:
|
|
399
|
+
- task: :docs:rule-map:check
|
|
400
|
+
|
|
385
401
|
session-ritual:
|
|
386
402
|
desc: "Fail-closed session ritual verifier (#1348). Flags: --tier quick|gated / --json. Set DEFT_SESSION_RITUAL_SKIP=1 for headless workers and CI."
|
|
387
403
|
dir: '{{.USER_WORKING_DIR}}'
|
|
@@ -13,6 +13,18 @@
|
|
|
13
13
|
- `vbrief/pending/YYYY-MM-DD-slug.vbrief.json`
|
|
14
14
|
-->
|
|
15
15
|
|
|
16
|
+
## Documentation impact
|
|
17
|
+
|
|
18
|
+
<!-- Closed enum. Rationale is quoted data and is never a gate input.
|
|
19
|
+
change_class: add | change | withdraw | none
|
|
20
|
+
surfaces: none OR comma-separated command:<id> | skill-trigger:<id> | help:<id> | docs-site:<page>
|
|
21
|
+
`no user-doc impact` is refused when a registered command, skill, help key,
|
|
22
|
+
or public docs-site page is added or removed. Same-PR rule: coding/docs.md (#447). -->
|
|
23
|
+
|
|
24
|
+
change_class: none
|
|
25
|
+
surfaces: none
|
|
26
|
+
rationale: "Replace this quoted sentence with the actual documentation-impact rationale."
|
|
27
|
+
|
|
16
28
|
## Checklist
|
|
17
29
|
|
|
18
30
|
- [ ] `task check` passes locally (validate + lint + test; see `coding/testing.md`)
|
|
@@ -73,13 +73,13 @@ When the operator supplies an ordered plan (delivery sequence, cohort, checklist
|
|
|
73
73
|
|
|
74
74
|
## 2.6 Provider-neutral worker metadata (#1531)
|
|
75
75
|
|
|
76
|
-
Heterogeneous swarm dispatch (#1531) assigns each worker a **dispatch provider** (the runtime primitive that launched the agent), a **worker role** (what the agent is allowed to do), and a **selected backend** or **routing policy** (how the harness maps that role to a concrete agent). These fields are provider-neutral: Composer-class coding agents, Grok Build (`spawn_subagent`), Cursor/cloud agents, Claude Code (`claude-code` / `claude-agent`, #3134), OpenClaw (`sessions_spawn`, #2874 / #2879), and future adapters share the same contract.
|
|
76
|
+
Heterogeneous swarm dispatch (#1531) assigns each worker a **dispatch provider** (the runtime primitive that launched the agent), a **worker role** (what the agent is allowed to do), and a **selected backend** or **routing policy** (how the harness maps that role to a concrete agent). These fields are provider-neutral: Composer-class coding agents, Grok Build (`spawn_subagent`), Grok Bot (`grok-bot` / `grok-bot-executor`, #4201), Cursor/cloud agents, Claude Code (`claude-code` / `claude-agent`, #3134), OpenClaw (`sessions_spawn`, #2874 / #2879), and future adapters share the same contract.
|
|
77
77
|
|
|
78
78
|
! Every intentional backend-routed dispatch MUST carry a separate `## Worker metadata` section in the dispatch envelope, placed AFTER `## Allocation context` and BEFORE the task body. This section is advisory metadata for the worker and for audit; it does NOT replace, extend, or reorder the five-field #1378 `## Allocation context` recognition contract above.
|
|
79
79
|
|
|
80
80
|
When present, the section documents these fields in order:
|
|
81
81
|
|
|
82
|
-
- `dispatch_provider`: the runtime primitive that launched this worker -- e.g. `spawn_subagent`, `start_agent`, `sessions_spawn` (OpenClaw host; platform descriptor `openclaw` per #2874 / #2875), `cursor-composer`, `cursor-cloud-agent`, `claude-code` (Claude Code host; register primitive `claude-agent` per #3134), or a future adapter id. Names the harness surface, not the model.
|
|
82
|
+
- `dispatch_provider`: the runtime primitive that launched this worker -- e.g. `spawn_subagent`, `start_agent`, `sessions_spawn` (OpenClaw host; platform descriptor `openclaw` per #2874 / #2875), `cursor-composer`, `cursor-cloud-agent`, `claude-code` (Claude Code host; register primitive `claude-agent` per #3134), `grok-bot` (Grok Bot host; register primitive `grok-bot-executor` per #4201; not Grok Build), or a future adapter id. Names the harness surface, not the model.
|
|
83
83
|
- `worker_role`: the role boundary for this dispatch -- one of `leaf-implementation`, `orchestrator`, `review-monitor`, or `merge-release` (stable ids from `packages/core/src/swarm/routing.ts` `SWARM_WORKER_ROLES`). Tells the worker which preamble rules and skill surfaces apply.
|
|
84
84
|
- `selected_backend`: the stable backend id from `plan.policy.swarmSubagentBackend` / `task policy:subagent-backends` (accepted set today: `composer`, `grok-build`, `cursor-cloud` only — see `KNOWN_SUBAGENT_BACKEND_IDS`) | null -- which catalogued **coding** backend the operator selected for this role. OpenClaw is a **host / dispatch_provider** (`sessions_spawn` / descriptor `openclaw`), not a `swarmSubagentBackend` enum value; do not write `selected_backend: openclaw` into policy (#2879 Greptile P1).
|
|
85
85
|
- `routing_policy`: <path or reference to the operator's routing file / tiering policy> | null -- when backend selection is delegated to harness routing instead of a typed policy field, cite the policy handle here so postmortems can reconstruct the route. The canonical handle is the gitignored, per-machine `.deft/routing.local.json` (#1739), keyed by `(dispatch_provider, worker_role)`; set decisions with `deft swarm:routing-set --role <role> (--model <slug> | --harness-default)`.
|
|
@@ -21,7 +21,7 @@ Deft is installed in .deft/core/. Full guidelines: .deft/core/main.md
|
|
|
21
21
|
|
|
22
22
|
## Session-start ritual (#1149)
|
|
23
23
|
|
|
24
|
-
! On **mutation** session start, run `deft session:start`; before code-writing or `start_agent` dispatch run `deft verify:session-ritual -- --tier=gated` (stale after `plan.policy.sessionRitualStalenessHours`; records `deft verify:tools` / `deft doctor` / `deft verify:cache-fresh` / `deft agents:refresh` / `npm i -g @deftai/directive@latest`; #1149 / #1348) — `.deft/core/commands.md` § Session-start ritual. Recovery: `deft session:ready` (one-shot: start + gated ritual + cache recovery; #2993). The #3124 SCM mirror tip does not fire (`triage:classify --mirror` withdrawn, #4070).
|
|
24
|
+
! On **mutation** session start, run `deft session:start`; before code-writing or `start_agent` dispatch run `deft verify:session-ritual -- --tier=gated` (stale after `plan.policy.sessionRitualStalenessHours`; records `deft verify:tools` / `deft doctor` / `deft verify:cache-fresh` / `deft agents:refresh` / `npm i -g @deftai/directive@latest`; #1149 / #1348) — `.deft/core/commands.md` § Session-start ritual. Recovery: `deft session:ready` (one-shot: start + gated ritual + cache recovery; #2993). The #3124 SCM mirror tip does not fire (`triage:classify --mirror` withdrawn, #4070). Work-claim (#4200): catalog label `status:claimed`; verb `deft scm issue work-claim`; session-start and `xbrief:preflight` MUST scan; warn is success, not a lock; claim refuses read-only / no occupancy. Depth: `.deft/core/scm/github.md`.
|
|
25
25
|
|
|
26
26
|
## WIP cap
|
|
27
27
|
|