@momentiq/dark-factory-cli 3.0.1 → 3.0.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@momentiq/dark-factory-cli",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"description": "Dark Factory OSS CLI — multi-vendor adversarial critic orchestration (Cursor, Codex, Gemini, Grok) with min-complete-quorum aggregation and trusted-surface rebind",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://momentiq.ai/dark-factory",
|
|
@@ -27,18 +27,30 @@ unassigned; it prints the Issue URL. Link the relevant PR or issue with
|
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
29
|
df handoff --link pr:<PR#> <<'EOF'
|
|
30
|
-
<the composed, scrubbed note
|
|
30
|
+
<the composed, scrubbed note from "Dual-register" below —
|
|
31
|
+
INCLUDING its <!-- agent-context:v1 --> … <!-- /agent-context:v1 --> markers>
|
|
31
32
|
EOF
|
|
32
33
|
```
|
|
33
34
|
|
|
35
|
+
The note **must** be wrapped in the `<!-- agent-context:v1 -->` …
|
|
36
|
+
`<!-- /agent-context:v1 -->` markers (they anchor the Issue-body upsert);
|
|
37
|
+
`df handoff` refuses a note that is missing them.
|
|
38
|
+
|
|
34
39
|
## Dual-register: two audiences, one artifact
|
|
35
40
|
|
|
36
41
|
Write the note for the **engineer**, and speak a separate plain sentence to the
|
|
37
42
|
**operator**.
|
|
38
43
|
|
|
39
|
-
Engineer-facing note (structured, precise):
|
|
44
|
+
Engineer-facing note (structured, precise). Keep the `agent-context:v1` markers
|
|
45
|
+
around the whole note — copy this verbatim into the heredoc above:
|
|
40
46
|
|
|
41
47
|
```markdown
|
|
48
|
+
<!-- agent-context:v1 -->
|
|
49
|
+
> 🤖 **Handoff context** — transient working memory, not a source of truth.
|
|
50
|
+
> _Updated: <YYYY-MM-DD> by <your session>_
|
|
51
|
+
|
|
52
|
+
**Work-stream:** `<the ask, in one line>` · the handoff Issue's title.
|
|
53
|
+
|
|
42
54
|
## Intent
|
|
43
55
|
What the operator asked for, in their words.
|
|
44
56
|
|
|
@@ -48,6 +60,7 @@ What is already built and where (branch or PR), and what is verified visually.
|
|
|
48
60
|
## Blocked — why
|
|
49
61
|
The specific boundary: which scope, protected path, dependency, or gate — and
|
|
50
62
|
what an engineer needs to decide or do next.
|
|
63
|
+
<!-- /agent-context:v1 -->
|
|
51
64
|
```
|
|
52
65
|
|
|
53
66
|
Operator-facing sentence (plain, framed as progress):
|
|
@@ -18,12 +18,14 @@ The brief's **Done-when checkboxes are the acceptance criteria.** Before
|
|
|
18
18
|
shipping, confirm each is satisfied and backed by the before/after screenshots
|
|
19
19
|
from `/designer-build` — a Done-when item with no visible proof is not done.
|
|
20
20
|
|
|
21
|
-
Make "done" proof-bound, not free text.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
Make "done" proof-bound, not free text. Derive an objectives contract straight
|
|
22
|
+
from the brief with **`df objectives derive --brief <brief-path> --apply`** — it
|
|
23
|
+
writes one objective per `## Done-when` checkbox to `.darkfactory/objectives.yaml`,
|
|
24
|
+
each text-hash-bound to its source line (id form `brief-<slug>#ac<k>`). Verify the
|
|
25
|
+
bindings and read the closeout proof with `df prove` (per-objective
|
|
26
|
+
proven/pending/failed); see the `/objectives` skill for authoring and binding
|
|
27
|
+
mechanics. Still confirm each Done-when item **visually** — the before/after
|
|
28
|
+
screenshots are the evidence behind the proof.
|
|
27
29
|
|
|
28
30
|
## 2. Run the gates locally first
|
|
29
31
|
|
|
@@ -42,14 +44,15 @@ Mode: designer
|
|
|
42
44
|
Closes #<N>
|
|
43
45
|
```
|
|
44
46
|
|
|
45
|
-
The `Mode: designer` trailer
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
`Closes #<N>` links
|
|
47
|
+
The `Mode: designer` trailer is what the **deterministic mode-scope critic**
|
|
48
|
+
keys on: it reads the trailer, loads the catalog, and validates the diff against
|
|
49
|
+
the mode's `writeScopes` / `protectedPaths` / `diffBudget` / `dependencyPolicy`,
|
|
50
|
+
blocking an out-of-scope diff at merge time — even from a jailbroken local
|
|
51
|
+
session, because CI re-derives scope from the *committed* trailer + catalog
|
|
52
|
+
independently of whatever happened locally. Scope is *also* enforced live
|
|
53
|
+
in-session by the PreToolUse guard, and the change still faces the full
|
|
54
|
+
multi-vendor critic quorum + merge queue like any other PR. `Closes #<N>` links
|
|
55
|
+
the tracking issue.
|
|
53
56
|
|
|
54
57
|
Open the PR and embed the **before/after screenshots** in the body so the change
|
|
55
58
|
is visible to reviewers and the operator:
|