cohorte 3.0.0-dev.6 → 3.0.0-dev.7

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 (94) hide show
  1. package/assets/manifest.json +14 -4
  2. package/assets/prompts/agents/brainstormer.md +3 -0
  3. package/assets/prompts/agents/spec-author.md +3 -0
  4. package/assets/schemas/commands.schema.json +7 -0
  5. package/dist/bundle-manifest.json +72 -50
  6. package/dist/chunks/align-ds-r_X_1aQ_.mjs +93 -0
  7. package/dist/chunks/align-ds-r_X_1aQ_.mjs.map +1 -0
  8. package/dist/chunks/audit-B4ZWQ_DI.mjs +179 -0
  9. package/dist/chunks/audit-B4ZWQ_DI.mjs.map +1 -0
  10. package/dist/chunks/brainstorm-DasVwI1D.mjs +123 -0
  11. package/dist/chunks/brainstorm-DasVwI1D.mjs.map +1 -0
  12. package/dist/chunks/build-crOld8gE.mjs +19 -0
  13. package/dist/chunks/build-crOld8gE.mjs.map +1 -0
  14. package/dist/chunks/{catalogue-DzsslCSN.mjs → catalogue-IaCJdfB8.mjs} +4 -4
  15. package/dist/chunks/{catalogue-DzsslCSN.mjs.map → catalogue-IaCJdfB8.mjs.map} +1 -1
  16. package/dist/chunks/{compose-ckM7eAJ_.mjs → compose-DRKjQcn0.mjs} +42 -23
  17. package/dist/chunks/compose-DRKjQcn0.mjs.map +1 -0
  18. package/dist/chunks/{config-DcGPL3i7.mjs → config-Cqu5XQoP.mjs} +2 -2
  19. package/dist/chunks/{config-DcGPL3i7.mjs.map → config-Cqu5XQoP.mjs.map} +1 -1
  20. package/dist/chunks/{contract-DiWla5G9.mjs → contract-DjssDPpS.mjs} +45 -25
  21. package/dist/chunks/contract-DjssDPpS.mjs.map +1 -0
  22. package/dist/chunks/{diff-D_0hBwHl.mjs → diff-Qw0II0sj.mjs} +2 -2
  23. package/dist/chunks/{diff-D_0hBwHl.mjs.map → diff-Qw0II0sj.mjs.map} +1 -1
  24. package/dist/chunks/{discover-BBiluyl4.mjs → discover-BZPolSZG.mjs} +2 -2
  25. package/dist/chunks/{discover-BBiluyl4.mjs.map → discover-BZPolSZG.mjs.map} +1 -1
  26. package/dist/chunks/{doctor-BAcemCDr.mjs → doctor-DcDFPvQM.mjs} +6 -6
  27. package/dist/chunks/{doctor-BAcemCDr.mjs.map → doctor-DcDFPvQM.mjs.map} +1 -1
  28. package/dist/chunks/fix-B_oGzGVn.mjs +82 -0
  29. package/dist/chunks/fix-B_oGzGVn.mjs.map +1 -0
  30. package/dist/chunks/fleet-yWHQY2ya.mjs +297 -0
  31. package/dist/chunks/fleet-yWHQY2ya.mjs.map +1 -0
  32. package/dist/chunks/{init-DfOKw-rD.mjs → init--FxxkrcT.mjs} +2 -2
  33. package/dist/chunks/{init-DfOKw-rD.mjs.map → init--FxxkrcT.mjs.map} +1 -1
  34. package/dist/chunks/intake-Dd1KVXnO.mjs +12 -0
  35. package/dist/chunks/intake-Dd1KVXnO.mjs.map +1 -0
  36. package/dist/chunks/loop-BWsUpyus.mjs +212 -0
  37. package/dist/chunks/loop-BWsUpyus.mjs.map +1 -0
  38. package/dist/chunks/{migrate-D3-4beNR.mjs → migrate-DuYCAbE3.mjs} +2 -2
  39. package/dist/chunks/{migrate-D3-4beNR.mjs.map → migrate-DuYCAbE3.mjs.map} +1 -1
  40. package/dist/chunks/{obsidian-D1jf1sTR.mjs → obsidian-BHLkXx_H.mjs} +50 -6
  41. package/dist/chunks/obsidian-BHLkXx_H.mjs.map +1 -0
  42. package/dist/chunks/patch-sAgVqjpx.mjs +50 -0
  43. package/dist/chunks/patch-sAgVqjpx.mjs.map +1 -0
  44. package/dist/chunks/{policy-Y65MYKzn.mjs → policy-Du7WVBFX.mjs} +4 -4
  45. package/dist/chunks/{policy-Y65MYKzn.mjs.map → policy-Du7WVBFX.mjs.map} +1 -1
  46. package/dist/chunks/{reconcile-B6mGZWtp.mjs → reconcile-BHn66X3C.mjs} +3 -3
  47. package/dist/chunks/{reconcile-B6mGZWtp.mjs.map → reconcile-BHn66X3C.mjs.map} +1 -1
  48. package/dist/chunks/refactor-CoNoqLZr.mjs +153 -0
  49. package/dist/chunks/refactor-CoNoqLZr.mjs.map +1 -0
  50. package/dist/chunks/retro-Dr-2RTNN.mjs +78 -0
  51. package/dist/chunks/retro-Dr-2RTNN.mjs.map +1 -0
  52. package/dist/chunks/review-ZsBqp3vZ.mjs +35 -0
  53. package/dist/chunks/review-ZsBqp3vZ.mjs.map +1 -0
  54. package/dist/chunks/{run-BInPXOcm.mjs → run-NGAxdsIX.mjs} +28 -5
  55. package/dist/chunks/run-NGAxdsIX.mjs.map +1 -0
  56. package/dist/chunks/{schema-hSyIURjN.mjs → schema-Bq9qtgsd.mjs} +2 -2
  57. package/dist/chunks/{schema-hSyIURjN.mjs.map → schema-Bq9qtgsd.mjs.map} +1 -1
  58. package/dist/chunks/ship-BizfUe62.mjs +140 -0
  59. package/dist/chunks/ship-BizfUe62.mjs.map +1 -0
  60. package/dist/chunks/spec-C2h3U64g.mjs +65 -0
  61. package/dist/chunks/spec-C2h3U64g.mjs.map +1 -0
  62. package/dist/chunks/spec-path-tptqR7W8.mjs +10 -0
  63. package/dist/chunks/spec-path-tptqR7W8.mjs.map +1 -0
  64. package/dist/chunks/{src-C7hs8Bjw.mjs → src-Bfr1yzsn.mjs} +3 -3
  65. package/dist/chunks/{src-C7hs8Bjw.mjs.map → src-Bfr1yzsn.mjs.map} +1 -1
  66. package/dist/chunks/{src-Daa5lIcP.mjs → src-CPW2_Ons.mjs} +101 -17
  67. package/dist/chunks/src-CPW2_Ons.mjs.map +1 -0
  68. package/dist/chunks/{src-DMrQ5m6I.mjs → src-DNsLSxgm.mjs} +2 -2
  69. package/dist/chunks/{src-DMrQ5m6I.mjs.map → src-DNsLSxgm.mjs.map} +1 -1
  70. package/dist/chunks/{src-BnlNkd3S.mjs → src-DbS9gkJy.mjs} +2 -2
  71. package/dist/chunks/{src-BnlNkd3S.mjs.map → src-DbS9gkJy.mjs.map} +1 -1
  72. package/dist/chunks/{src-s7YRvk0t.mjs → src-yi5whv3n.mjs} +4 -2
  73. package/dist/chunks/src-yi5whv3n.mjs.map +1 -0
  74. package/dist/chunks/update-pipeline-Du-Gu1Pl.mjs +56 -0
  75. package/dist/chunks/update-pipeline-Du-Gu1Pl.mjs.map +1 -0
  76. package/dist/cli.mjs +29 -19
  77. package/dist/cli.mjs.map +1 -1
  78. package/package.json +1 -1
  79. package/dist/chunks/brainstorm-kBUiZLce.mjs +0 -7
  80. package/dist/chunks/brainstorm-kBUiZLce.mjs.map +0 -1
  81. package/dist/chunks/compose-ckM7eAJ_.mjs.map +0 -1
  82. package/dist/chunks/contract-DiWla5G9.mjs.map +0 -1
  83. package/dist/chunks/fix-D4Tj8RVA.mjs +0 -18
  84. package/dist/chunks/fix-D4Tj8RVA.mjs.map +0 -1
  85. package/dist/chunks/obsidian-D1jf1sTR.mjs.map +0 -1
  86. package/dist/chunks/review-BDdjb6kB.mjs +0 -17
  87. package/dist/chunks/review-BDdjb6kB.mjs.map +0 -1
  88. package/dist/chunks/run-BInPXOcm.mjs.map +0 -1
  89. package/dist/chunks/ship-DTuLGoaJ.mjs +0 -19
  90. package/dist/chunks/ship-DTuLGoaJ.mjs.map +0 -1
  91. package/dist/chunks/spec-MVP9y8dN.mjs +0 -20
  92. package/dist/chunks/spec-MVP9y8dN.mjs.map +0 -1
  93. package/dist/chunks/src-Daa5lIcP.mjs.map +0 -1
  94. package/dist/chunks/src-s7YRvk0t.mjs.map +0 -1
@@ -0,0 +1,123 @@
1
+ import { n as moveConfiguredCard, t as configuredIdeas } from "./obsidian-BHLkXx_H.mjs";
2
+ import { N as errorOf, j as CohorteError } from "./src-Cu3TxNob.mjs";
3
+ import { t as run } from "./run-NGAxdsIX.mjs";
4
+ import { access, mkdir, writeFile } from "node:fs/promises";
5
+ import { dirname, join, resolve } from "node:path";
6
+ import { stringify } from "yaml";
7
+ //#region src/commands/brainstorm/index.ts
8
+ function slugify(value) {
9
+ return value.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 64) || "feature";
10
+ }
11
+ function optionValue(args, flag) {
12
+ const index = args.indexOf(flag);
13
+ return index === -1 ? void 0 : args[index + 1];
14
+ }
15
+ function firstInput(args) {
16
+ const valueFlags = /* @__PURE__ */ new Set([
17
+ "--id",
18
+ "--output",
19
+ "--ticket"
20
+ ]);
21
+ for (let index = 0; index < args.length; index++) {
22
+ const value = args[index];
23
+ if (!value?.startsWith("--")) return value;
24
+ if (valueFlags.has(value)) index++;
25
+ }
26
+ }
27
+ const brainstorm = {
28
+ verb: "brainstorm",
29
+ async run(ctx, args) {
30
+ let input = firstInput(args.positionals);
31
+ let sourceId;
32
+ if (!input) {
33
+ const ideas = await configuredIdeas(ctx.env.HOME ?? ctx.cwd);
34
+ const ticket = optionValue(args.positionals, "--ticket");
35
+ const selected = ticket ? ideas.find((card) => card.id === ticket) : ideas.length === 1 ? ideas[0] : void 0;
36
+ if (!selected) {
37
+ if (!ideas.length) return 2;
38
+ ctx.stdio.stdout.write(`${ideas.map((card) => `${card.id}\t${card.title}`).join("\n")}\n`);
39
+ return 2;
40
+ }
41
+ input = selected.title;
42
+ sourceId = selected.id;
43
+ }
44
+ const id = slugify(optionValue(args.positionals, "--id") ?? sourceId ?? input);
45
+ const output = resolve(ctx.cwd, optionValue(args.positionals, "--output") ?? join(".cohorte", "specs", `${id}.yaml`));
46
+ const spec = {
47
+ id,
48
+ kind: "feature",
49
+ status: "draft",
50
+ title: input,
51
+ acceptance: [`Define the observable outcome for: ${input}`],
52
+ surfaces: {},
53
+ openQuestions: [
54
+ "What user or operator problem does this solve?",
55
+ "Which project surfaces are affected?",
56
+ "What must be true for this feature to be accepted?"
57
+ ]
58
+ };
59
+ try {
60
+ await access(output);
61
+ throw new CohorteError(errorOf("conflict/unexpected", `refusing to overwrite existing spec ${output}`));
62
+ } catch (error) {
63
+ if (error.code !== "ENOENT") throw error;
64
+ }
65
+ await mkdir(dirname(output), { recursive: true });
66
+ await writeFile(output, stringify(spec), "utf8");
67
+ const reportPath = join(ctx.cwd, "specs", "reports", `${id}-brainstorm.md`);
68
+ await mkdir(dirname(reportPath), { recursive: true });
69
+ await writeFile(reportPath, [
70
+ `# Brainstorm — ${input}`,
71
+ "",
72
+ `- id: ${id}`,
73
+ `- generated: ${ctx.clock.now()}`,
74
+ `- source: ${sourceId ?? "cli"}`,
75
+ "",
76
+ "## Problem",
77
+ "",
78
+ input,
79
+ "",
80
+ "## Perspectives",
81
+ "",
82
+ "- Product: clarify the measurable user outcome.",
83
+ "- UX: identify the primary flow and failure states.",
84
+ "- Architecture: identify affected surfaces and boundaries.",
85
+ "- Delivery: define acceptance evidence and rollout constraints.",
86
+ "",
87
+ "## Open questions",
88
+ "",
89
+ ...spec.openQuestions.map((question) => `- [ ] ${question}`),
90
+ "",
91
+ "## Handoff",
92
+ "",
93
+ `Run \`cohorte spec validate ${id}\` then \`cohorte spec freeze ${id}\` after answering the questions.`,
94
+ ""
95
+ ].join("\n"), "utf8");
96
+ if (sourceId) await moveConfiguredCard(ctx.env.HOME ?? ctx.cwd, sourceId, "brainstorm", input);
97
+ const result = {
98
+ id,
99
+ status: spec.status,
100
+ path: output,
101
+ reportPath,
102
+ next: `cohorte spec validate ${id}`
103
+ };
104
+ ctx.stdio.stdout.write(`${args.json ? JSON.stringify(result) : `created ${output}\nnext: ${result.next}`}\n`);
105
+ if (args.positionals.includes("--run")) return run.run(ctx, {
106
+ ...args,
107
+ positionals: [
108
+ id,
109
+ output,
110
+ "--phases",
111
+ "BRAINSTORM,SPEC,PREFLIGHT,BUILD,TEST,REVIEW,FIX,TEST,REVIEW,SHIP",
112
+ "--with-fix",
113
+ "--runtime",
114
+ optionValue(args.positionals, "--runtime") ?? "pi"
115
+ ]
116
+ });
117
+ return 0;
118
+ }
119
+ };
120
+ //#endregion
121
+ export { brainstorm as default };
122
+
123
+ //# sourceMappingURL=brainstorm-DasVwI1D.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brainstorm-DasVwI1D.mjs","names":[],"sources":["../../../../apps/cli/src/commands/brainstorm/index.ts"],"sourcesContent":["import { access, mkdir, writeFile } from 'node:fs/promises';\nimport { dirname, join, resolve } from 'node:path';\nimport { CohorteError, errorOf } from '@cohorte/base';\nimport { stringify } from 'yaml';\nimport type { CommandModule } from '../../contract/index.ts';\nimport { configuredIdeas, moveConfiguredCard } from '../obsidian/index.ts';\nimport run from '../run/index.ts';\n\nfunction slugify(value: string): string {\n const slug = value\n .normalize('NFKD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n .slice(0, 64);\n return slug || 'feature';\n}\n\nfunction optionValue(args: readonly string[], flag: string): string | undefined {\n const index = args.indexOf(flag);\n return index === -1 ? undefined : args[index + 1];\n}\n\nfunction firstInput(args: readonly string[]): string | undefined {\n const valueFlags = new Set(['--id', '--output', '--ticket']);\n for (let index = 0; index < args.length; index++) {\n const value = args[index];\n if (!value?.startsWith('--')) return value;\n if (valueFlags.has(value)) index++;\n }\n return undefined;\n}\n\nconst brainstorm: CommandModule = {\n verb: 'brainstorm',\n async run(ctx, args) {\n let input = firstInput(args.positionals);\n let sourceId: string | undefined;\n if (!input) {\n const ideas = await configuredIdeas(ctx.env.HOME ?? ctx.cwd);\n const ticket = optionValue(args.positionals, '--ticket');\n const selected = ticket ? ideas.find((card) => card.id === ticket) : ideas.length === 1 ? ideas[0] : undefined;\n if (!selected) {\n if (!ideas.length) return 2;\n ctx.stdio.stdout.write(`${ideas.map((card) => `${card.id}\\t${card.title}`).join('\\n')}\\n`);\n return 2;\n }\n input = selected.title;\n sourceId = selected.id;\n }\n\n const id = slugify(optionValue(args.positionals, '--id') ?? sourceId ?? input);\n const output = resolve(\n ctx.cwd,\n optionValue(args.positionals, '--output') ?? join('.cohorte', 'specs', `${id}.yaml`),\n );\n const spec = {\n id,\n kind: 'feature' as const,\n status: 'draft' as const,\n title: input,\n acceptance: [`Define the observable outcome for: ${input}`],\n surfaces: {},\n openQuestions: [\n 'What user or operator problem does this solve?',\n 'Which project surfaces are affected?',\n 'What must be true for this feature to be accepted?',\n ],\n };\n\n try {\n await access(output);\n throw new CohorteError(errorOf('conflict/unexpected', `refusing to overwrite existing spec ${output}`));\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code !== 'ENOENT') throw error;\n }\n\n await mkdir(dirname(output), { recursive: true });\n await writeFile(output, stringify(spec), 'utf8');\n const reportPath = join(ctx.cwd, 'specs', 'reports', `${id}-brainstorm.md`);\n await mkdir(dirname(reportPath), { recursive: true });\n await writeFile(\n reportPath,\n [\n `# Brainstorm — ${input}`,\n '',\n `- id: ${id}`,\n `- generated: ${ctx.clock.now()}`,\n `- source: ${sourceId ?? 'cli'}`,\n '',\n '## Problem',\n '',\n input,\n '',\n '## Perspectives',\n '',\n '- Product: clarify the measurable user outcome.',\n '- UX: identify the primary flow and failure states.',\n '- Architecture: identify affected surfaces and boundaries.',\n '- Delivery: define acceptance evidence and rollout constraints.',\n '',\n '## Open questions',\n '',\n ...spec.openQuestions.map((question) => `- [ ] ${question}`),\n '',\n '## Handoff',\n '',\n `Run \\`cohorte spec validate ${id}\\` then \\`cohorte spec freeze ${id}\\` after answering the questions.`,\n '',\n ].join('\\n'),\n 'utf8',\n );\n if (sourceId) await moveConfiguredCard(ctx.env.HOME ?? ctx.cwd, sourceId, 'brainstorm', input);\n const result = { id, status: spec.status, path: output, reportPath, next: `cohorte spec validate ${id}` };\n ctx.stdio.stdout.write(`${args.json ? JSON.stringify(result) : `created ${output}\\nnext: ${result.next}`}\\n`);\n if (args.positionals.includes('--run')) {\n return run.run(ctx, {\n ...args,\n positionals: [\n id,\n output,\n '--phases',\n 'BRAINSTORM,SPEC,PREFLIGHT,BUILD,TEST,REVIEW,FIX,TEST,REVIEW,SHIP',\n '--with-fix',\n '--runtime',\n optionValue(args.positionals, '--runtime') ?? 'pi',\n ],\n });\n }\n return 0;\n },\n};\n\nexport default brainstorm;\n"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { t as run } from "./run-NGAxdsIX.mjs";
2
+ //#region src/commands/build/index.ts
3
+ const build = {
4
+ verb: "build",
5
+ async run(ctx, args) {
6
+ return run.run(ctx, {
7
+ ...args,
8
+ positionals: [
9
+ ...args.positionals,
10
+ "--phases",
11
+ "PREFLIGHT,BUILD,TEST"
12
+ ]
13
+ });
14
+ }
15
+ };
16
+ //#endregion
17
+ export { build as default };
18
+
19
+ //# sourceMappingURL=build-crOld8gE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-crOld8gE.mjs","names":[],"sources":["../../../../apps/cli/src/commands/build/index.ts"],"sourcesContent":["import type { CommandModule } from '../../contract/index.ts';\nimport run from '../run/index.ts';\n\nconst build: CommandModule = {\n verb: 'build',\n async run(ctx, args) {\n return run.run(ctx, { ...args, positionals: [...args.positionals, '--phases', 'PREFLIGHT,BUILD,TEST'] });\n },\n};\n\nexport default build;\n"],"mappings":";;AAGA,MAAM,QAAuB;CAC3B,MAAM;CACN,MAAM,IAAI,KAAK,MAAM;EACnB,OAAO,IAAI,IAAI,KAAK;GAAE,GAAG;GAAM,aAAa;IAAC,GAAG,KAAK;IAAa;IAAY;GAAsB;EAAE,CAAC;CACzG;AACF"}
@@ -1,8 +1,8 @@
1
1
  import { n as sha256Hex, t as canonicalJson } from "./canonical-C8UxeEmB.mjs";
2
2
  import { M as NotImplemented, o as err, s as ok } from "./src-Cu3TxNob.mjs";
3
- import { c as AgentOutput, g as ClosedEnum, o as toStrictSchema } from "./src-s7YRvk0t.mjs";
4
- import { l as DEFAULT_NETWORK_POLICY } from "./schema-hSyIURjN.mjs";
5
- import { c as toolGrantProblems, f as AGENT_GIT_DENIED_SUBCOMMANDS, h as isTrampoline, m as PROTECTED_REPO_GLOBS, s as ToolGrant } from "./src-C7hs8Bjw.mjs";
3
+ import { _ as ClosedEnum, c as AgentOutput, o as toStrictSchema } from "./src-yi5whv3n.mjs";
4
+ import { l as DEFAULT_NETWORK_POLICY } from "./schema-Bq9qtgsd.mjs";
5
+ import { c as toolGrantProblems, f as AGENT_GIT_DENIED_SUBCOMMANDS, h as isTrampoline, m as PROTECTED_REPO_GLOBS, s as ToolGrant } from "./src-Bfr1yzsn.mjs";
6
6
  import { createHash } from "node:crypto";
7
7
  import { Type } from "typebox";
8
8
  import { Compile } from "typebox/compile";
@@ -1546,4 +1546,4 @@ const TOOL_CATALOGUE = Object.freeze({
1546
1546
  //#endregion
1547
1547
  export { buildPolicySnapshot as a, createCommandPolicy as c, createGlobMatcher as i, createProgramResolver as l, toolIntrospection as n, createPolicyEngine as o, createPathResolver as r, explainPolicy as s, TOOL_CATALOGUE as t };
1548
1548
 
1549
- //# sourceMappingURL=catalogue-DzsslCSN.mjs.map
1549
+ //# sourceMappingURL=catalogue-IaCJdfB8.mjs.map