@jevitate/cli 0.17.0 → 0.18.1

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 (89) hide show
  1. package/dist/author-journey-cli.js +11 -8
  2. package/dist/author-journey-cli.js.map +1 -1
  3. package/dist/bin.js +2802 -1110
  4. package/dist/build-info.generated.js +3 -3
  5. package/dist/catalog-api.d.ts +22 -0
  6. package/dist/catalog-api.js +49 -0
  7. package/dist/catalog-api.js.map +1 -1
  8. package/dist/catalog-cli.js +59 -37
  9. package/dist/catalog-cli.js.map +1 -1
  10. package/dist/cli-shared.d.ts +6 -1
  11. package/dist/cli-shared.js +11 -2
  12. package/dist/cli-shared.js.map +1 -1
  13. package/dist/exit-codes.js +8 -0
  14. package/dist/exit-codes.js.map +1 -1
  15. package/dist/journeeze-api.d.ts +5 -0
  16. package/dist/journeeze-api.js +24 -9
  17. package/dist/journeeze-api.js.map +1 -1
  18. package/dist/journeeze-connect.d.ts +2 -0
  19. package/dist/journeeze-connect.js +9 -1
  20. package/dist/journeeze-connect.js.map +1 -1
  21. package/dist/journey-anchor-cli.js +16 -8
  22. package/dist/journey-anchor-cli.js.map +1 -1
  23. package/dist/journey-annotate-cli.js +10 -5
  24. package/dist/journey-annotate-cli.js.map +1 -1
  25. package/dist/journey-api.d.ts +2 -0
  26. package/dist/journey-api.js +14 -0
  27. package/dist/journey-api.js.map +1 -1
  28. package/dist/journey-bundle.d.ts +83 -0
  29. package/dist/journey-bundle.js +267 -0
  30. package/dist/journey-bundle.js.map +1 -0
  31. package/dist/journey-chain.d.ts +14 -1
  32. package/dist/journey-chain.js +139 -8
  33. package/dist/journey-chain.js.map +1 -1
  34. package/dist/journey-cli/anchors.js +11 -6
  35. package/dist/journey-cli/anchors.js.map +1 -1
  36. package/dist/journey-cli/chain.js +12 -5
  37. package/dist/journey-cli/chain.js.map +1 -1
  38. package/dist/journey-cli/find.js +10 -5
  39. package/dist/journey-cli/find.js.map +1 -1
  40. package/dist/journey-cli/lint.js +14 -10
  41. package/dist/journey-cli/lint.js.map +1 -1
  42. package/dist/journey-cli/list.js +10 -5
  43. package/dist/journey-cli/list.js.map +1 -1
  44. package/dist/journey-cli/migrate.js +13 -6
  45. package/dist/journey-cli/migrate.js.map +1 -1
  46. package/dist/journey-cli/promote.js +14 -9
  47. package/dist/journey-cli/promote.js.map +1 -1
  48. package/dist/journey-cli/publish.js +12 -6
  49. package/dist/journey-cli/publish.js.map +1 -1
  50. package/dist/journey-cli/review.js +15 -9
  51. package/dist/journey-cli/review.js.map +1 -1
  52. package/dist/journey-cli/run.js +25 -10
  53. package/dist/journey-cli/run.js.map +1 -1
  54. package/dist/journey-cli/shared.d.ts +25 -1
  55. package/dist/journey-cli/shared.js +36 -0
  56. package/dist/journey-cli/shared.js.map +1 -1
  57. package/dist/journey-cli/verify.js +13 -6
  58. package/dist/journey-cli/verify.js.map +1 -1
  59. package/dist/journey-cli-bundle.d.ts +4 -0
  60. package/dist/journey-cli-bundle.js +70 -0
  61. package/dist/journey-cli-bundle.js.map +1 -0
  62. package/dist/journey-cli-readiness.d.ts +4 -0
  63. package/dist/journey-cli-readiness.js +163 -0
  64. package/dist/journey-cli-readiness.js.map +1 -0
  65. package/dist/journey-cli.js +5 -0
  66. package/dist/journey-cli.js.map +1 -1
  67. package/dist/journey-demo-cli.js +10 -5
  68. package/dist/journey-demo-cli.js.map +1 -1
  69. package/dist/journey-handback.d.ts +62 -0
  70. package/dist/journey-handback.js +152 -0
  71. package/dist/journey-handback.js.map +1 -0
  72. package/dist/journey-link-api.js +1 -1
  73. package/dist/journey-link-api.js.map +1 -1
  74. package/dist/journey-link-cli.js +13 -8
  75. package/dist/journey-link-cli.js.map +1 -1
  76. package/dist/journey-readiness.d.ts +104 -0
  77. package/dist/journey-readiness.js +381 -0
  78. package/dist/journey-readiness.js.map +1 -0
  79. package/dist/mcp-cli-tools.js +57 -21
  80. package/dist/mcp-cli-tools.js.map +1 -1
  81. package/dist/program.js +3 -0
  82. package/dist/program.js.map +1 -1
  83. package/dist/project-layout.d.ts +57 -0
  84. package/dist/project-layout.js +144 -0
  85. package/dist/project-layout.js.map +1 -0
  86. package/dist/project-where.d.ts +4 -0
  87. package/dist/project-where.js +48 -0
  88. package/dist/project-where.js.map +1 -0
  89. package/package.json +9 -9
@@ -5,7 +5,7 @@
5
5
  // this plain `tsc --build` dist (no bundler substitution), so it needs real committed values
6
6
  // here instead. See ./engine.ts, which prefers the esbuild-injected value when present and
7
7
  // falls back to these.
8
- export const GENERATED_COMMIT = "89237bd";
9
- export const GENERATED_TREE = "b6b4c8d";
10
- export const GENERATED_BUILT_AT = "2026-10-18T16:46:55.074Z";
8
+ export const GENERATED_COMMIT = "ec540dd";
9
+ export const GENERATED_TREE = "d9818ad";
10
+ export const GENERATED_BUILT_AT = "2026-10-18T23:04:17.587Z";
11
11
  //# sourceMappingURL=build-info.generated.js.map
@@ -1,5 +1,8 @@
1
+ import type { Command } from "commander";
1
2
  import type { CatalogApproval, Finding, Journey, JourneyApprovalWaiver, AcceptedFindings } from "@jevitate/journey";
2
3
  import { type Catalog } from "./catalog.js";
4
+ import { type CliDeps } from "./cli-shared.js";
5
+ import { type ResolvedLayout } from "./project-layout.js";
3
6
  import type { JevSetup } from "./jev-advisor.js";
4
7
  import { type ApprovalConfirm } from "./approval-provenance.js";
5
8
  /**
@@ -12,6 +15,25 @@ export declare function resolveCatalogDir(seam: string | undefined, flag?: strin
12
15
  export declare function loadCatalog(catalogDir: string | null, journeysDir: string): Promise<Catalog>;
13
16
  /** The journeys directory of a catalog `--dir` (its `journeys/`), else the CLI's default. */
14
17
  export declare function catalogJourneysDir(flag: string | undefined, fallback: string): string;
18
+ /** #585: the help a catalog/persona/job command keeps on its deprecated `--dir` alias (§2). */
19
+ export declare const DEPRECATED_PROJECT_DIR_HELP = "deprecated: use --project <path> (same meaning); the project data dir holding personas.json and jobs.json (default: the repo's .jevitate/)";
20
+ /** #585: the location flags of one catalog invocation — `--project`/`--journeys-dir`, plus the deprecated `--dir`. */
21
+ export interface CatalogLayoutFlags {
22
+ readonly project?: string;
23
+ readonly journeysDir?: string;
24
+ readonly dir?: string;
25
+ }
26
+ /**
27
+ * #585: resolves a catalog command's locations with `resolveLayout` (docs/contracts/project-layout.md
28
+ * §3/§4, dirMeaning "project", requireProject), mirroring `journeyLayout` in `journey-cli/shared.ts`.
29
+ * The host-injected `CliDeps.catalogDir` — the same catalog seam the MCP server passes — stands in for
30
+ * `--project`. The deprecation line goes to stderr (never the `--json` stdout envelope). A
31
+ * `ProjectLayoutError` is emitted as the command's refusal (its code and next action, exit 64) and
32
+ * null is returned, so the caller returns without touching the catalog; any other error propagates.
33
+ */
34
+ export declare function catalogLayout(program: Command, deps: CliDeps, flags: CatalogLayoutFlags, opts?: {
35
+ readonly requireProject?: boolean;
36
+ }): ResolvedLayout | null;
15
37
  /** `persona|job approve --reviewed-hash`: the item changed after the reviewer's sheet was produced. */
16
38
  export declare class StaleCatalogReviewError extends Error {
17
39
  readonly code = "E_CATALOG_REVIEW_STALE";
@@ -4,6 +4,10 @@ import { CatalogLoader, catalogJourney, journeyLinks, requireJob, requirePersona
4
4
  import { assertJobRefs } from "./catalog-refs.js";
5
5
  import { acknowledgeFindings, preApprovalFindings } from "./pre-approval.js";
6
6
  import { findProjectDir } from "./project-dir.js";
7
+ import { emitJson } from "./cli-shared.js";
8
+ import { fail } from "./envelope.js";
9
+ import { EXIT_CODES } from "./exit-codes.js";
10
+ import { ProjectLayoutError, resolveLayout } from "./project-layout.js";
7
11
  import { programmaticProvenance } from "./approval-provenance.js";
8
12
  import { catalogItemEntry } from "./forge-verify.js";
9
13
  /**
@@ -22,6 +26,51 @@ export function loadCatalog(catalogDir, journeysDir) {
22
26
  export function catalogJourneysDir(flag, fallback) {
23
27
  return flag === undefined ? fallback : join(flag, "journeys");
24
28
  }
29
+ /** #585: the help a catalog/persona/job command keeps on its deprecated `--dir` alias (§2). */
30
+ export const DEPRECATED_PROJECT_DIR_HELP = "deprecated: use --project <path> (same meaning); the project data dir holding personas.json and jobs.json (default: the repo's .jevitate/)";
31
+ /**
32
+ * #585: resolves a catalog command's locations with `resolveLayout` (docs/contracts/project-layout.md
33
+ * §3/§4, dirMeaning "project", requireProject), mirroring `journeyLayout` in `journey-cli/shared.ts`.
34
+ * The host-injected `CliDeps.catalogDir` — the same catalog seam the MCP server passes — stands in for
35
+ * `--project`. The deprecation line goes to stderr (never the `--json` stdout envelope). A
36
+ * `ProjectLayoutError` is emitted as the command's refusal (its code and next action, exit 64) and
37
+ * null is returned, so the caller returns without touching the catalog; any other error propagates.
38
+ */
39
+ export function catalogLayout(program, deps, flags, opts = {}) {
40
+ const seam = deps.catalogDir;
41
+ const useSeam = seam !== undefined && flags.project === undefined && flags.dir === undefined;
42
+ // §4: the CLI's journeysDir seam wins over discovery, but a location flag (--project/--journeys-dir/--dir)
43
+ // decides the store: passing the seam alongside one would let it beat --project, unlike the old --dir help.
44
+ const seamJourneys = flags.project === undefined && flags.dir === undefined && flags.journeysDir === undefined ? deps.journeysDir : undefined;
45
+ try {
46
+ const layout = resolveLayout({
47
+ ...(flags.project === undefined ? {} : { project: flags.project }),
48
+ ...(flags.journeysDir === undefined ? {} : { journeysDir: flags.journeysDir }),
49
+ ...(flags.dir === undefined ? {} : { dir: flags.dir }),
50
+ }, { dirMeaning: "project", requireProject: opts.requireProject !== false && !useSeam, deps: seamJourneys === undefined ? {} : { journeysDir: seamJourneys } });
51
+ if (!useSeam) {
52
+ if (layout.deprecation !== undefined)
53
+ program.configureOutput().writeErr?.(`${layout.deprecation}\n`);
54
+ return layout;
55
+ }
56
+ // The injected catalog dir IS the project (its folder name need not be `.jevitate`): keep it, and
57
+ // take the Journey store from an explicit flag/seam when one was given, else `<project>/journeys`.
58
+ const journeysFromLocation = layout.from.journeys === "flag" || layout.from.journeys === "seam";
59
+ return {
60
+ projectDir: seam,
61
+ catalogDir: seam,
62
+ journeysDir: journeysFromLocation ? layout.journeysDir : join(seam, "journeys"),
63
+ from: { project: "discovered", journeys: journeysFromLocation ? layout.from.journeys : "project" },
64
+ };
65
+ }
66
+ catch (err) {
67
+ if (!(err instanceof ProjectLayoutError))
68
+ throw err;
69
+ emitJson(program, fail(err.code, `${err.message} — ${err.nextAction}`));
70
+ process.exitCode = EXIT_CODES.usage;
71
+ return null;
72
+ }
73
+ }
25
74
  /** `persona|job approve --reviewed-hash`: the item changed after the reviewer's sheet was produced. */
26
75
  export class StaleCatalogReviewError extends Error {
27
76
  code = "E_CATALOG_REVIEW_STALE";
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-api.js","sourceRoot":"","sources":["../src/catalog-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-api.js","sourceRoot":"","sources":["../src/catalog-api.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,11 @@ import { JourneezeError } from "./journeeze-connect.js";
11
11
  import { buildJevSetup, jevCacheDir } from "./jev-advisor.js";
12
12
  import { analyzeCatalog, renderCatalogAnalysis, ANALYZE_PAIR_CAP } from "./catalog-analysis.js";
13
13
  import { CatalogDraftArgsError, CatalogDraftExistsError, CatalogInputError, UnknownCatalogItemError, writeCatalogDraft } from "./catalog.js";
14
- import { StaleCatalogReviewError, approveCatalogItem, catalogJourneysDir, loadCatalog, resolveCatalogDir } from "./catalog-api.js";
14
+ import { StaleCatalogReviewError, approveCatalogItem, catalogJourneysDir, catalogLayout, loadCatalog, resolveCatalogDir, DEPRECATED_PROJECT_DIR_HELP } from "./catalog-api.js";
15
15
  import { strictCatalogViolations, buildCatalogStatus, buildJobReview, buildPersonaReview, renderCatalogStatus, renderJobReview, renderPersonaReview } from "./catalog-review.js";
16
16
  import { ApprovalFindingsError } from "./pre-approval.js";
17
17
  import { EXIT_CODES } from "./exit-codes.js";
18
+ import { withProjectFlags } from "./project-layout.js";
18
19
  import { ApprovalArgsError, approvalRefusal, approvalsReportVerified, checkNonInteractiveReason, describeProvenance, inMcpInvocation, makeApprovalConfirm, parseAllowedChannels, renderApprovals, } from "./approval-provenance.js";
19
20
  /**
20
21
  * #433 — the catalog commands: `persona review|approve <id>`, `job review|approve <id>` and
@@ -75,9 +76,9 @@ function registerItemCommands(program, deps, kind) {
75
76
  : "#433: catalog jobs — job stories in .jevitate/jobs.json (\"When …, I want to …, so I can ….\") — review a job's sheet, approve it (bound to its content hash)");
76
77
  const code = kind === "persona" ? "E_PERSONA" : "E_JOB";
77
78
  const argsCode = kind === "persona" ? "E_PERSONA_REVIEW_ARGS" : "E_JOB_REVIEW_ARGS";
78
- const load = (dir) => loadCatalog(resolveCatalogDir(deps.catalogDir, dir), catalogJourneysDir(dir, resolveJourneysDir(deps)));
79
- const sheet = async (dir, id, action, opts) => {
80
- const catalog = await load(dir);
79
+ const load = (layout) => loadCatalog(layout.catalogDir, layout.journeysDir);
80
+ const sheet = async (layout, id, action, opts) => {
81
+ const catalog = await load(layout);
81
82
  if (kind === "persona") {
82
83
  const review = await buildPersonaReview(catalog, id, action, opts);
83
84
  return { catalog, review, render: (style) => renderPersonaReview(review, style) };
@@ -85,12 +86,12 @@ function registerItemCommands(program, deps, kind) {
85
86
  const review = await buildJobReview(catalog, id, action, opts);
86
87
  return { catalog, review, render: (style) => renderJobReview(review, style) };
87
88
  };
88
- group
89
+ withProjectFlags(group
89
90
  .command("review <id>")
90
91
  .description(kind === "persona"
91
92
  ? "a persona's review sheet: who it is, the jobs it serves, the Journeys linked to it, its approval state (stale = needs re-review), the pre-approval findings, its content hash"
92
93
  : "a job's review sheet: its story, its personas and which have a promoted Journey for it, the gaps, its Journeys, its approval state, the pre-approval findings, its content hash")
93
- .option("--dir <path>", DIR_HELP)
94
+ .option("--dir <path>", DEPRECATED_PROJECT_DIR_HELP))
94
95
  .option("--markdown", "render the sheet as Markdown")
95
96
  .option("--out <file>", "write the sheet (JSON with --json, Markdown with --markdown, else text) to this file")
96
97
  .option("--readiness", READINESS_FLAG_HELP)
@@ -98,14 +99,17 @@ function registerItemCommands(program, deps, kind) {
98
99
  .option("--jev-provider <provider>", JEV_PROVIDER_FLAG_HELP, jevProviderArg)
99
100
  .option("--json", "emit a JSON envelope (the schema-checked sheet)")
100
101
  .action(async function (id) {
101
- const { dir, json, markdown, out: outFile, readiness, real, jevProvider } = this.opts();
102
+ const { dir, project, journeysDir, json, markdown, out: outFile, readiness, real, jevProvider } = this.opts();
102
103
  if (json === true && markdown === true) {
103
104
  emitJson(program, fail(argsCode, "--json and --markdown are exclusive: pick one rendering"));
104
105
  return;
105
106
  }
107
+ const layout = catalogLayout(program, deps, { dir, project, journeysDir });
108
+ if (layout === null)
109
+ return;
106
110
  try {
107
- const jev = await jevSetupFor(deps, resolveCatalogDir(deps.catalogDir, dir), { real, jevProvider });
108
- const { review, render } = await sheet(dir, id, "review", { readiness: readiness === true, jev });
111
+ const jev = await jevSetupFor(deps, layout.catalogDir, { real, jevProvider });
112
+ const { review, render } = await sheet(layout, id, "review", { readiness: readiness === true, jev });
109
113
  const rendered = json ? `${JSON.stringify(review, null, 2)}\n` : render(markdown ? "markdown" : "text");
110
114
  if (outFile !== undefined)
111
115
  await writeFile(outFile, rendered, { mode: 0o600 });
@@ -123,10 +127,10 @@ function registerItemCommands(program, deps, kind) {
123
127
  refuse(program, err, `${code}_REVIEW`);
124
128
  }
125
129
  });
126
- group
130
+ withProjectFlags(group
127
131
  .command("approve <id>")
128
132
  .description(`approve a ${kind} (a person's sign-off; CLI only, never an MCP tool): shows its review sheet, runs the pre-approval findings, then records {contentHash, at} in ${kind === "persona" ? "personas.json" : "its jobs file"}. Editing it later makes it — and its Journeys — "needs re-review"`)
129
- .option("--dir <path>", DIR_HELP)
133
+ .option("--dir <path>", DEPRECATED_PROJECT_DIR_HELP))
130
134
  .option("--reviewed-hash <hash>", `the content hash of the review sheet you read; refused (E_CATALOG_REVIEW_STALE) if the ${kind} changed since`)
131
135
  .option("--accept-findings <reason>", "approve although pre-approval findings need an acknowledgment, recording the reason with the approval")
132
136
  .option("--real", `${REAL_JEV_FLAG_HELP}; a conflicting/duplicate pair classification at or above the documented threshold then needs --accept-findings`)
@@ -134,7 +138,7 @@ function registerItemCommands(program, deps, kind) {
134
138
  .option("--non-interactive-approval <reason>", "#437: approve without a terminal confirmation (a scripted setup), recorded as channel non-interactive (ci under a CI marker) with the reason — never as a person's; check --require-approvals fails it. A coding agent never uses this")
135
139
  .option("--json", "emit a JSON envelope")
136
140
  .action(async function (id) {
137
- const { dir, json, reviewedHash: hashFlag, acceptFindings, real, jevProvider, nonInteractiveApproval } = this.opts();
141
+ const { dir, project, journeysDir, json, reviewedHash: hashFlag, acceptFindings, real, jevProvider, nonInteractiveApproval } = this.opts();
138
142
  let reviewedHash = hashFlag?.trim().toLowerCase();
139
143
  if (reviewedHash !== undefined && !/^[0-9a-f]{64}$/.test(reviewedHash)) {
140
144
  emitJson(program, fail(argsCode, "--reviewed-hash needs the 64-hex content hash a review sheet shows"));
@@ -144,12 +148,15 @@ function registerItemCommands(program, deps, kind) {
144
148
  emitJson(program, fail(argsCode, "--accept-findings needs a reason"));
145
149
  return;
146
150
  }
151
+ const layout = catalogLayout(program, deps, { dir, project, journeysDir });
152
+ if (layout === null)
153
+ return;
147
154
  try {
148
155
  checkNonInteractiveReason(nonInteractiveApproval);
149
156
  const action = kind === "persona" ? "persona approve" : "job approve";
150
157
  // #434/#435: every approval shows readiness and the catalog analysis; Jev only with --real.
151
- const jev = await jevSetupFor(deps, resolveCatalogDir(deps.catalogDir, dir), { real, jevProvider });
152
- const { catalog, review, render } = await sheet(dir, id, action, { readiness: true, jev });
158
+ const jev = await jevSetupFor(deps, layout.catalogDir, { real, jevProvider });
159
+ const { catalog, review, render } = await sheet(layout, id, action, { readiness: true, jev });
153
160
  if (!json) {
154
161
  // Human mode: the sheet (with its findings) is shown before approving; the approval binds to what was shown.
155
162
  program.configureOutput().writeOut?.(`${render("text")}\n`);
@@ -183,16 +190,16 @@ function registerItemCommands(program, deps, kind) {
183
190
  * (MCP `draft_job_outcomes` mirrors it; approving stays `job approve`, CLI only).
184
191
  */
185
192
  function registerJobDraftOutcomes(group, program, deps) {
186
- group
193
+ withProjectFlags(group
187
194
  .command("draft-outcomes <jobId>")
188
195
  .description(`#465: draft ${DRAFT_OUTCOMES_MIN}–${DRAFT_OUTCOMES_MAX} desired outcomes for a job with the generation model and write them into its jobs file marked provenance ai_draft, for the team to review. Never approves: an approved job becomes "needs re-review"`)
189
- .option("--dir <path>", DIR_HELP)
196
+ .option("--dir <path>", DEPRECATED_PROJECT_DIR_HELP))
190
197
  .option("--count <n>", `how many outcomes to draft (${DRAFT_OUTCOMES_MIN}-${DRAFT_OUTCOMES_MAX}, default ${DRAFT_OUTCOMES_DEFAULT})`, intArg({ min: DRAFT_OUTCOMES_MIN, max: DRAFT_OUTCOMES_MAX }))
191
198
  .option("--real", "draft with the live OpenRouter generation gateway (requires keys)", false)
192
199
  .option("--fake-ai", "draft with the deterministic fake generator (pipeline smoke only)", false)
193
200
  .option("--json", "emit a JSON envelope")
194
201
  .action(async function (jobId) {
195
- const { dir, json, count, real, fakeAi } = this.opts();
202
+ const { dir, project, journeysDir, json, count, real, fakeAi } = this.opts();
196
203
  if (!CATALOG_ID_RE.test(jobId)) {
197
204
  emitJson(program, fail("E_JOB_DRAFT_ARGS", `<jobId> must be a catalog id (1-64 of [A-Za-z0-9._-], starting alphanumeric), got ${JSON.stringify(jobId)}`));
198
205
  return;
@@ -201,10 +208,13 @@ function registerJobDraftOutcomes(group, program, deps) {
201
208
  emitJson(program, fail("E_JOB_DRAFT_ARGS", "drafting needs exactly one generation gateway: --real (live) or --fake-ai (deterministic)"));
202
209
  return;
203
210
  }
211
+ const layout = catalogLayout(program, deps, { dir, project, journeysDir });
212
+ if (layout === null)
213
+ return;
204
214
  try {
205
215
  const result = await draftJobOutcomes({
206
- catalogDir: resolveCatalogDir(deps.catalogDir, dir),
207
- journeysDir: catalogJourneysDir(dir, resolveJourneysDir(deps)),
216
+ catalogDir: layout.catalogDir,
217
+ journeysDir: layout.journeysDir,
208
218
  jobId,
209
219
  count: count ?? DRAFT_OUTCOMES_DEFAULT,
210
220
  ai: { real: real === true, fakeAi: fakeAi === true },
@@ -224,21 +234,24 @@ export function registerCatalogCommands(program, deps) {
224
234
  registerItemCommands(program, deps, "persona");
225
235
  registerItemCommands(program, deps, "job");
226
236
  const catalog = program.command("catalog").description("#433: the human-vetted catalog of personas, jobs and the Journeys linked to them");
227
- catalog
237
+ withProjectFlags(catalog
228
238
  .command("status")
229
239
  .description("the jobs × personas matrix (which have a promoted Journey), approved jobs with no promoted Journey, Journeys linked to nothing, dangling links and stale approvals")
230
- .option("--dir <path>", DIR_HELP)
240
+ .option("--dir <path>", DEPRECATED_PROJECT_DIR_HELP))
231
241
  .option("--require-approvals", "#437: exit 1 when a promoted Journey or an approved persona/job has a missing or stale approval, or one made over a channel not allowed (--allow-channels)")
232
242
  .option("--allow-channels <list>", ALLOW_CHANNELS_HELP)
233
243
  .option("--strict", "#523: exit 1 when a persona/job approval is stale, or a promoted Journey links a catalog entry that is not approved (a draft) or links no job / no persona — the repo-wide gate on what the review sheet flags")
234
244
  .option("--json", "emit a JSON envelope (the schema-checked report)")
235
245
  .action(async function () {
236
- const { dir, json, requireApprovals, allowChannels, strict } = this.opts();
246
+ const { dir, project, journeysDir, json, requireApprovals, allowChannels, strict } = this.opts();
237
247
  try {
238
248
  if (allowChannels !== undefined && requireApprovals !== true)
239
249
  throw new ApprovalArgsError("--allow-channels needs --require-approvals");
250
+ const layout = catalogLayout(program, deps, { dir, project, journeysDir });
251
+ if (layout === null)
252
+ return;
240
253
  const allowed = requireApprovals === true ? parseAllowedChannels(allowChannels) : undefined;
241
- const catalog = await loadCatalog(resolveCatalogDir(deps.catalogDir, dir), catalogJourneysDir(dir, resolveJourneysDir(deps)));
254
+ const catalog = await loadCatalog(layout.catalogDir, layout.journeysDir);
242
255
  // #437: every recorded approval and how it was made; with --require-approvals, the violations.
243
256
  // #469: with pr-review allowed, each recorded pr-review approval is re-verified through the forge.
244
257
  const approvals = await approvalsReportVerified([catalog], allowed, { ...(deps.approval ?? {}), catalogDir: catalog.dir });
@@ -256,17 +269,17 @@ export function registerCatalogCommands(program, deps) {
256
269
  }
257
270
  });
258
271
  // #523: a DRAFT persona or job (never an approval) — so a Journey can link one before a person vets it.
259
- catalog
272
+ withProjectFlags(catalog
260
273
  .command("draft <kind> <id>")
261
274
  .description("#523: add a DRAFT persona or job to the catalog (kind: persona | job) — personas.json / jobs.json, created when missing — so a Journey can link it now. Never approves (a person runs `persona|job approve` after review); an id the catalog already has is refused")
262
275
  .requiredOption("--name <text>", "a persona: who they are (written as its role); a job: what the user wants to do (its motivation, \"I want to …\")")
263
276
  .option("--description <text>", "a persona: its description; a job: its goal")
264
277
  .option("--trigger <text>", "a job: when it comes up (\"When …\"); default: a placeholder to write before approving")
265
278
  .option("--outcome <text>", "a job: what doing it lets them do (\"so I can …\"); default: a placeholder to write before approving")
266
- .option("--dir <path>", DIR_HELP)
279
+ .option("--dir <path>", DEPRECATED_PROJECT_DIR_HELP))
267
280
  .option("--json", "emit a JSON envelope")
268
281
  .action(async function (kind, id) {
269
- const { dir, json, name, description, trigger, outcome } = this.opts();
282
+ const { dir, project, journeysDir, json, name, description, trigger, outcome } = this.opts();
270
283
  if (kind !== "persona" && kind !== "job") {
271
284
  emitJson(program, fail("E_CATALOG_DRAFT_ARGS", `<kind> must be persona or job, got ${JSON.stringify(kind)}`));
272
285
  return;
@@ -275,8 +288,11 @@ export function registerCatalogCommands(program, deps) {
275
288
  emitJson(program, fail("E_CATALOG_DRAFT_ARGS", "--trigger and --outcome are a job's story parts: a persona takes --name and --description"));
276
289
  return;
277
290
  }
291
+ const layout = catalogLayout(program, deps, { dir, project, journeysDir });
292
+ if (layout === null)
293
+ return;
278
294
  try {
279
- const result = await writeCatalogDraft(resolveCatalogDir(deps.catalogDir, dir), {
295
+ const result = await writeCatalogDraft(layout.catalogDir, {
280
296
  kind,
281
297
  id,
282
298
  name,
@@ -295,25 +311,28 @@ export function registerCatalogCommands(program, deps) {
295
311
  refuse(program, err, "E_CATALOG_DRAFT");
296
312
  }
297
313
  });
298
- catalog
314
+ withProjectFlags(catalog
299
315
  .command("analyze")
300
316
  .description("#435: problems BETWEEN catalog items, grouped by INCOSE GtWR set characteristic — candidate pairs (paired by code: shared persona/terms, opposing writes, same role) classified by Jev (with --real) as compatible/duplicate/overlapping/conflicting/dependent, " +
301
317
  "completeness gaps, and update advice (stale approvals, Journeys whose last mutation proof fails). Read-only and advisory: it never changes the catalog and never gates")
302
- .option("--dir <path>", DIR_HELP)
318
+ .option("--dir <path>", DEPRECATED_PROJECT_DIR_HELP))
303
319
  .option("--real", "#435: classify the candidate pairs with Jev (advisory; cached by content hash). Without a judgment key: the deterministic layer only")
304
320
  .option("--jev-provider <provider>", JEV_PROVIDER_FLAG_HELP, jevProviderArg)
305
321
  .option("--max-pairs <n>", `the most candidate pairs to judge (default ${ANALYZE_PAIR_CAP}); the rest are listed as overflow, never dropped`, positiveIntArg)
306
322
  .option("--markdown", "render the report as Markdown")
307
323
  .option("--json", "emit a JSON envelope (the schema-checked report)")
308
324
  .action(async function () {
309
- const { dir, json, markdown, real, jevProvider, maxPairs } = this.opts();
325
+ const { dir, project, journeysDir, json, markdown, real, jevProvider, maxPairs } = this.opts();
310
326
  if (json === true && markdown === true) {
311
327
  emitJson(program, fail("E_CATALOG_ANALYZE_ARGS", "--json and --markdown are exclusive: pick one rendering"));
312
328
  return;
313
329
  }
330
+ const layout = catalogLayout(program, deps, { dir, project, journeysDir });
331
+ if (layout === null)
332
+ return;
314
333
  try {
315
- const catalogDir = resolveCatalogDir(deps.catalogDir, dir);
316
- const loaded = await loadCatalog(catalogDir, catalogJourneysDir(dir, resolveJourneysDir(deps)));
334
+ const catalogDir = layout.catalogDir;
335
+ const loaded = await loadCatalog(catalogDir, layout.journeysDir);
317
336
  const jev = await jevSetupFor(deps, catalogDir, { real, jevProvider });
318
337
  const { report } = await analyzeCatalog(loaded, { jev, ...(maxPairs === undefined ? {} : { pairCap: maxPairs }) });
319
338
  if (json)
@@ -329,17 +348,17 @@ export function registerCatalogCommands(program, deps) {
329
348
  }
330
349
  });
331
350
  // #464: the Journeeze catalog bundle — written under --out; never uploads, never approves.
332
- catalog
351
+ withProjectFlags(catalog
333
352
  .command("export")
334
353
  .description("#464: write the catalog (personas, jobs, Journeys with their approvals, links, checks, findings; no media) as a Journeeze catalog bundle (bundle.json) under --out. Never uploads (publish journeeze) and never approves")
335
354
  .requiredOption("--format <format>", `the bundle format (${CATALOG_EXPORT_FORMATS.join(" | ")})`)
336
355
  .requiredOption("--out <dir>", "the directory bundle.json is written to (created if missing)")
337
356
  .option("--check <file>", "a `jevitate check` record (check.json) to include; repeatable (default: <project>/jevitate-check/check.json when it exists)", collectRepeatable, [])
338
357
  .option("--product-name <name>", "the bundle's product.name (default: the project's package.json name, else its folder name)")
339
- .option("--dir <path>", DIR_HELP)
358
+ .option("--dir <path>", DEPRECATED_PROJECT_DIR_HELP))
340
359
  .option("--json", "emit a JSON envelope")
341
360
  .action(async function () {
342
- const { dir, json, format, out, check, productName } = this.opts();
361
+ const { dir, project, journeysDir, json, format, out, check, productName } = this.opts();
343
362
  if (!CATALOG_EXPORT_FORMATS.includes(format)) {
344
363
  emitJson(program, fail("E_CATALOG_EXPORT_ARGS", `--format must be one of ${CATALOG_EXPORT_FORMATS.join(" | ")} (got ${JSON.stringify(format)})`));
345
364
  return;
@@ -356,11 +375,14 @@ export function registerCatalogCommands(program, deps) {
356
375
  emitJson(program, fail("E_CATALOG_EXPORT_ARGS", "--product-name must be one plain line of 1-200 characters (no control characters, no e-mail address or other personal data)"));
357
376
  return;
358
377
  }
378
+ const layout = catalogLayout(program, deps, { dir, project, journeysDir });
379
+ if (layout === null)
380
+ return;
359
381
  try {
360
382
  const result = await exportCatalogBundle({
361
383
  format: format,
362
- catalogDir: resolveCatalogDir(deps.catalogDir, dir),
363
- journeysDir: catalogJourneysDir(dir, resolveJourneysDir(deps)),
384
+ catalogDir: layout.catalogDir,
385
+ journeysDir: layout.journeysDir,
364
386
  outDir: out,
365
387
  ...(check.length === 0 ? {} : { checkFiles: check }),
366
388
  ...(productName === undefined ? {} : { productName }),
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-cli.js","sourceRoot":"","sources":["../src/catalog-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-cli.js","sourceRoot":"","sources":["../src/catalog-cli.ts"],"names":[],"mappings":"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"}
@@ -145,7 +145,12 @@ export declare function environmentSeams(deps: CliDeps): {
145
145
  /**
146
146
  * Mirrors `resolveDbPath`'s flag > deps > home-dir-default convention: a
147
147
  * per-invocation `--dir` flag wins, then a `CliDeps.journeysDir` wired in by
148
- * the host, then `~/.jevitate/journeys`.
148
+ * the host, then the project's journeys, else `~/.jevitate/journeys`.
149
+ *
150
+ * #585: delegates to `resolveLayout` (dirMeaning "journeys") so commands not yet
151
+ * migrated to `--project`/`--journeys-dir` keep its current results. The flag is
152
+ * passed as the deprecated `--dir` so it retains its current meaning, including
153
+ * being used as given without an existence check.
149
154
  */
150
155
  export declare function resolveJourneysDir(deps: CliDeps, flag?: string): string;
151
156
  /** Same flag > home-dir-default convention as `resolveJourneysDir`, for the
@@ -13,6 +13,7 @@ import { CastActor, BrowseTheWeb } from "@jevitate/screenplay";
13
13
  import { UnsafeNameError, assertSafeName } from "@jevitate/domain";
14
14
  import { fail } from "./envelope.js";
15
15
  import { projectDataDir } from "./project-dir.js";
16
+ import { resolveLayout } from "./project-layout.js";
16
17
  import { resolveUsagePricing } from "./usage-config.js";
17
18
  import { realOpenRouterCall } from "./openrouter-call.js";
18
19
  import { emitJsonOrRefusal } from "./cli-refusal.js";
@@ -41,10 +42,18 @@ export function environmentSeams(deps) {
41
42
  /**
42
43
  * Mirrors `resolveDbPath`'s flag > deps > home-dir-default convention: a
43
44
  * per-invocation `--dir` flag wins, then a `CliDeps.journeysDir` wired in by
44
- * the host, then `~/.jevitate/journeys`.
45
+ * the host, then the project's journeys, else `~/.jevitate/journeys`.
46
+ *
47
+ * #585: delegates to `resolveLayout` (dirMeaning "journeys") so commands not yet
48
+ * migrated to `--project`/`--journeys-dir` keep its current results. The flag is
49
+ * passed as the deprecated `--dir` so it retains its current meaning, including
50
+ * being used as given without an existence check.
45
51
  */
46
52
  export function resolveJourneysDir(deps, flag) {
47
- return flag ?? deps.journeysDir ?? projectDataDir(["journeys"]);
53
+ return resolveLayout(flag === undefined ? {} : { dir: flag }, {
54
+ dirMeaning: "journeys",
55
+ deps: deps.journeysDir === undefined ? {} : { journeysDir: deps.journeysDir },
56
+ }).journeysDir;
48
57
  }
49
58
  /** Same flag > home-dir-default convention as `resolveJourneysDir`, for the
50
59
  * committed-regressions directory `regression capture` writes into. */