@miniidealab/openlogos 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/codex-plugin-template/session-start.sh +1 -1
  2. package/dist/commands/change.d.ts +1 -1
  3. package/dist/commands/change.d.ts.map +1 -1
  4. package/dist/commands/change.js +54 -3
  5. package/dist/commands/change.js.map +1 -1
  6. package/dist/commands/detect.d.ts.map +1 -1
  7. package/dist/commands/detect.js +15 -1
  8. package/dist/commands/detect.js.map +1 -1
  9. package/dist/commands/init.d.ts +4 -3
  10. package/dist/commands/init.d.ts.map +1 -1
  11. package/dist/commands/init.js +18 -14
  12. package/dist/commands/init.js.map +1 -1
  13. package/dist/commands/launch.d.ts +1 -1
  14. package/dist/commands/launch.d.ts.map +1 -1
  15. package/dist/commands/launch.js +71 -16
  16. package/dist/commands/launch.js.map +1 -1
  17. package/dist/commands/module.d.ts +2 -1
  18. package/dist/commands/module.d.ts.map +1 -1
  19. package/dist/commands/module.js +29 -9
  20. package/dist/commands/module.js.map +1 -1
  21. package/dist/commands/next.d.ts +13 -1
  22. package/dist/commands/next.d.ts.map +1 -1
  23. package/dist/commands/next.js +118 -48
  24. package/dist/commands/next.js.map +1 -1
  25. package/dist/commands/status.d.ts +34 -5
  26. package/dist/commands/status.d.ts.map +1 -1
  27. package/dist/commands/status.js +270 -96
  28. package/dist/commands/status.js.map +1 -1
  29. package/dist/commands/sync.d.ts.map +1 -1
  30. package/dist/commands/sync.js +25 -4
  31. package/dist/commands/sync.js.map +1 -1
  32. package/dist/i18n.d.ts +1 -1
  33. package/dist/i18n.d.ts.map +1 -1
  34. package/dist/i18n.js +42 -22
  35. package/dist/i18n.js.map +1 -1
  36. package/dist/index.js +21 -10
  37. package/dist/index.js.map +1 -1
  38. package/dist/lib/migrate-lifecycle.d.ts +13 -0
  39. package/dist/lib/migrate-lifecycle.d.ts.map +1 -0
  40. package/dist/lib/migrate-lifecycle.js +55 -0
  41. package/dist/lib/migrate-lifecycle.js.map +1 -0
  42. package/opencode-plugin-template/commands/openlogos-launch.md +8 -3
  43. package/opencode-plugin-template/openlogos.js +10 -1
  44. package/package.json +1 -1
  45. package/skills/change-writer/SKILL.en.md +8 -1
  46. package/skills/change-writer/SKILL.md +8 -1
  47. package/skills/merge-executor/SKILL.en.md +7 -1
  48. package/skills/merge-executor/SKILL.md +9 -1
  49. package/spec/change-management.md +5 -3
  50. package/spec/cli-json-output.md +99 -12
  51. package/spec/logos-project.md +3 -6
  52. package/spec/module-naming-convention.md +2 -4
  53. package/spec/opencode-plugin.md +3 -3
@@ -4,11 +4,25 @@ import { readLocale, t, PHASE_KEYS, SUGGEST_KEYS } from '../i18n.js';
4
4
  import { makeEnvelope, makeErrorEnvelope } from '../lib/json-output.js';
5
5
  import { parse as parseYaml } from 'yaml';
6
6
  const MERGE_SUPPORTED_DELTA_DIRS = ['prd', 'api', 'database', 'scenario'];
7
+ // Phase paths indexed by PHASE_KEYS order
8
+ const PHASE_SUBPATHS = [
9
+ 'logos/resources/prd/1-product-requirements',
10
+ 'logos/resources/prd/2-product-design',
11
+ 'logos/resources/prd/3-technical-plan/1-architecture',
12
+ 'logos/resources/prd/3-technical-plan/2-scenario-implementation',
13
+ 'logos/resources/api',
14
+ 'logos/resources/database',
15
+ 'logos/resources/test',
16
+ 'logos/resources/scenario',
17
+ 'logos/resources/implementation',
18
+ 'logos/resources/verify',
19
+ ];
20
+ // Phases that require per-scenario file coverage
21
+ const SCENARIO_PHASES = new Set(['phase.3-1', 'phase.3-3a']);
7
22
  function isProposalTemplateFilled(content) {
8
23
  const normalized = content.trim();
9
24
  if (!normalized)
10
25
  return false;
11
- // Treat the stock proposal template as "writing" until core sections are filled.
12
26
  return normalized.includes('## 变更原因')
13
27
  && normalized.includes('## 变更类型')
14
28
  && normalized.includes('## 变更范围')
@@ -36,21 +50,24 @@ function isTasksTemplateFilled(content) {
36
50
  function countMergeableDeltaFiles(proposalDir) {
37
51
  let count = 0;
38
52
  for (const category of MERGE_SUPPORTED_DELTA_DIRS) {
39
- const dir = join(proposalDir, 'deltas', category);
40
- count += listFiles(dir).length;
53
+ count += listFiles(join(proposalDir, 'deltas', category)).length;
41
54
  }
42
55
  return count;
43
56
  }
44
- function allTasksChecked(content) {
45
- const unchecked = (content.match(/^- \[ \]/gm) ?? []).length;
57
+ function countTasks(content) {
46
58
  const checked = (content.match(/^- \[x\]/gim) ?? []).length;
47
- return unchecked === 0 && checked > 0;
59
+ const unchecked = (content.match(/^- \[ \]/gm) ?? []).length;
60
+ return { checked, total: checked + unchecked };
61
+ }
62
+ function allTasksChecked(content) {
63
+ const { checked, total } = countTasks(content);
64
+ return total > 0 && checked === total;
48
65
  }
49
66
  export function detectProposalStep(proposalDir) {
50
- const proposalPath = join(proposalDir, 'proposal.md');
51
- const tasksPath = join(proposalDir, 'tasks.md');
52
- const proposalContent = existsSync(proposalPath) ? readFileSync(proposalPath, 'utf-8') : '';
53
- const tasksContent = existsSync(tasksPath) ? readFileSync(tasksPath, 'utf-8') : '';
67
+ const proposalContent = existsSync(join(proposalDir, 'proposal.md'))
68
+ ? readFileSync(join(proposalDir, 'proposal.md'), 'utf-8') : '';
69
+ const tasksContent = existsSync(join(proposalDir, 'tasks.md'))
70
+ ? readFileSync(join(proposalDir, 'tasks.md'), 'utf-8') : '';
54
71
  const mergeableDeltaCount = countMergeableDeltaFiles(proposalDir);
55
72
  if (!isProposalTemplateFilled(proposalContent) || !isTasksTemplateFilled(tasksContent)) {
56
73
  return 'writing';
@@ -78,21 +95,131 @@ export function listFiles(dir) {
78
95
  return [];
79
96
  }
80
97
  }
81
- export function collectStatusData(root) {
98
+ function deriveModulePhaseProgress(root, moduleId, scenarios) {
99
+ const progress = {};
100
+ for (let i = 0; i < PHASE_KEYS.length; i++) {
101
+ const key = PHASE_KEYS[i];
102
+ const dir = join(root, PHASE_SUBPATHS[i]);
103
+ if (SCENARIO_PHASES.has(key)) {
104
+ // Per-scenario coverage check
105
+ const suffix = key === 'phase.3-1' ? '' : '-test-cases';
106
+ const covered = [];
107
+ const missing = [];
108
+ for (const s of scenarios) {
109
+ const pattern = `${moduleId}-${s.id}`;
110
+ const files = listFiles(dir);
111
+ const found = files.some(f => f.includes(pattern) && (suffix === '' || f.includes(suffix)));
112
+ if (found)
113
+ covered.push(s.id);
114
+ else
115
+ missing.push(s.id);
116
+ }
117
+ progress[key] = {
118
+ done: missing.length === 0 && scenarios.length > 0,
119
+ skipped: false,
120
+ scenario_coverage: { total: scenarios.length, covered: covered.length, missing },
121
+ };
122
+ }
123
+ else {
124
+ const files = listFiles(dir);
125
+ progress[key] = { done: files.length > 0, skipped: false };
126
+ }
127
+ }
128
+ // Mark skipped: empty phase before a done phase
129
+ const keys = PHASE_KEYS;
130
+ const lastDoneIdx = keys.reduce((acc, k, i) => (progress[k].done ? i : acc), -1);
131
+ for (let i = 0; i < lastDoneIdx; i++) {
132
+ if (!progress[keys[i]].done)
133
+ progress[keys[i]].skipped = true;
134
+ }
135
+ const currentPhase = keys.find(k => !progress[k].done && !progress[k].skipped) ?? null;
136
+ return { progress, currentPhase };
137
+ }
138
+ function buildModuleStatusItem(root, mod, scenarios, locale, guardActiveChange, guardModule) {
139
+ if (mod.lifecycle === 'launched') {
140
+ let activeChange = null;
141
+ if (guardActiveChange && guardModule === mod.id) {
142
+ const proposalDir = join(root, 'logos', 'changes', guardActiveChange);
143
+ const step = existsSync(proposalDir) ? detectProposalStep(proposalDir) : 'writing';
144
+ const stepLabel = t(locale, `status.proposalStep.${step}`);
145
+ const hasProposal = existsSync(join(proposalDir, 'proposal.md'));
146
+ const hasTasksFile = existsSync(join(proposalDir, 'tasks.md'));
147
+ const tasksContent = hasTasksFile ? readFileSync(join(proposalDir, 'tasks.md'), 'utf-8') : '';
148
+ const { checked, total } = countTasks(tasksContent);
149
+ const deltaCount = countMergeableDeltaFiles(proposalDir);
150
+ activeChange = {
151
+ slug: guardActiveChange,
152
+ proposal_step: step,
153
+ proposal_step_label: stepLabel,
154
+ has_proposal: hasProposal,
155
+ has_tasks: hasTasksFile,
156
+ tasks_checked: checked,
157
+ tasks_total: total,
158
+ delta_count: deltaCount,
159
+ };
160
+ }
161
+ let suggestion;
162
+ if (activeChange) {
163
+ if (activeChange.proposal_step === 'ready-to-merge') {
164
+ suggestion = locale === 'zh'
165
+ ? `明确授权执行 openlogos merge ${activeChange.slug}`
166
+ : `Explicitly request: openlogos merge ${activeChange.slug}`;
167
+ }
168
+ else {
169
+ suggestion = locale === 'zh'
170
+ ? `继续实现 ${activeChange.slug},完成后明确授权执行 openlogos merge ${activeChange.slug}`
171
+ : `Continue implementing ${activeChange.slug}, then explicitly request: openlogos merge ${activeChange.slug}`;
172
+ }
173
+ }
174
+ else if (guardActiveChange && guardModule !== mod.id) {
175
+ suggestion = locale === 'zh'
176
+ ? `当前提案 ${guardActiveChange}(归属 ${guardModule ?? '?'})未完成,请先完成后再为此模块创建新提案`
177
+ : `Active proposal ${guardActiveChange} (module: ${guardModule ?? '?'}) is in progress — finish it before creating a new proposal for this module`;
178
+ }
179
+ else {
180
+ suggestion = locale === 'zh'
181
+ ? '运行 openlogos change <slug> 创建新提案'
182
+ : 'Run openlogos change <slug> to create a new change proposal';
183
+ }
184
+ return {
185
+ id: mod.id,
186
+ name: mod.name,
187
+ lifecycle: 'launched',
188
+ current_phase: null,
189
+ current_phase_label: null,
190
+ phase_progress: null,
191
+ active_change: activeChange,
192
+ suggestion,
193
+ };
194
+ }
195
+ // initial lifecycle
196
+ const { progress, currentPhase } = deriveModulePhaseProgress(root, mod.id, scenarios);
197
+ const currentPhaseLabel = currentPhase ? t(locale, currentPhase) : null;
198
+ let suggestion;
199
+ if (!currentPhase) {
200
+ suggestion = locale === 'zh' ? '所有阶段已完成' : 'All phases complete';
201
+ }
202
+ else {
203
+ const suggestKey = SUGGEST_KEYS[currentPhase];
204
+ suggestion = suggestKey
205
+ ? t(locale, suggestKey)
206
+ : (locale === 'zh' ? '继续推进当前阶段' : 'Continue current phase');
207
+ }
208
+ return {
209
+ id: mod.id,
210
+ name: mod.name,
211
+ lifecycle: 'initial',
212
+ current_phase: currentPhase,
213
+ current_phase_label: currentPhaseLabel,
214
+ phase_progress: progress,
215
+ active_change: null,
216
+ suggestion,
217
+ };
218
+ }
219
+ export function collectStatusData(root, filterModuleId) {
82
220
  const configPath = join(root, 'logos', 'logos.config.json');
83
221
  const locale = readLocale(root);
84
- const phasePaths = [
85
- join(root, 'logos/resources/prd/1-product-requirements'),
86
- join(root, 'logos/resources/prd/2-product-design'),
87
- join(root, 'logos/resources/prd/3-technical-plan/1-architecture'),
88
- join(root, 'logos/resources/prd/3-technical-plan/2-scenario-implementation'),
89
- join(root, 'logos/resources/api'),
90
- join(root, 'logos/resources/database'),
91
- join(root, 'logos/resources/test'),
92
- join(root, 'logos/resources/scenario'),
93
- join(root, 'logos/resources/implementation'),
94
- join(root, 'logos/resources/verify'),
95
- ];
222
+ const phasePaths = PHASE_SUBPATHS.map(p => join(root, p));
96
223
  const phases = PHASE_KEYS.map((key, i) => ({
97
224
  key,
98
225
  label: t(locale, key),
@@ -105,14 +232,10 @@ export function collectStatusData(root) {
105
232
  phase.files = listFiles(phase.path);
106
233
  phase.done = phase.files.length > 0;
107
234
  }
108
- // Auto-detect skipped phases: if a phase is empty but a later phase
109
- // is done, the empty one was intentionally skipped (e.g. CLI projects
110
- // that don't need API/DB design).
111
235
  const lastDoneIdx = phases.reduce((acc, p, i) => (p.done ? i : acc), -1);
112
236
  for (let i = 0; i < lastDoneIdx; i++) {
113
- if (!phases[i].done) {
237
+ if (!phases[i].done)
114
238
  phases[i].skipped = true;
115
- }
116
239
  }
117
240
  // Collect active proposals
118
241
  const changesDir = join(root, 'logos', 'changes');
@@ -126,42 +249,53 @@ export function collectStatusData(root) {
126
249
  continue;
127
250
  const hasProposal = existsSync(join(entryPath, 'proposal.md'));
128
251
  const hasTasks = existsSync(join(entryPath, 'tasks.md'));
129
- const deltasDir = join(entryPath, 'deltas');
130
- const deltaCount = existsSync(deltasDir) ? listFiles(deltasDir).length : 0;
252
+ const deltaCount = existsSync(join(entryPath, 'deltas')) ? listFiles(join(entryPath, 'deltas')).length : 0;
131
253
  activeProposals.push({ name: entry, hasProposal, hasTasks, deltaCount });
132
254
  }
133
255
  }
134
- // Determine current phase and suggestion (skip over skipped phases)
135
256
  const firstIncomplete = phases.find(p => !p.done && !p.skipped);
136
257
  const allDone = !firstIncomplete;
137
258
  let lifecycle = 'initial';
138
259
  let sourceRoots = null;
139
- let modules;
140
260
  try {
141
261
  const config = JSON.parse(readFileSync(configPath, 'utf-8'));
142
- lifecycle = config.lifecycle || 'initial';
143
262
  sourceRoots = config.sourceRoots ?? null;
144
263
  }
145
264
  catch { /* ignore */ }
146
- // Read modules from logos-project.yaml — only set if modules[] key exists
265
+ // Read scenarios and raw modules from logos-project.yaml
147
266
  const projectYamlPath = join(root, 'logos', 'logos-project.yaml');
267
+ let rawModules;
268
+ let scenarios = [];
148
269
  if (existsSync(projectYamlPath)) {
149
270
  try {
150
271
  const yaml = parseYaml(readFileSync(projectYamlPath, 'utf-8'));
151
272
  if (Array.isArray(yaml?.modules)) {
152
- modules = yaml.modules;
273
+ rawModules = yaml.modules.map(m => ({
274
+ id: m.id,
275
+ name: m.name,
276
+ lifecycle: (m.lifecycle === 'launched' ? 'launched' : 'initial'),
277
+ }));
278
+ // Derive project lifecycle from modules
279
+ if (rawModules.some(m => m.lifecycle === 'launched')) {
280
+ lifecycle = 'launched';
281
+ }
282
+ }
283
+ if (Array.isArray(yaml?.scenarios)) {
284
+ scenarios = yaml.scenarios;
153
285
  }
154
286
  }
155
287
  catch { /* ignore */ }
156
288
  }
157
- // Read guard file for active change
289
+ // Read guard
158
290
  let activeChange = null;
159
291
  let proposalStep = null;
292
+ let guardModule = null;
160
293
  const guardPath = join(root, 'logos', '.openlogos-guard');
161
294
  if (existsSync(guardPath)) {
162
295
  try {
163
296
  const guard = JSON.parse(readFileSync(guardPath, 'utf-8'));
164
297
  activeChange = guard.activeChange || null;
298
+ guardModule = guard.module || null;
165
299
  if (activeChange) {
166
300
  const proposalDir = join(root, 'logos', 'changes', activeChange);
167
301
  proposalStep = existsSync(proposalDir) ? detectProposalStep(proposalDir) : 'writing';
@@ -169,11 +303,19 @@ export function collectStatusData(root) {
169
303
  }
170
304
  catch { /* ignore */ }
171
305
  }
306
+ // Build module status items
307
+ let modules;
308
+ if (rawModules !== undefined) {
309
+ const filtered = filterModuleId
310
+ ? rawModules.filter(m => m.id === filterModuleId)
311
+ : rawModules;
312
+ modules = filtered.map(m => buildModuleStatusItem(root, m, scenarios, locale, activeChange, guardModule));
313
+ }
172
314
  let suggestion;
173
315
  if (allDone) {
174
- suggestion = lifecycle === 'initial'
175
- ? t(locale, 'launch.suggest')
176
- : t(locale, 'status.allDoneHint').trim();
316
+ suggestion = lifecycle === 'launched'
317
+ ? t(locale, 'status.allDoneHint').trim()
318
+ : t(locale, 'launch.suggest');
177
319
  }
178
320
  else {
179
321
  const suggestKey = SUGGEST_KEYS[firstIncomplete.key];
@@ -198,7 +340,7 @@ export function collectStatusData(root) {
198
340
  proposal_step: proposalStep,
199
341
  };
200
342
  }
201
- export function status(format = 'text') {
343
+ export function status(format = 'text', moduleId) {
202
344
  const root = process.cwd();
203
345
  const configPath = join(root, 'logos', 'logos.config.json');
204
346
  if (!existsSync(configPath)) {
@@ -210,77 +352,109 @@ export function status(format = 'text') {
210
352
  console.error('Run `openlogos init` first to initialize the project.');
211
353
  process.exit(1);
212
354
  }
213
- const data = collectStatusData(root);
355
+ // Validate --module if provided
356
+ if (moduleId) {
357
+ const yamlPath = join(root, 'logos', 'logos-project.yaml');
358
+ if (existsSync(yamlPath)) {
359
+ try {
360
+ const yaml = parseYaml(readFileSync(yamlPath, 'utf-8'));
361
+ const mods = Array.isArray(yaml?.modules) ? yaml.modules : [];
362
+ if (!mods.find(m => m.id === moduleId)) {
363
+ console.error(`Error: Module '${moduleId}' not found in logos-project.yaml.`);
364
+ console.error('Run `openlogos module list` to see available modules.');
365
+ process.exit(1);
366
+ }
367
+ }
368
+ catch { /* ignore */ }
369
+ }
370
+ }
371
+ const data = collectStatusData(root, moduleId);
214
372
  if (format === 'json') {
215
373
  console.log(JSON.stringify(makeEnvelope('status', data)));
216
374
  return;
217
375
  }
218
- // Human-readable output (unchanged behavior)
219
376
  const locale = readLocale(root);
220
377
  const LINE = '─'.repeat(50);
221
- console.log('\n📊 OpenLogos Project Status\n');
222
- console.log(LINE);
223
- for (const phase of data.phases) {
224
- if (phase.skipped)
225
- continue;
226
- const icon = phase.done ? '✅' : '🔲';
227
- console.log(`${icon} ${phase.label}`);
228
- if (phase.done) {
229
- for (const f of phase.files) {
230
- console.log(` └─ ${f}`);
378
+ if (!moduleId) {
379
+ console.log('\n📊 OpenLogos Project Status\n');
380
+ console.log(LINE);
381
+ for (const phase of data.phases) {
382
+ if (phase.skipped)
383
+ continue;
384
+ const icon = phase.done ? '✅' : '🔲';
385
+ console.log(`${icon} ${phase.label}`);
386
+ if (phase.done) {
387
+ for (const f of phase.files)
388
+ console.log(` └─ ${f}`);
231
389
  }
232
390
  }
391
+ console.log(LINE);
233
392
  }
234
- console.log(LINE);
235
- // Show modules if registered
393
+ // Show modules
236
394
  if (data.modules && data.modules.length > 0) {
237
- console.log(`\n🧩 ${t(locale, 'status.modules')}`);
238
- const sorted = [...data.modules].sort((a, b) => {
239
- if (a.status === 'in-progress' && b.status !== 'in-progress')
240
- return -1;
241
- if (b.status === 'in-progress' && a.status !== 'in-progress')
242
- return 1;
243
- return 0;
244
- });
245
- for (const m of sorted) {
246
- const statusIcon = m.status === 'in-progress' ? '🔄' : '✅';
247
- const phase = m.loop_phase ? ` → ${m.loop_phase}` : '';
248
- console.log(` ${statusIcon} ${m.id} (${m.name})${phase}`);
395
+ if (!moduleId)
396
+ console.log(`\n🧩 ${t(locale, 'status.modules')}`);
397
+ for (const m of data.modules) {
398
+ if (m.lifecycle === 'launched') {
399
+ const ac = m.active_change;
400
+ if (ac) {
401
+ console.log(` 🔄 ${m.id} (${m.name}) [launched]`);
402
+ console.log(` ${t(locale, 'status.activeChange')}: ${ac.slug} → ${ac.proposal_step_label}`);
403
+ console.log(` tasks: ${ac.tasks_checked}/${ac.tasks_total} deltas: ${ac.delta_count}`);
404
+ }
405
+ else {
406
+ const blocked = data.active_change && data.active_change !== null;
407
+ const icon = blocked ? '⏸️ ' : '✅';
408
+ console.log(` ${icon} ${m.id} (${m.name}) [launched]`);
409
+ }
410
+ }
411
+ else {
412
+ const phase = m.current_phase ? ` → ${m.current_phase_label}` : ' → 全部完成';
413
+ console.log(` 🔄 ${m.id} (${m.name}) [initial${phase}]`);
414
+ if (m.phase_progress && m.current_phase) {
415
+ const cp = m.phase_progress[m.current_phase];
416
+ if (cp?.scenario_coverage && cp.scenario_coverage.missing.length > 0) {
417
+ console.log(` 缺少场景: ${cp.scenario_coverage.missing.join(', ')}`);
418
+ }
419
+ }
420
+ }
421
+ console.log(` 💡 ${m.suggestion}`);
249
422
  }
250
423
  console.log('');
251
424
  }
252
- if (data.source_roots) {
253
- console.log(`\n📂 Source roots: src=[${data.source_roots.src.join(', ')}] test=[${data.source_roots.test.join(', ')}]`);
254
- }
255
- if (data.active_change) {
256
- const stepLabel = t(locale, `status.proposalStep.${data.proposal_step ?? 'writing'}`);
257
- console.log(`\n🔒 ${t(locale, 'status.activeChange')}: ${data.active_change}`);
258
- console.log(` ${t(locale, 'status.proposalStepLabel')}: ${stepLabel}`);
259
- console.log(LINE);
260
- }
261
- else if (data.active_proposals.length > 0) {
262
- console.log(`\n📝 ${t(locale, 'status.activeProposals')}`);
263
- for (const p of data.active_proposals) {
264
- const parts = [
265
- p.has_proposal ? 'proposal.md ✓' : 'proposal.md ✗',
266
- p.has_tasks ? 'tasks.md ✓' : 'tasks.md ✗',
267
- `deltas: ${p.delta_count} files`,
268
- ];
269
- console.log(` └─ ${p.name} (${parts.join(' | ')})`);
425
+ if (!moduleId) {
426
+ if (data.source_roots) {
427
+ console.log(`\n📂 Source roots: src=[${data.source_roots.src.join(', ')}] test=[${data.source_roots.test.join(', ')}]`);
270
428
  }
271
- console.log(LINE);
272
- }
273
- if (data.all_done) {
274
- console.log(`\n🎉 ${t(locale, 'status.allDone')}`);
275
- if (data.lifecycle === 'initial') {
276
- console.log(` → ${t(locale, 'launch.suggest')}`);
429
+ if (data.active_change) {
430
+ const stepLabel = t(locale, `status.proposalStep.${data.proposal_step ?? 'writing'}`);
431
+ console.log(`\n🔒 ${t(locale, 'status.activeChange')}: ${data.active_change}`);
432
+ console.log(` ${t(locale, 'status.proposalStepLabel')}: ${stepLabel}`);
433
+ console.log(LINE);
434
+ }
435
+ else if (data.active_proposals.length > 0) {
436
+ console.log(`\n📝 ${t(locale, 'status.activeProposals')}`);
437
+ for (const p of data.active_proposals) {
438
+ const parts = [
439
+ p.has_proposal ? 'proposal.md ✓' : 'proposal.md ✗',
440
+ p.has_tasks ? 'tasks.md ✓' : 'tasks.md ✗',
441
+ `deltas: ${p.delta_count} files`,
442
+ ];
443
+ console.log(` └─ ${p.name} (${parts.join(' | ')})`);
444
+ }
445
+ console.log(LINE);
446
+ }
447
+ if (data.all_done) {
448
+ console.log(`\n🎉 ${t(locale, 'status.allDone')}`);
449
+ if (data.lifecycle === 'initial')
450
+ console.log(` → ${t(locale, 'launch.suggest')}`);
451
+ console.log(t(locale, 'status.allDoneHint') + '\n');
452
+ }
453
+ else {
454
+ const firstIncomplete = data.phases.find(p => !p.done && !p.skipped);
455
+ console.log(`\n💡 ${t(locale, 'status.suggestNext', { label: firstIncomplete.label })}`);
456
+ console.log(` → ${data.suggestion}\n`);
277
457
  }
278
- console.log(t(locale, 'status.allDoneHint') + '\n');
279
- }
280
- else {
281
- const firstIncomplete = data.phases.find(p => !p.done && !p.skipped);
282
- console.log(`\n💡 ${t(locale, 'status.suggestNext', { label: firstIncomplete.label })}`);
283
- console.log(` → ${data.suggestion}\n`);
284
458
  }
285
459
  }
286
460
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAerE;AAED,wBAAgB,IAAI,SA2GnB"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AASA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAerE;AAED,wBAAgB,IAAI,SA8HnB"}
@@ -1,9 +1,11 @@
1
1
  import { readFileSync, writeFileSync, existsSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
+ import { parse as parseYaml } from 'yaml';
3
4
  import { readLocale, t } from '../i18n.js';
4
5
  import { createAgentsMd, deploySkills, deploySpecs, deployOpenCodePlugin, deployCodexPlugin } from './init.js';
5
6
  import { syncResourceIndex } from '../lib/sync-resource-index.js';
6
7
  import { VERSION } from '../lib/json-output.js';
8
+ import { migrateProjectLifecycle } from '../lib/migrate-lifecycle.js';
7
9
  export function syncLogosProjectName(root, projectName) {
8
10
  const yamlPath = join(root, 'logos', 'logos-project.yaml');
9
11
  if (!existsSync(yamlPath))
@@ -31,7 +33,26 @@ export function sync() {
31
33
  const rawAiTool = config.aiTool || 'cursor';
32
34
  const aiTools = Array.isArray(rawAiTool) ? rawAiTool : [rawAiTool];
33
35
  const primaryAiTool = aiTools[0];
34
- const lifecycle = config.lifecycle || 'initial';
36
+ // Run migration for old projects (config.lifecycle === 'active' → mark module launched)
37
+ const migration = migrateProjectLifecycle(root);
38
+ if (migration.migrated && migration.autoMarked) {
39
+ console.log(` ✓ ${t(locale, 'launch.migrationAuto', { module: migration.autoMarked })}`);
40
+ }
41
+ else if (migration.migrated && migration.warned) {
42
+ console.error(` ⚠ ${t(locale, 'launch.migrationWarn')}`);
43
+ }
44
+ // Derive isLaunched from modules
45
+ const yamlPath = join(root, 'logos', 'logos-project.yaml');
46
+ let isLaunched = false;
47
+ if (existsSync(yamlPath)) {
48
+ try {
49
+ const yaml = parseYaml(readFileSync(yamlPath, 'utf-8'));
50
+ if (Array.isArray(yaml?.modules)) {
51
+ isLaunched = yaml.modules.some(m => m.lifecycle === 'launched');
52
+ }
53
+ }
54
+ catch { /* ignore */ }
55
+ }
35
56
  const namesynced = syncLogosProjectName(root, projectName);
36
57
  if (namesynced) {
37
58
  console.log(` ✓ logos-project.yaml name synced to "${projectName}"`);
@@ -70,12 +91,12 @@ export function sync() {
70
91
  writeFileSync(configPath, JSON.stringify(config, null, 2));
71
92
  console.log(' ✓ sourceRoots added to logos.config.json');
72
93
  }
73
- writeFileSync(join(root, 'AGENTS.md'), createAgentsMd(locale, primaryAiTool, 'agents', lifecycle));
94
+ writeFileSync(join(root, 'AGENTS.md'), createAgentsMd(locale, primaryAiTool, 'agents', isLaunched));
74
95
  console.log(' ✓ AGENTS.md updated');
75
- writeFileSync(join(root, 'CLAUDE.md'), createAgentsMd(locale, primaryAiTool, 'claude', lifecycle));
96
+ writeFileSync(join(root, 'CLAUDE.md'), createAgentsMd(locale, primaryAiTool, 'claude', isLaunched));
76
97
  console.log(' ✓ CLAUDE.md updated');
77
98
  for (const tool of aiTools) {
78
- const deployResult = deploySkills(root, tool, locale, lifecycle);
99
+ const deployResult = deploySkills(root, tool, locale, isLaunched);
79
100
  if (deployResult && deployResult.count > 0) {
80
101
  console.log(` ✓ ${t(locale, 'init.skillsSynced', { count: String(deployResult.count), target: deployResult.target })}`);
81
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}