@momentiq/dark-factory-cli 2.17.0 → 3.0.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.
Files changed (136) hide show
  1. package/dist/adapters/codex-sdk.d.ts +30 -5
  2. package/dist/adapters/codex-sdk.d.ts.map +1 -1
  3. package/dist/adapters/codex-sdk.js +50 -15
  4. package/dist/adapters/codex-sdk.js.map +1 -1
  5. package/dist/adapters/cursor-sdk.d.ts.map +1 -1
  6. package/dist/adapters/cursor-sdk.js +14 -2
  7. package/dist/adapters/cursor-sdk.js.map +1 -1
  8. package/dist/adapters/index.d.ts +1 -0
  9. package/dist/adapters/index.d.ts.map +1 -1
  10. package/dist/adapters/index.js +6 -0
  11. package/dist/adapters/index.js.map +1 -1
  12. package/dist/adapters/mode-scope.d.ts +86 -0
  13. package/dist/adapters/mode-scope.d.ts.map +1 -0
  14. package/dist/adapters/mode-scope.js +456 -0
  15. package/dist/adapters/mode-scope.js.map +1 -0
  16. package/dist/branch-protection/audit_branch_protection.py +80 -2
  17. package/dist/cli.d.ts +5 -0
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +31 -1
  20. package/dist/cli.js.map +1 -1
  21. package/dist/commands/mode.d.ts +2 -0
  22. package/dist/commands/mode.d.ts.map +1 -0
  23. package/dist/commands/mode.js +235 -0
  24. package/dist/commands/mode.js.map +1 -0
  25. package/dist/commands/objectives.d.ts +27 -3
  26. package/dist/commands/objectives.d.ts.map +1 -1
  27. package/dist/commands/objectives.js +347 -53
  28. package/dist/commands/objectives.js.map +1 -1
  29. package/dist/commands/onboard.d.ts.map +1 -1
  30. package/dist/commands/onboard.js +3 -1
  31. package/dist/commands/onboard.js.map +1 -1
  32. package/dist/cycle-doc-validator/validate_cycle_doc.py +128 -11
  33. package/dist/doctor.d.ts.map +1 -1
  34. package/dist/doctor.js +15 -7
  35. package/dist/doctor.js.map +1 -1
  36. package/dist/evidence/index.d.ts +1 -0
  37. package/dist/evidence/index.d.ts.map +1 -1
  38. package/dist/evidence/index.js +5 -0
  39. package/dist/evidence/index.js.map +1 -1
  40. package/dist/evidence/ui-visual/embed.d.ts +65 -0
  41. package/dist/evidence/ui-visual/embed.d.ts.map +1 -0
  42. package/dist/evidence/ui-visual/embed.js +176 -0
  43. package/dist/evidence/ui-visual/embed.js.map +1 -0
  44. package/dist/evidence/ui-visual/index.d.ts +2 -0
  45. package/dist/evidence/ui-visual/index.d.ts.map +1 -0
  46. package/dist/evidence/ui-visual/index.js +6 -0
  47. package/dist/evidence/ui-visual/index.js.map +1 -0
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/mcp/cycle-doc/parser.d.ts +3 -3
  53. package/dist/mcp/cycle-doc/parser.d.ts.map +1 -1
  54. package/dist/mcp/cycle-doc/parser.js +2 -2
  55. package/dist/mcp/cycle-doc/parser.js.map +1 -1
  56. package/dist/mcp/tools/doctor.d.ts +5 -0
  57. package/dist/mcp/tools/doctor.d.ts.map +1 -1
  58. package/dist/mcp/tools/doctor.js +10 -1
  59. package/dist/mcp/tools/doctor.js.map +1 -1
  60. package/dist/mcp/tools/review-bypass.d.ts +5 -0
  61. package/dist/mcp/tools/review-bypass.d.ts.map +1 -1
  62. package/dist/mcp/tools/review-bypass.js +9 -1
  63. package/dist/mcp/tools/review-bypass.js.map +1 -1
  64. package/dist/mode/apply.d.ts +8 -0
  65. package/dist/mode/apply.d.ts.map +1 -0
  66. package/dist/mode/apply.js +118 -0
  67. package/dist/mode/apply.js.map +1 -0
  68. package/dist/mode/context.d.ts +50 -0
  69. package/dist/mode/context.d.ts.map +1 -0
  70. package/dist/mode/context.js +127 -0
  71. package/dist/mode/context.js.map +1 -0
  72. package/dist/mode/critic-registration.d.ts +66 -0
  73. package/dist/mode/critic-registration.d.ts.map +1 -0
  74. package/dist/mode/critic-registration.js +279 -0
  75. package/dist/mode/critic-registration.js.map +1 -0
  76. package/dist/mode/guard.d.ts +15 -0
  77. package/dist/mode/guard.d.ts.map +1 -0
  78. package/dist/mode/guard.js +160 -0
  79. package/dist/mode/guard.js.map +1 -0
  80. package/dist/mode/init.d.ts +17 -0
  81. package/dist/mode/init.d.ts.map +1 -0
  82. package/dist/mode/init.js +147 -0
  83. package/dist/mode/init.js.map +1 -0
  84. package/dist/mode/loadConfig.d.ts +34 -0
  85. package/dist/mode/loadConfig.d.ts.map +1 -0
  86. package/dist/mode/loadConfig.js +38 -0
  87. package/dist/mode/loadConfig.js.map +1 -0
  88. package/dist/mode/prompts/designer-baseline.md +47 -0
  89. package/dist/mode/resolve.d.ts +24 -0
  90. package/dist/mode/resolve.d.ts.map +1 -0
  91. package/dist/mode/resolve.js +65 -0
  92. package/dist/mode/resolve.js.map +1 -0
  93. package/dist/mode/scope-policy.d.ts +41 -0
  94. package/dist/mode/scope-policy.d.ts.map +1 -0
  95. package/dist/mode/scope-policy.js +97 -0
  96. package/dist/mode/scope-policy.js.map +1 -0
  97. package/dist/mode/status.d.ts +14 -0
  98. package/dist/mode/status.d.ts.map +1 -0
  99. package/dist/mode/status.js +13 -0
  100. package/dist/mode/status.js.map +1 -0
  101. package/dist/onboard/seeders/design-md.d.ts +3 -0
  102. package/dist/onboard/seeders/design-md.d.ts.map +1 -0
  103. package/dist/onboard/seeders/design-md.js +138 -0
  104. package/dist/onboard/seeders/design-md.js.map +1 -0
  105. package/dist/onboard/seeders/index.d.ts +8 -0
  106. package/dist/onboard/seeders/index.d.ts.map +1 -1
  107. package/dist/onboard/seeders/index.js +3 -0
  108. package/dist/onboard/seeders/index.js.map +1 -1
  109. package/dist/onboard/validate.d.ts +36 -1
  110. package/dist/onboard/validate.d.ts.map +1 -1
  111. package/dist/onboard/validate.js +136 -42
  112. package/dist/onboard/validate.js.map +1 -1
  113. package/dist/skills/config.d.ts +2 -110
  114. package/dist/skills/config.d.ts.map +1 -1
  115. package/dist/skills/config.js +20 -58
  116. package/dist/skills/config.js.map +1 -1
  117. package/dist/skills/index.d.ts +1 -1
  118. package/dist/skills/index.d.ts.map +1 -1
  119. package/dist/skills/index.js +1 -1
  120. package/dist/skills/index.js.map +1 -1
  121. package/dist/skills/install.d.ts.map +1 -1
  122. package/dist/skills/install.js +7 -0
  123. package/dist/skills/install.js.map +1 -1
  124. package/package.json +3 -3
  125. package/skills/designer-brief/SKILL.md.tmpl +74 -0
  126. package/skills/designer-brief/skill.json +17 -0
  127. package/skills/designer-build/SKILL.md.tmpl +63 -0
  128. package/skills/designer-build/skill.json +17 -0
  129. package/skills/designer-handoff/SKILL.md.tmpl +64 -0
  130. package/skills/designer-handoff/skill.json +17 -0
  131. package/skills/designer-ship/SKILL.md.tmpl +77 -0
  132. package/skills/designer-ship/skill.json +17 -0
  133. package/skills/objectives/SKILL.md.tmpl +34 -6
  134. package/skills/verify/producer/ui-visual-surfaces.ts +261 -0
  135. package/skills/verify/producer/ui-visual.config.ts +22 -0
  136. package/skills/verify/producer/ui-visual.producer.spec.ts +137 -0
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/skills/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/skills/install.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momentiq/dark-factory-cli",
3
- "version": "2.17.0",
3
+ "version": "3.0.0",
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",
@@ -98,8 +98,8 @@
98
98
  "@google/genai": "^2.2.0",
99
99
  "@iarna/toml": "2.2.5",
100
100
  "@modelcontextprotocol/sdk": "^1.29.0",
101
- "@momentiq/dark-factory-schemas": "0.13.1",
102
- "@openai/codex-sdk": "^0.130.0",
101
+ "@momentiq/dark-factory-schemas": "0.15.0",
102
+ "@openai/codex-sdk": ">=0.142.5 <1.0.0",
103
103
  "@yarnpkg/lockfile": "1.1.0",
104
104
  "ajv": "^8.20.0",
105
105
  "ajv-formats": "^3.0.1",
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: designer-brief
3
+ description: Use when a non-technical operator (designer, PM, or founder) in Designer Mode asks for a non-trivial UI change — capture their intent as a short brief (What, Why, Done-when, Out-of-bounds) at .darkfactory/briefs/ before building. Tiny, obvious single-shot asks skip the brief and go straight to /designer-build.
4
+ ---
5
+
6
+ # /designer-brief — capture intent before building
7
+
8
+ Designer Mode pairs a non-technical operator with an agent that owns every
9
+ technical decision. This skill is the **plan-time** step for {{REPO_NAME}}: it
10
+ turns a product ask into a one-glance brief the operator approves before you
11
+ write a line of code, so "done" has an agreed shape.
12
+
13
+ Everything below is **your** procedure. The operator never sees a brief
14
+ template, a file path, or this doctrine — they see one plain-language summary
15
+ and answer at most a question or two.
16
+
17
+ ## When to write a brief (and when to skip)
18
+
19
+ Write a brief when the ask is **non-trivial** — a new section, page, or flow, or
20
+ a change that spans several surfaces or has more than one "done" condition
21
+ ("add a testimonials section", "make onboarding feel calmer").
22
+
23
+ **Skip it** — the single-shot path — for tiny, unambiguous polish where the
24
+ change and its "done" are obvious in one look ("the pricing cards feel
25
+ cramped", "this heading is the wrong blue"). Go straight to `/designer-build`,
26
+ screenshot before/after, and confirm.
27
+
28
+ When unsure, prefer a brief — it is three sentences and a checklist, not a spec.
29
+
30
+ ## The brief
31
+
32
+ Write it to `.darkfactory/briefs/<date>-<slug>.md`, where `<date>` is today in
33
+ `YYYY-MM-DD` form and `<slug>` is a short kebab-case name for the ask
34
+ (`.darkfactory/briefs/2026-07-03-testimonials-section.md`). Four sections, all
35
+ in the operator's product language — no framework, file, or component names:
36
+
37
+ ```markdown
38
+ # <Title of the ask>
39
+
40
+ ## What
41
+ One sentence: the change, as the operator would describe it.
42
+
43
+ ## Why
44
+ The outcome they want — what a visitor or user feels or can now do.
45
+
46
+ ## Done-when
47
+ - [ ] An observable, checkable acceptance item in plain language.
48
+ - [ ] Another one. Each is something you can *show* on screen.
49
+ - [ ] …
50
+
51
+ ## Out-of-bounds
52
+ - What this deliberately does NOT touch (keeps scope honest and points at handoffs).
53
+ ```
54
+
55
+ The **Done-when checkboxes are the acceptance contract.** Write each as
56
+ something you can demonstrate with a screenshot or a visible behavior — they
57
+ become what `/designer-ship` verifies and what closeout proves. Vague items
58
+ ("looks nicer") are not acceptance items; make them observable ("the
59
+ testimonials read comfortably on a phone without pinching").
60
+
61
+ ## Filling gaps — ask product questions only
62
+
63
+ If the ask is underspecified, ask **only product or visual questions**, one at a
64
+ time, multiple-choice with 2–3 concrete options plus "you decide"
65
+ ("Should testimonials show a photo, or just a name and quote?"). Never ask about
66
+ frameworks, data, files, or state — decide those yourself from the repo's
67
+ existing conventions and `DESIGN.md`.
68
+
69
+ ## Approve in one glance
70
+
71
+ Show the operator the essence, not the file: *"Here's what I'll build — a
72
+ testimonials section with three quotes and photos, on the home page. It won't
73
+ touch sign-in or your data. Look right?"* On yes, hand off to `/designer-build`.
74
+ Keep the brief file updated if the ask shifts mid-build.
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "../skill-schema.json",
3
+ "name": "designer-brief",
4
+ "version": "1.0.0",
5
+ "summary": "Designer Mode: turn a non-technical operator's intent into a short brief (What/Why/Done-when/Out-of-bounds) at .darkfactory/briefs/ before building; tiny obvious asks skip straight to /designer-build.",
6
+ "originatingRepo": "momentiq-ai/dark-factory",
7
+ "files": [
8
+ { "template": "SKILL.md.tmpl", "target": "SKILL.md" }
9
+ ],
10
+ "variables": {
11
+ "REPO_NAME": {
12
+ "description": "Display name of the consumer repo (e.g. 'Taxpilot').",
13
+ "source": "darkfactory.yaml: repo.displayName",
14
+ "default": "this repo"
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: designer-build
3
+ description: Use when implementing a Designer Mode change within the mode's write scopes — reuse the repo's design system, run the dev server, and capture before/after screenshots each visual iteration until the operator says it looks right. Follows /designer-brief (or a tiny single-shot ask), precedes /designer-ship.
4
+ ---
5
+
6
+ # /designer-build — implement within scope, verify visually
7
+
8
+ This is the **build loop** of Designer Mode for {{REPO_NAME}}. You implement the
9
+ change, prove it visually, and iterate on the operator's product feedback —
10
+ never on code they have to read.
11
+
12
+ The operator sees screenshots and plain sentences. They never see diffs, file
13
+ trees, terminals, or component names.
14
+
15
+ ## Stay in scope
16
+
17
+ Work only inside the mode's `writeScopes`. The PreToolUse guard
18
+ (`df mode guard`) enforces the scopes and `protectedPaths` at the tool level —
19
+ if a call is denied, **do not retry or route around it.** A denial means the ask
20
+ needs an engineer: stop and use `/designer-handoff`. (`df mode status` confirms
21
+ the active mode and its editable areas.)
22
+
23
+ ## Reuse the design system — don't invent
24
+
25
+ `DESIGN.md` is the design source of truth (its tokens are injected into your
26
+ session context):
27
+
28
+ - Take every color, font size, and spacing value from `DESIGN.md` tokens. Do
29
+ not hand-pick hex values or one-off spacings.
30
+ - **Reuse existing components before creating anything new** — extend a
31
+ component, don't fork it. Match the patterns already in the codebase.
32
+ - Never remove accessibility affordances (focus rings, labels, alt text,
33
+ contrast). A change that would is out-of-bounds → `/designer-handoff`.
34
+
35
+ ## The visual loop (show, don't tell)
36
+
37
+ 1. **Baseline.** Start the dev server using the mode catalog's
38
+ `devServer.command` (e.g. `npm run dev`) at its configured URL. With the
39
+ Playwright MCP, screenshot the route(s) and state(s) you're about to change —
40
+ this is the **BEFORE**.
41
+ 2. **Change.** Implement one coherent step within scope.
42
+ 3. **AFTER.** Re-screenshot the same route(s) and state(s). Include the
43
+ responsive and empty/error states the Done-when items care about (e.g. a
44
+ phone width).
45
+ 4. **Show the operator** the before/after and describe the change in one
46
+ sentence: *"Here's the testimonials section — three quotes, easy to read on a
47
+ phone. Want the quotes bigger?"*
48
+ 5. **Iterate** on their product feedback ("make it warmer", "tighten the
49
+ spacing") — repeat steps 2–4 until they say it looks right. Keep each
50
+ iteration a small, screenshotted step.
51
+
52
+ Keep the final before/after screenshots — `/designer-ship` embeds them in the PR
53
+ so reviewers and the operator see the change, and the visual-evidence route
54
+ binds them to the shipped commit.
55
+
56
+ ## Translate, never dump
57
+
58
+ If something goes wrong (a build error, a failing check), say what it means in
59
+ one sentence and what you're doing about it — never paste the raw error. Decide
60
+ all implementation details yourself, following repo conventions; ask the
61
+ operator only product or visual questions, multiple-choice, one at a time.
62
+
63
+ When the operator says it looks right, hand off to `/designer-ship`.
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "../skill-schema.json",
3
+ "name": "designer-build",
4
+ "version": "1.0.0",
5
+ "summary": "Designer Mode: implement within the mode's write scopes, reuse the design system, and run a dev-server + Playwright before/after screenshot loop until the operator says it looks right.",
6
+ "originatingRepo": "momentiq-ai/dark-factory",
7
+ "files": [
8
+ { "template": "SKILL.md.tmpl", "target": "SKILL.md" }
9
+ ],
10
+ "variables": {
11
+ "REPO_NAME": {
12
+ "description": "Display name of the consumer repo (e.g. 'Taxpilot').",
13
+ "source": "darkfactory.yaml: repo.displayName",
14
+ "default": "this repo"
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: designer-handoff
3
+ description: Use when a Designer Mode ask needs an engineer — it is out-of-scope, touches a protected path, requires a dependency change, or a gate will not converge within the N=2 ceiling. Package a scrubbed, dual-register escalation with df handoff and tell the operator in one plain sentence, framed as progress.
4
+ ---
5
+
6
+ # /designer-handoff — escalate as progress, never as rejection
7
+
8
+ Some asks legitimately need an engineer. In Designer Mode for {{REPO_NAME}}, that
9
+ is a **first-class outcome**, not a failure — the product answer to a scope
10
+ boundary is a clean handoff that feels like momentum.
11
+
12
+ ## When to hand off
13
+
14
+ - A tool call was **denied by the mode guard** (outside `writeScopes`, or a
15
+ `protectedPaths` hit like auth, API, migrations, config, or CI). Do **not**
16
+ retry or work around a denial.
17
+ - The ask needs a **dependency change** under `dependencyPolicy: none`.
18
+ - A gate finding **won't converge within N=2** fix rounds, or the fix requires
19
+ work outside your scope.
20
+
21
+ ## Package the artifact with `df handoff`
22
+
23
+ `df handoff` is Issue-anchored: it reads the composed note on **stdin**, upserts
24
+ it as the dedicated handoff Issue's body, adds the `handoff` label, and leaves it
25
+ unassigned; it prints the Issue URL. Link the relevant PR or issue with
26
+ `--link`:
27
+
28
+ ```bash
29
+ df handoff --link pr:<PR#> <<'EOF'
30
+ <the composed, scrubbed note — see structure below>
31
+ EOF
32
+ ```
33
+
34
+ ## Dual-register: two audiences, one artifact
35
+
36
+ Write the note for the **engineer**, and speak a separate plain sentence to the
37
+ **operator**.
38
+
39
+ Engineer-facing note (structured, precise):
40
+
41
+ ```markdown
42
+ ## Intent
43
+ What the operator asked for, in their words.
44
+
45
+ ## Done so far
46
+ What is already built and where (branch or PR), and what is verified visually.
47
+
48
+ ## Blocked — why
49
+ The specific boundary: which scope, protected path, dependency, or gate — and
50
+ what an engineer needs to decide or do next.
51
+ ```
52
+
53
+ Operator-facing sentence (plain, framed as progress):
54
+
55
+ > *"That touches sign-in security, which needs an engineer's hands. I've written
56
+ > up exactly what you want and everything I built, and handed it to the team —
57
+ > here's the link. Want to keep going on something else meanwhile?"*
58
+
59
+ ## Scrub before you hand off
60
+
61
+ The note may be read outside the session — keep it clean. No secrets, no raw
62
+ diffs or stack traces, no internal jargon that leaks implementation the operator
63
+ never saw. State the intent and the blocker; link the PR for the code. Never
64
+ include anything you would not show the operator.
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "../skill-schema.json",
3
+ "name": "designer-handoff",
4
+ "version": "1.0.0",
5
+ "summary": "Designer Mode: package a scrubbed, dual-register df handoff artifact when an ask needs an engineer (out-of-scope, protected path, dependency change, or N=2 gate thrash), framed to the operator as progress.",
6
+ "originatingRepo": "momentiq-ai/dark-factory",
7
+ "files": [
8
+ { "template": "SKILL.md.tmpl", "target": "SKILL.md" }
9
+ ],
10
+ "variables": {
11
+ "REPO_NAME": {
12
+ "description": "Display name of the consumer repo (e.g. 'Taxpilot').",
13
+ "source": "darkfactory.yaml: repo.displayName",
14
+ "default": "this repo"
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: designer-ship
3
+ description: Use when a Designer Mode change is visually approved and ready to ship — confirm the brief's Done-when items, run gates, and open plus auto-merge a PR that carries the designer mode trailer and a Closes #N link with before/after screenshots embedded, relaying pipeline status to the operator in plain language.
4
+ ---
5
+
6
+ # /designer-ship — verify, ship, and relay in plain language
7
+
8
+ The change is visually approved. This skill takes it through the **unchanged**
9
+ production pipeline for {{REPO_NAME}} — branch, gates, PR, review, merge — and
10
+ narrates it to the operator as outcomes, never as plumbing.
11
+
12
+ The operator sees "it's in review" and "it's live". They never see git, a diff,
13
+ a PR number, or a critic finding.
14
+
15
+ ## 1. Confirm the acceptance contract
16
+
17
+ The brief's **Done-when checkboxes are the acceptance criteria.** Before
18
+ shipping, confirm each is satisfied and backed by the before/after screenshots
19
+ from `/designer-build` — a Done-when item with no visible proof is not done.
20
+
21
+ Make "done" proof-bound, not free text. Where the change has a
22
+ `.darkfactory/objectives.yaml`, verify it and read the closeout proof with
23
+ `df prove` (per-objective proven/pending/failed); see the `/objectives` skill
24
+ for authoring and binding mechanics. (Automated derivation of objectives
25
+ directly from a brief is a later Designer-Mode phase; today, treat the Done-when
26
+ list as the contract and verify each item visually.)
27
+
28
+ ## 2. Run the gates locally first
29
+
30
+ Run the repo's configured quality gates before pushing (build, tests, and
31
+ type-check as the repo defines them). `df gate-push` runs the local critic on
32
+ HEAD at push time and blocks on unresolved blockers — let it; never bypass a
33
+ gate or ask the operator to.
34
+
35
+ ## 3. Branch, commit, PR — with the mode trailers
36
+
37
+ Do the work on a branch (a worktree, per repo doctrine), then commit with the
38
+ Designer Mode trailers:
39
+
40
+ ```
41
+ Mode: designer
42
+ Closes #<N>
43
+ ```
44
+
45
+ The `Mode: designer` trailer tags the PR as designer-driven. Today, scope is
46
+ enforced live by the PreToolUse guard during the session, and the change still
47
+ faces the full multi-vendor critic quorum + merge queue like any other PR. The
48
+ deterministic mode-scope critic — which reads this trailer to validate the diff
49
+ against the catalog's writeScopes / protectedPaths / diffBudget and block an
50
+ out-of-scope diff at merge time, even from a jailbroken local session — lands in
51
+ a later Designer-Mode phase; the trailer is the label it will key on.
52
+ `Closes #<N>` links the tracking issue.
53
+
54
+ Open the PR and embed the **before/after screenshots** in the body so the change
55
+ is visible to reviewers and the operator:
56
+
57
+ ```bash
58
+ gh pr create --base main --title "<plain, conventional-commit title>" \
59
+ --body "<what changed, before/after screenshots, Closes #<N>>"
60
+ gh pr merge <PR#> --auto --squash
61
+ ```
62
+
63
+ Auto-merge carries the PR into the merge queue; the full critic quorum, required
64
+ checks, and review-thread resolution gate it. You do not admin-merge or bypass.
65
+
66
+ ## 4. Relay status in plain language
67
+
68
+ Translate pipeline state into outcomes for the operator. Check the PR's
69
+ automated checks (`gh pr checks`) and the merge-queue state, then say it plainly:
70
+
71
+ - In review: *"It's in review with our automated checks — a couple passed, one
72
+ still running. I'll tell you when it's live."*
73
+ - Merged: *"It's live."*
74
+ - A check found something: fix it within the N=2 iteration ceiling (re-verify
75
+ the visuals after each fix). If it won't converge, or the fix needs work
76
+ outside your scope, switch to `/designer-handoff` — never surface the raw
77
+ finding or critic jargon to the operator.
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "../skill-schema.json",
3
+ "name": "designer-ship",
4
+ "version": "1.0.0",
5
+ "summary": "Designer Mode: confirm the brief's Done-when items, run gates, and open + auto-merge a PR with the Mode: designer and Closes #N trailers and before/after screenshots, relaying pipeline status to the operator in plain language.",
6
+ "originatingRepo": "momentiq-ai/dark-factory",
7
+ "files": [
8
+ { "template": "SKILL.md.tmpl", "target": "SKILL.md" }
9
+ ],
10
+ "variables": {
11
+ "REPO_NAME": {
12
+ "description": "Display name of the consumer repo (e.g. 'Taxpilot').",
13
+ "source": "darkfactory.yaml: repo.displayName",
14
+ "default": "this repo"
15
+ }
16
+ }
17
+ }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: objectives
3
- description: Use at PLAN TIME for any PR that implements a cycle or issue's acceptance criteria — author the verifiable objectives contract before writing code. Run `df objectives derive --cycle <N> --apply` to generate .darkfactory/objectives.yaml from the linked cycle doc's Exit criteria, bind each objective's attestedBy to a real route or test, surface the manifest in your plan for agreement, then declare victory at closeout with `df prove` (not free-text "done").
3
+ description: Use at PLAN TIME for any PR that implements a cycle's (or designer brief's) acceptance criteria — author the verifiable objectives contract before writing code. Run `df objectives derive --cycle <N> --apply` (or `--brief <path>` for a designer brief's Done-when checkboxes) to generate .darkfactory/objectives.yaml from the linked source, bind each objective's attestedBy to a real route or test, surface the manifest in your plan for agreement, then declare victory at closeout with `df prove` (not free-text "done").
4
4
  ---
5
5
 
6
6
  # /objectives — plan-time verifiable objectives authoring
@@ -13,9 +13,9 @@ prove — and how to close the loop at PR completion.
13
13
  ## When this runs
14
14
 
15
15
  At **plan time** — before writing implementation code — for any PR that
16
- implements a cycle or issue's acceptance criteria. Objectives are the
17
- explicit, agreed contract of the work; they belong in the plan, not appended
18
- after the fact at PR close.
16
+ implements a cycle's acceptance criteria. Objectives are the explicit,
17
+ agreed contract of the work; they belong in the plan, not appended after
18
+ the fact at PR close.
19
19
 
20
20
  The full flow:
21
21
 
@@ -37,8 +37,36 @@ the linked cycle doc's `## Exit criteria` section. Each criterion becomes one
37
37
  df objectives derive --cycle <N> --apply
38
38
  ```
39
39
 
40
- The command reads `docs/roadmap/cycles/cycle<N>-*.md`, extracts every
41
- `- EC<k>: …` list item, and emits a manifest like:
40
+ The command reads `docs/roadmap/cycles/cycle<N>-*.md`. It recognizes each
41
+ item under the heading whose slug is `exit_criteria` and creates one objective
42
+ per item. The parser normalizes H2 titles (lowercase, non-alphanumerics → `_`),
43
+ so `## Exit criteria`, `## Exit Criteria`, and `## exit-criteria` all match;
44
+ only headings whose slug differs (e.g. `## Exit criteria for Cycle N`) are not
45
+ recognized. Accepted item forms:
46
+
47
+ - `- [x] EC1: …` (checkbox, checked or unchecked)
48
+ - `` - `EC1`: … `` (backtick id)
49
+ - `- EC1: …` (plain id)
50
+
51
+ Each criterion must be **one physical line**. Multi-line criteria are
52
+ rejected because only that single line is hashed into the source binding.
53
+
54
+ **Designer briefs (`--brief`):** for Designer Mode work, derive from a committed
55
+ design brief instead of a cycle doc — `--cycle` and `--brief` are mutually
56
+ exclusive sibling input sources:
57
+
58
+ ```bash
59
+ # One objective per `## Done-when` checkbox in .darkfactory/briefs/<slug>.md
60
+ df objectives derive --brief .darkfactory/briefs/<slug>.md --apply
61
+ ```
62
+
63
+ Each `- [ ]`/`- [x]` checkbox under `## Done-when` becomes one objective with id
64
+ `brief-<slug>#ac<k>` (`<slug>` from the brief filename), `source.kind: brief`, and
65
+ the same `text-hash` binding. The checkbox state is stripped before hashing, so
66
+ marking an item done never moves its hash. Bind / check / prove below are
67
+ identical to the cycle path.
68
+
69
+ The emitted manifest looks like:
42
70
 
43
71
  ```yaml
44
72
  schemaVersion: 1