@momentiq/dark-factory-cli 2.17.0 → 2.18.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 (48) 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/branch-protection/audit_branch_protection.py +80 -2
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +14 -0
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/mode.d.ts +2 -0
  10. package/dist/commands/mode.d.ts.map +1 -0
  11. package/dist/commands/mode.js +110 -0
  12. package/dist/commands/mode.js.map +1 -0
  13. package/dist/commands/onboard.d.ts.map +1 -1
  14. package/dist/commands/onboard.js +3 -1
  15. package/dist/commands/onboard.js.map +1 -1
  16. package/dist/doctor.d.ts.map +1 -1
  17. package/dist/doctor.js +10 -6
  18. package/dist/doctor.js.map +1 -1
  19. package/dist/mode/init.d.ts +17 -0
  20. package/dist/mode/init.d.ts.map +1 -0
  21. package/dist/mode/init.js +138 -0
  22. package/dist/mode/init.js.map +1 -0
  23. package/dist/mode/resolve.d.ts +24 -0
  24. package/dist/mode/resolve.d.ts.map +1 -0
  25. package/dist/mode/resolve.js +49 -0
  26. package/dist/mode/resolve.js.map +1 -0
  27. package/dist/mode/status.d.ts +14 -0
  28. package/dist/mode/status.d.ts.map +1 -0
  29. package/dist/mode/status.js +20 -0
  30. package/dist/mode/status.js.map +1 -0
  31. package/dist/onboard/seeders/design-md.d.ts +3 -0
  32. package/dist/onboard/seeders/design-md.d.ts.map +1 -0
  33. package/dist/onboard/seeders/design-md.js +138 -0
  34. package/dist/onboard/seeders/design-md.js.map +1 -0
  35. package/dist/onboard/seeders/index.d.ts +8 -0
  36. package/dist/onboard/seeders/index.d.ts.map +1 -1
  37. package/dist/onboard/seeders/index.js +3 -0
  38. package/dist/onboard/seeders/index.js.map +1 -1
  39. package/dist/onboard/validate.d.ts +17 -0
  40. package/dist/onboard/validate.d.ts.map +1 -1
  41. package/dist/onboard/validate.js +63 -42
  42. package/dist/onboard/validate.js.map +1 -1
  43. package/dist/skills/config.d.ts +3 -0
  44. package/dist/skills/config.d.ts.map +1 -1
  45. package/dist/skills/config.js +5 -0
  46. package/dist/skills/config.js.map +1 -1
  47. package/package.json +3 -3
  48. package/skills/objectives/SKILL.md.tmpl +19 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/onboard/seeders/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAiCnE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAkB,EAClB,OAA0B;IAE1B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,CAAC,CAAC,IAAI,YAAY,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACtF,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,uBAAuB;CACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/onboard/seeders/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAuChD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAkB,EAClB,OAA0B;IAE1B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,CAAC,CAAC,IAAI,YAAY,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACtF,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,uBAAuB;IACvB,cAAc;CACf,CAAC"}
@@ -16,4 +16,21 @@ export interface CheckAgentContextSetOptions {
16
16
  guidanceFiles: readonly string[] | undefined;
17
17
  }
18
18
  export declare function checkAgentContextSet(opts: CheckAgentContextSetOptions): Promise<DoctorCheck[]>;
19
+ export interface CheckDesignMdOptions {
20
+ repoRoot: string;
21
+ }
22
+ /**
23
+ * Cycle 27 Phase A — `agent_context.design_md`.
24
+ *
25
+ * DESIGN.md (Google Labs open spec) is the design-side sibling of AGENTS.md.
26
+ * Advisory for repos without a designer mode: a missing file PASSES with a
27
+ * recommendation. REQUIRED once `darkfactory.yaml` declares `modes.designer`:
28
+ * the Designer Mode persona and design-lens critics bind to this file, so its
29
+ * absence is a real gap and FAILS with remediation.
30
+ *
31
+ * Config read is deliberately tolerant (raw YAML key probe, not the strict
32
+ * canonical parser): a malformed darkfactory.yaml must surface through its
33
+ * own checks, not turn this one into a crash.
34
+ */
35
+ export declare function checkDesignMd(opts: CheckDesignMdOptions): Promise<DoctorCheck>;
19
36
  //# sourceMappingURL=validate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/onboard/validate.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAC9C;AA2DD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,WAAW,EAAE,CAAC,CA+DxB"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/onboard/validate.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAC9C;AAmCD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,WAAW,EAAE,CAAC,CA6DxB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,WAAW,CAAC,CAkCtB"}
@@ -1,51 +1,37 @@
1
1
  // Cycle 15 Phase C — `checkAgentContextSet()` for `df doctor`.
2
2
  //
3
- // Walks the cycle-15 D3 required-files set (CLAUDE.md, AGENTS.md,
4
- // .claude/settings.json, docs/PRINCIPLES.md, docs/roadmap/cycles/cycle1-*.md,
5
- // .agent-review/config.json) UNCONDITIONALLY, then optionally validates each
6
- // path in `context.guidanceFiles` (from the loaded AgentReviewConfig) resolves
7
- // to a real file under `repoRoot`.
3
+ // Walks the universal Dark-Factory required-files floor (CLAUDE.md, AGENTS.md,
4
+ // .claude/settings.json, .agent-review/config.json) UNCONDITIONALLY, then
5
+ // optionally validates each path in `context.guidanceFiles` (from the loaded
6
+ // AgentReviewConfig) resolves to a real file under `repoRoot`.
8
7
  //
9
8
  // Per Decision #7 (round-1 revision): the required-files walk runs regardless
10
- // of whether `context.guidanceFiles` is configured — the D3 set is the floor.
11
- // The guidance-file walk is opt-in: when `guidanceFiles` is undefined OR `[]`,
12
- // a single `agent_context.guidance_not_configured` informational marker is
13
- // emitted (passed: true, optional: true) so operators see the field was
14
- // skipped rather than silently absent.
9
+ // of whether `context.guidanceFiles` is configured — the universal floor is
10
+ // not opt-in. The guidance-file walk is opt-in: when `guidanceFiles` is
11
+ // undefined OR `[]`, a single `agent_context.guidance_not_configured`
12
+ // informational marker is emitted (passed: true, optional: true) so operators
13
+ // see the field was skipped rather than silently absent.
15
14
  //
16
15
  // Cycle 15 exit-criterion lines 297–303: "the post-apply check fails loudly
17
- // when any of [list] are missing or unwired (`context.guidanceFiles` does not
18
- // point at real files). All current repos must pass `df doctor` after this
19
- // lands."
20
- import { access, readdir } from "node:fs/promises";
16
+ // when any of [the universal floor] are missing or unwired (`context.guidanceFiles`
17
+ // does not point at real files). All current repos must pass `df doctor` after
18
+ // this lands."
19
+ import { access, readFile } from "node:fs/promises";
21
20
  import { constants } from "node:fs";
22
21
  import { resolve } from "node:path";
22
+ import { parse as parseYaml } from "yaml";
23
23
  const REQUIRED_FILES = [
24
- { key: "claude_md", name: "CLAUDE.md", path: "CLAUDE.md", isGlob: false },
25
- { key: "agents_md", name: "AGENTS.md", path: "AGENTS.md", isGlob: false },
24
+ { key: "claude_md", name: "CLAUDE.md", path: "CLAUDE.md" },
25
+ { key: "agents_md", name: "AGENTS.md", path: "AGENTS.md" },
26
26
  {
27
27
  key: "claude_settings",
28
28
  name: ".claude/settings.json",
29
29
  path: ".claude/settings.json",
30
- isGlob: false,
31
- },
32
- {
33
- key: "principles",
34
- name: "docs/PRINCIPLES.md",
35
- path: "docs/PRINCIPLES.md",
36
- isGlob: false,
37
- },
38
- {
39
- key: "cycle1_bootstrap",
40
- name: "docs/roadmap/cycles/cycle1-*.md",
41
- path: "docs/roadmap/cycles",
42
- isGlob: true,
43
30
  },
44
31
  {
45
32
  key: "config",
46
33
  name: ".agent-review/config.json",
47
34
  path: ".agent-review/config.json",
48
- isGlob: false,
49
35
  },
50
36
  ];
51
37
  async function fileExists(path) {
@@ -57,15 +43,6 @@ async function fileExists(path) {
57
43
  return false;
58
44
  }
59
45
  }
60
- async function cycle1GlobMatches(dir) {
61
- try {
62
- const entries = await readdir(dir);
63
- return entries.some((name) => /^cycle1-.*\.md$/.test(name));
64
- }
65
- catch {
66
- return false;
67
- }
68
- }
69
46
  const REMEDIATION = "run `df onboard --apply` to generate the missing agent-context files, or restore the file from version control";
70
47
  export async function checkAgentContextSet(opts) {
71
48
  const out = [];
@@ -76,9 +53,7 @@ export async function checkAgentContextSet(opts) {
76
53
  // fail when CLAUDE.md is missing.
77
54
  for (const req of REQUIRED_FILES) {
78
55
  const fullPath = resolve(opts.repoRoot, req.path);
79
- const exists = req.isGlob
80
- ? await cycle1GlobMatches(fullPath)
81
- : await fileExists(fullPath);
56
+ const exists = await fileExists(fullPath);
82
57
  out.push(exists
83
58
  ? {
84
59
  name: `agent_context.${req.key}`,
@@ -124,4 +99,50 @@ export async function checkAgentContextSet(opts) {
124
99
  }
125
100
  return out;
126
101
  }
102
+ /**
103
+ * Cycle 27 Phase A — `agent_context.design_md`.
104
+ *
105
+ * DESIGN.md (Google Labs open spec) is the design-side sibling of AGENTS.md.
106
+ * Advisory for repos without a designer mode: a missing file PASSES with a
107
+ * recommendation. REQUIRED once `darkfactory.yaml` declares `modes.designer`:
108
+ * the Designer Mode persona and design-lens critics bind to this file, so its
109
+ * absence is a real gap and FAILS with remediation.
110
+ *
111
+ * Config read is deliberately tolerant (raw YAML key probe, not the strict
112
+ * canonical parser): a malformed darkfactory.yaml must surface through its
113
+ * own checks, not turn this one into a crash.
114
+ */
115
+ export async function checkDesignMd(opts) {
116
+ const designPath = resolve(opts.repoRoot, "DESIGN.md");
117
+ const exists = await fileExists(designPath);
118
+ if (exists) {
119
+ return {
120
+ name: "agent_context.design_md",
121
+ passed: true,
122
+ detail: `DESIGN.md present at ${designPath}`,
123
+ };
124
+ }
125
+ let designerConfigured = false;
126
+ try {
127
+ const raw = await readFile(resolve(opts.repoRoot, "darkfactory.yaml"), "utf8");
128
+ const parsed = parseYaml(raw);
129
+ designerConfigured = parsed?.modes?.["designer"] !== undefined;
130
+ }
131
+ catch {
132
+ // Missing or unreadable darkfactory.yaml → no designer mode configured.
133
+ }
134
+ if (designerConfigured) {
135
+ return {
136
+ name: "agent_context.design_md",
137
+ passed: false,
138
+ detail: `DESIGN.md missing at ${designPath} — required: darkfactory.yaml declares modes.designer, whose persona and design-lens critics bind to it`,
139
+ remediation: "run `df onboard --apply` to seed a DESIGN.md skeleton (Google Labs spec), or author one at the repo root",
140
+ };
141
+ }
142
+ return {
143
+ name: "agent_context.design_md",
144
+ passed: true,
145
+ detail: `DESIGN.md not present at ${designPath} (advisory — recommended agent-context file; becomes required once a designer mode is configured)`,
146
+ };
147
+ }
127
148
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/onboard/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/onboard/validate.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ export declare const DarkFactoryConfigSchema: z.ZodObject<{
57
57
  }, {
58
58
  enabled?: boolean | undefined;
59
59
  }>>>;
60
+ modes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
60
61
  }, "strict", z.ZodTypeAny, {
61
62
  repo?: {
62
63
  displayName?: string | undefined;
@@ -82,6 +83,7 @@ export declare const DarkFactoryConfigSchema: z.ZodObject<{
82
83
  skills?: Record<string, {
83
84
  enabled?: boolean | undefined;
84
85
  }> | undefined;
86
+ modes?: Record<string, unknown> | undefined;
85
87
  }, {
86
88
  repo?: {
87
89
  displayName?: string | undefined;
@@ -107,6 +109,7 @@ export declare const DarkFactoryConfigSchema: z.ZodObject<{
107
109
  skills?: Record<string, {
108
110
  enabled?: boolean | undefined;
109
111
  }> | undefined;
112
+ modes?: Record<string, unknown> | undefined;
110
113
  }>;
111
114
  export type DarkFactoryConfig = z.infer<typeof DarkFactoryConfigSchema>;
112
115
  export interface LoadedDarkFactoryConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/skills/config.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAmClD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GACf,uBAAuB,CA+BzB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWxE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAavE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CA0DnC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAKrE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/skills/config.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAmClD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GACf,uBAAuB,CA+BzB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWxE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAavE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CA0DnC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAKrE"}
@@ -85,6 +85,11 @@ export const DarkFactoryConfigSchema = z
85
85
  worktreeRoot: z.string().optional(),
86
86
  agentCommitterOrg: z.string().optional(),
87
87
  skills: z.record(skillEntrySchema).optional(),
88
+ // Cycle 27 — `modes` operator catalog. Tolerated here; the canonical deep
89
+ // validation lives in @momentiq/dark-factory-schemas `parseDarkFactoryConfig`
90
+ // (mode consumers parse through that), so the skills loader must not
91
+ // fail closed on a valid consumer config that declares modes.
92
+ modes: z.record(z.unknown()).optional(),
88
93
  })
89
94
  .strict();
90
95
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/skills/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/skills/config.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": "2.18.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.14.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",
@@ -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 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").
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,21 @@ 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
+ The emitted manifest looks like:
42
55
 
43
56
  ```yaml
44
57
  schemaVersion: 1