@deftai/directive-content 0.91.0 → 0.92.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 +1 -1
- package/docs/deft-directive-disable.md +96 -0
- package/docs/directive-lifecycle.md +16 -0
- package/docs/getting-started.md +2 -0
- package/docs/no-deft-directive.md +1 -0
- package/docs/skill-pin-policy.md +7 -0
- package/package.json +1 -1
- package/packs/lessons/lessons-pack-0.1.json +85 -45
- package/packs/skills/skills-pack-0.1.json +6 -3
- package/skills/deft-directive-review-cycle/SKILL.md +50 -2
- package/skills/deft-directive-setup/SKILL.md +104 -1
- package/skills/deft-directive-swarm/references/core-ops.md +1 -0
- package/skills/deft-directive-swarm/references/core-phase-0.md +6 -0
- package/skills/deft-directive-swarm/references/host-openclaw.md +10 -0
- package/templates/agent-prompt-preamble.md +3 -0
- package/templates/agents-entry.md +10 -0
- package/templates/swarm-greptile-poller-prompt.md +48 -5
package/QUICK-START.md
CHANGED
|
@@ -155,7 +155,7 @@ Read and follow `../AGENTS.md`. This starts the normal first-session flow (user
|
|
|
155
155
|
|
|
156
156
|
**Writing pointer:** For docs, issues, and PR prose that maintainers or agents author, follow [docs/writing-ste100.md](./docs/writing-ste100.md) (short controlled English; #2927).
|
|
157
157
|
|
|
158
|
-
**Opt-out pointer:** Projects that must not use Directive should commit root [`.no-deft-directive`](./docs/no-deft-directive.md) so session/doctor/init/setup skip install and ritual (#2926).
|
|
158
|
+
**Opt-out pointer:** Projects that must not use Directive should commit root [`.no-deft-directive`](./docs/no-deft-directive.md) so session/doctor/init/setup skip install and ritual (#2926). Temporary local kill-switch (deposit OK): [`.deft-directive-disable`](./docs/deft-directive-disable.md) (#3039).
|
|
159
159
|
|
|
160
160
|
**Contributor pointer (non-blocking):** Working on Deft itself (a `deftai/directive` source checkout)? See [CONTRIBUTING.md](../CONTRIBUTING.md) and use the maintainer install path (`deft-install --yes --upgrade --maintainer --repo-root . --json`). The repo's root `AGENTS.md` has contributor instructions — you do not need the consumer first-session flow above.
|
|
161
161
|
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Temporary kill-switch: `.deft-directive-disable`
|
|
2
|
+
|
|
3
|
+
Use a **root file flag** to turn Directive **enforcement** off for local testing (A/B, DevHammer, ceremony vs loop) **without** permanent project opt-out and **without** deleting the deposit.
|
|
4
|
+
|
|
5
|
+
Tracker: [#3039](https://github.com/deftai/directive/issues/3039).
|
|
6
|
+
|
|
7
|
+
**Not** permanent opt-out — that is [`.no-deft-directive`](./no-deft-directive.md) (#2926).
|
|
8
|
+
|
|
9
|
+
## Filename and location
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
.deft-directive-disable
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- **Exact name:** lowercase `.deft-directive-disable`
|
|
16
|
+
- **Location:** project / workspace **root only**
|
|
17
|
+
- **Content:** empty file or a short `#` comment. Presence is the flag. No schema.
|
|
18
|
+
- **Git:** **Must be gitignored** (deposit baseline includes this entry). Committed / tracked flag is a misconfig: doctor **warns**, and enforcement is **not** disabled (repo-controlled content must not turn off hooks for clones).
|
|
19
|
+
|
|
20
|
+
## Distinct from permanent opt-out
|
|
21
|
+
|
|
22
|
+
| File | Intent |
|
|
23
|
+
|------|--------|
|
|
24
|
+
| [`.no-deft-directive`](./no-deft-directive.md) | Permanent: project does not use Directive. Flag + deposit is **inconsistent**. |
|
|
25
|
+
| `.deft-directive-disable` | Temporary: testing kill-switch. **Deposit OK**. |
|
|
26
|
+
|
|
27
|
+
## Behavior
|
|
28
|
+
|
|
29
|
+
| Surface | When flag present |
|
|
30
|
+
|---------|-------------------|
|
|
31
|
+
| **Doctor** | Status **disabled (test kill-switch)**; **not** the #2926 flag+deposit dirty path; prints full recovery (file gone + new session). |
|
|
32
|
+
| **Agent** | Always-on AGENTS contract: stop further Directive process load; echo recovery. |
|
|
33
|
+
| **CLI** (`session:start`, ritual paths) | Disabled + recovery; no ritual write / no half-DD automation. |
|
|
34
|
+
| **Host hooks** | SessionStart / PreToolUse / compact skip ritual and enforcement. |
|
|
35
|
+
|
|
36
|
+
Deposit (`.deft/core`) **may remain**. Init/update are not blocked by this flag alone (unlike permanent opt-out).
|
|
37
|
+
|
|
38
|
+
## Recovery (hysteresis)
|
|
39
|
+
|
|
40
|
+
Directive is **fully operational** only when:
|
|
41
|
+
|
|
42
|
+
1. **`.deft-directive-disable` is absent**, and
|
|
43
|
+
2. A **new agent session** has been started after the file was removed
|
|
44
|
+
|
|
45
|
+
Canonical recovery message:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
Directive is DISABLED for this project via root `.deft-directive-disable` (test/local kill-switch).
|
|
49
|
+
Deposit may still be present; enforcement (hooks, session ritual, automation) will not run.
|
|
50
|
+
|
|
51
|
+
To fully re-enable Directive:
|
|
52
|
+
1. Delete the file: rm .deft-directive-disable (or equivalent)
|
|
53
|
+
2. Start a NEW agent session (reload AGENTS / host skills / hooks)
|
|
54
|
+
Until both are done, Directive is not fully operational.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Precedence
|
|
58
|
+
|
|
59
|
+
1. `.deft-directive-disable` → test kill-switch (deposit OK; recovery = delete + new session)
|
|
60
|
+
2. `.no-deft-directive` → permanent opt-out (#2926)
|
|
61
|
+
3. Else normal Directive
|
|
62
|
+
|
|
63
|
+
If **both** flags are present: one combined message; permanent install semantics still apply for init/update.
|
|
64
|
+
|
|
65
|
+
## Consumer note (A/B / DevHammer)
|
|
66
|
+
|
|
67
|
+
Typical arm for “without Directive enforcement”:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Ensure ignore entry exists (init/update baseline)
|
|
71
|
+
# Then:
|
|
72
|
+
touch .deft-directive-disable
|
|
73
|
+
# Start a new agent session — enforcement off; deposit may stay.
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Re-enable:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
rm .deft-directive-disable
|
|
80
|
+
# Start a NEW agent session
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Non-goals (v1)
|
|
84
|
+
|
|
85
|
+
- ⊗ Auto-delete `.deft/` or uninstall deposit
|
|
86
|
+
- ⊗ Replace or weaken `.no-deft-directive`
|
|
87
|
+
- ⊗ Rewrite AGENTS to a stub on disable
|
|
88
|
+
- ⊗ Org-remote kill switch
|
|
89
|
+
- ⊗ Nested monorepo package roots
|
|
90
|
+
- ⊗ `DEFT_DISABLED=1` env (optional later)
|
|
91
|
+
|
|
92
|
+
## Related
|
|
93
|
+
|
|
94
|
+
- [no-deft-directive.md](./no-deft-directive.md) — permanent opt-out
|
|
95
|
+
- [getting-started.md](./getting-started.md) — install and first project
|
|
96
|
+
- `session:start`, `doctor`, host hooks (SessionStart / PreToolUse / compact)
|
|
@@ -65,6 +65,22 @@ framework:
|
|
|
65
65
|
| **Ship** | PR merge and release — `task pr:*` and [`deft-directive-release`](../skills/deft-directive-release/SKILL.md). |
|
|
66
66
|
| **Issues / Features** | GitHub issues and feature requests mirrored into `.deft-cache/` and surfaced as triage candidates. |
|
|
67
67
|
|
|
68
|
+
## Delivery integrity vs deploy / UAT (#3041)
|
|
69
|
+
|
|
70
|
+
`scope:complete` and swarm cohort completion mark **lifecycle bookkeeping**, not environment
|
|
71
|
+
green. For **code-bearing** scopes, delivered completion requires durable proof that the
|
|
72
|
+
implementation reached the configured **delivery branch** (`plan.policy.deliveryBranch`,
|
|
73
|
+
defaulting to the repo default branch) — typically: PR `base.ref` equals that branch, and the
|
|
74
|
+
merge commit is an ancestor of the refreshed remote delivery ref. A merge into an intermediate
|
|
75
|
+
feature/integration branch is **not** delivery.
|
|
76
|
+
|
|
77
|
+
Handoff states that Git can assert are distinct: `implemented` → `pr_open` →
|
|
78
|
+
`merged_to_integration` → `delivered`. **Deployed** and **UAT verified** are separate evidence
|
|
79
|
+
axes and are never inferred from Git alone. Explicit non-delivery dispositions
|
|
80
|
+
(`accepted_not_delivered`, `superseded`, `experiment_archived`, `cancelled`) complete the
|
|
81
|
+
lifecycle without claiming the work shipped. Legacy completed records without completion
|
|
82
|
+
provenance surface as `unknown` / `unverified`, not retroactively `delivered`.
|
|
83
|
+
|
|
68
84
|
## Why it loops
|
|
69
85
|
|
|
70
86
|
The central claim of the picture is that Directive is **reiterative**. Strategy analysis is
|
package/docs/getting-started.md
CHANGED
|
@@ -145,3 +145,5 @@ Full command reference for every triage and cache verb lives in [`commands.md`
|
|
|
145
145
|
**Writing:** For docs, issues, and PR prose, follow [writing-ste100.md](./writing-ste100.md) (short controlled English; #2927).
|
|
146
146
|
|
|
147
147
|
**Opt out:** To mark a repo as not using Directive, add root [`.no-deft-directive`](./no-deft-directive.md) (#2926). Tools skip install and session ritual when that file is present.
|
|
148
|
+
|
|
149
|
+
**Temporary test kill-switch:** For local A/B or DevHammer without permanent opt-out, use root [`.deft-directive-disable`](./deft-directive-disable.md) (#3039). Deposit may stay; re-enable by deleting the file and starting a new agent session.
|
|
@@ -82,6 +82,7 @@ When `deft-directive-setup` runs:
|
|
|
82
82
|
|
|
83
83
|
## Related
|
|
84
84
|
|
|
85
|
+
- [deft-directive-disable.md](./deft-directive-disable.md) — **temporary** test/local kill-switch (deposit OK; not this flag)
|
|
85
86
|
- [getting-started.md](./getting-started.md) — install and first project
|
|
86
87
|
- [product-signal.md](./product-signal.md) — optional partner signal (defaults off; flag still wins locally)
|
|
87
88
|
- `session:start`, `doctor`, `directive init`, `directive update`
|
package/docs/skill-pin-policy.md
CHANGED
|
@@ -69,9 +69,16 @@ The managed AGENTS.md section `## Skill pin policy (#2508)` carries the framewor
|
|
|
69
69
|
|
|
70
70
|
Skills-pack entries (`content/packs/skills/skills-pack-0.1.json`) MAY record `"alwaysPin": true` on metadata-only rows so slice tooling and future gates can list pins without parsing AGENTS.md. The authoritative runtime list for agents remains the AGENTS.md pin section; the catalog field is advisory for tooling (#1535).
|
|
71
71
|
|
|
72
|
+
## Through-merge is false-negative sensitive (#3032)
|
|
73
|
+
|
|
74
|
+
Operator phrases such as **through merge**, **drive to merge**, **land/ship issue**, or explicit **drive-to: merge-ready** often start implementation **without** a clear `swarm` keyword. That is the same false-negative class this policy targets: the parent may code instead of loading `deft-directive-swarm` and dispatching a worker.
|
|
75
|
+
|
|
76
|
+
! AGENTS.md carries short always-on `!` / `⊗` bullets under **Through-merge worker dispatch (#3032)** (agents-entry + maintainer multi-agent doctrine). N=1 still uses the swarm/solo launch path; parent MUST NOT implement when background subagent/worktree dispatch is available. See also swarm Phase 0 `references/core-phase-0.md` and #1880 Gap C.
|
|
77
|
+
|
|
72
78
|
## Related
|
|
73
79
|
|
|
74
80
|
- Skills Index: `REFERENCES.md` § Skills Index
|
|
75
81
|
- Progressive disclosure: #2484
|
|
76
82
|
- Trigger coverage evals: #1586
|
|
77
83
|
- Review-surface precedence: #2308 / `deft-directive-review-cycle`
|
|
84
|
+
- Through-merge parent-must-dispatch: #3032 / AGENTS.md `## Through-merge worker dispatch (#3032)`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deftai/directive-content",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.92.0",
|
|
4
4
|
"description": "Shippable Directive framework content in the consumer .deft/core/ layout (C1 flatten), plus the engine surfaces (.githooks/, Taskfile.yml, tasks/) the deposit wires. Python-free per #2022 Phase 3. Refs #11, #1669, #1967.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|