@c-d-cc/reap 0.15.7 → 0.15.9

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.
package/RELEASE_NOTICE.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Release Notices
2
2
 
3
+ ## v0.15.9
4
+ ### en
5
+ Fixed release notice not displaying after `reap update`. Path resolution now uses `require.resolve` instead of `__dirname`.
6
+ ### ko
7
+ `reap update` 후 릴리스 공지가 표시되지 않던 문제 수정. 경로 탐색을 `__dirname` 대신 `require.resolve` 사용으로 변경.
8
+
9
+ ## v0.15.8
10
+ ### en
11
+ Removed `version` field from config.yml. No more uncommitted changes after `reap update`.
12
+ ### ko
13
+ config.yml에서 `version` 필드 제거. `reap update` 후 uncommitted changes 발생 문제 해소.
14
+
3
15
  ## v0.15.7
4
16
  ### en
5
17
  Renamed UPDATE_NOTICE.md to RELEASE_NOTICE.md. Notice content now inline (no GitHub Discussions dependency).
package/dist/cli.js CHANGED
@@ -9033,6 +9033,10 @@ class ConfigManager {
9033
9033
  added.push(key);
9034
9034
  }
9035
9035
  }
9036
+ if (config.version !== undefined) {
9037
+ delete config.version;
9038
+ added.push("version(removed)");
9039
+ }
9036
9040
  if (config.lastSyncedCommit !== undefined) {
9037
9041
  if (!config.lastSyncedGeneration && config.lastSyncedCommit) {
9038
9042
  config.lastSyncedGeneration = "legacy";
@@ -10226,7 +10230,7 @@ function checkLatestVersion() {
10226
10230
  }
10227
10231
  }
10228
10232
  function getCurrentVersion() {
10229
- return "0.15.7";
10233
+ return "0.15.9";
10230
10234
  }
10231
10235
  function formatVersionLine(current, skipCheck) {
10232
10236
  if (skipCheck) {
@@ -12425,7 +12429,7 @@ async function execute17(paths) {
12425
12429
  const gm = new GenerationManager(paths);
12426
12430
  const state = await gm.current();
12427
12431
  const configContent = await readTextFile(paths.config);
12428
- const installedVersion = "0.15.7";
12432
+ const installedVersion = "0.15.9";
12429
12433
  const autoUpdate = configContent?.match(/autoUpdate:\s*(true|false)/)?.[1] === "true";
12430
12434
  const versionDisplay = formatVersionLine(installedVersion, !autoUpdate);
12431
12435
  const rawLang = detectLanguage(configContent);
@@ -14174,7 +14178,7 @@ async function execute30(paths) {
14174
14178
  const lines = [
14175
14179
  `REAP Configuration (${paths.config})`,
14176
14180
  "",
14177
- ` version: ${config.version}`,
14181
+ ` version: ${"0.15.9"} (package)`,
14178
14182
  ` project: ${config.project}`,
14179
14183
  ` entryMode: ${config.entryMode}`,
14180
14184
  ` strict: ${config.strict ?? false}`,
@@ -14480,7 +14484,7 @@ async function runCommand(command, phase, argv = []) {
14480
14484
  try {
14481
14485
  const config = await ConfigManager.read(paths);
14482
14486
  if (config.autoIssueReport) {
14483
- const version = "0.15.7";
14487
+ const version = "0.15.9";
14484
14488
  const errMsg = err instanceof Error ? err.message : String(err);
14485
14489
  const title = `[auto] reap run ${command}: ${errMsg.slice(0, 80)}`;
14486
14490
  const body = [
@@ -15362,7 +15366,6 @@ async function initProject(projectRoot, projectName, entryMode, preset, onProgre
15362
15366
  }
15363
15367
  const detectedLanguage = await AgentRegistry.readLanguage();
15364
15368
  const config = {
15365
- version: "0.15.7",
15366
15369
  project: projectName,
15367
15370
  entryMode,
15368
15371
  strict: false,
@@ -15483,9 +15486,6 @@ async function migrateHooks(dryRun = false) {
15483
15486
  init_fs();
15484
15487
  init_config();
15485
15488
 
15486
- // src/core/migrations/index.ts
15487
- init_config();
15488
-
15489
15489
  // src/core/migration.ts
15490
15490
  init_fs();
15491
15491
  init_generation();
@@ -15609,8 +15609,6 @@ async function migrateLineage(paths) {
15609
15609
 
15610
15610
  // src/core/migrations/0.0.0-to-0.10.0.ts
15611
15611
  var migration_0_0_0_to_0_10_0 = {
15612
- fromVersion: "0.0.0",
15613
- toVersion: "0.10.0",
15614
15612
  description: "Lineage DAG migration — legacy gen-NNN directories to gen-NNN-HASH format",
15615
15613
  async check(paths) {
15616
15614
  return needsMigration(paths);
@@ -15632,44 +15630,15 @@ var migration_0_0_0_to_0_10_0 = {
15632
15630
  var MIGRATIONS = [
15633
15631
  migration_0_0_0_to_0_10_0
15634
15632
  ];
15635
- function compareSemver(a, b) {
15636
- const pa = a.split(".").map(Number);
15637
- const pb = b.split(".").map(Number);
15638
- for (let i = 0;i < 3; i++) {
15639
- const na = pa[i] ?? 0;
15640
- const nb = pb[i] ?? 0;
15641
- if (na < nb)
15642
- return -1;
15643
- if (na > nb)
15644
- return 1;
15645
- }
15646
- return 0;
15647
- }
15648
- function normalizeVersion(version) {
15649
- if (!version)
15650
- return "0.0.0";
15651
- if (version === "0.1.0")
15652
- return "0.0.0";
15653
- return version.replace(/\+.*$/, "");
15654
- }
15655
15633
 
15656
15634
  class MigrationRunner {
15657
- static async run(paths, currentPackageVersion, dryRun = false) {
15658
- const config = await ConfigManager.read(paths);
15659
- const configVersion = normalizeVersion(config.version);
15660
- const targetVersion = normalizeVersion(currentPackageVersion);
15635
+ static async run(paths, dryRun = false) {
15661
15636
  const result = {
15662
15637
  migrated: [],
15663
15638
  skipped: [],
15664
- errors: [],
15665
- fromVersion: configVersion,
15666
- toVersion: targetVersion
15639
+ errors: []
15667
15640
  };
15668
- if (compareSemver(configVersion, targetVersion) >= 0) {
15669
- return result;
15670
- }
15671
- const applicable = MIGRATIONS.filter((m) => compareSemver(configVersion, m.toVersion) < 0).filter((m) => compareSemver(m.toVersion, targetVersion) <= 0).sort((a, b) => compareSemver(a.toVersion, b.toVersion));
15672
- for (const migration of applicable) {
15641
+ for (const migration of MIGRATIONS) {
15673
15642
  const needs = await migration.check(paths);
15674
15643
  if (!needs) {
15675
15644
  result.skipped.push(migration.description);
@@ -15688,10 +15657,6 @@ class MigrationRunner {
15688
15657
  break;
15689
15658
  }
15690
15659
  }
15691
- if (result.errors.length === 0 && !dryRun) {
15692
- config.version = currentPackageVersion;
15693
- await ConfigManager.write(paths, config);
15694
- }
15695
15660
  return result;
15696
15661
  }
15697
15662
  static getMigrations() {
@@ -15778,9 +15743,6 @@ async function checkConfig(paths, errors, warnings) {
15778
15743
  errors.push(`config.yml: invalid entryMode "${config.entryMode}" (valid: ${validModes.join(", ")})`);
15779
15744
  }
15780
15745
  }
15781
- if (config.version !== undefined && typeof config.version !== "string") {
15782
- warnings.push("config.yml: 'version' should be a string");
15783
- }
15784
15746
  if (config.strict !== undefined && typeof config.strict !== "boolean" && typeof config.strict !== "object") {
15785
15747
  warnings.push("config.yml: 'strict' should be boolean or object");
15786
15748
  }
@@ -16313,8 +16275,7 @@ async function updateProject(projectRoot, dryRun = false) {
16313
16275
  }
16314
16276
  } catch {}
16315
16277
  await migrateLegacyFiles(paths, dryRun, result);
16316
- const currentVersion = "0.15.7";
16317
- const migrationResult = await MigrationRunner.run(paths, currentVersion, dryRun);
16278
+ const migrationResult = await MigrationRunner.run(paths, dryRun);
16318
16279
  for (const m of migrationResult.migrated) {
16319
16280
  result.updated.push(`[migration] ${m}`);
16320
16281
  }
@@ -16339,8 +16300,8 @@ async function updateProject(projectRoot, dryRun = false) {
16339
16300
  try {
16340
16301
  const { execSync: execSync4 } = await import("child_process");
16341
16302
  const errorSummary = migrationResult.errors.join("\\n");
16342
- const title = `Migration failure: ${migrationResult.fromVersion} → ${migrationResult.toVersion}`;
16343
- const body = `## Migration Error\\n\\nFrom: ${migrationResult.fromVersion}\\nTo: ${migrationResult.toVersion}\\n\\n### Errors\\n\\n${errorSummary}`;
16303
+ const title = `Migration failure during update`;
16304
+ const body = `## Migration Error\\n\\n### Errors\\n\\n${errorSummary}`;
16344
16305
  execSync4(`gh issue create --repo c-d-cc/reap --title "${title}" --label "auto-reported,migration" --body "${body}"`, { encoding: "utf-8", timeout: 15000, stdio: "pipe" });
16345
16306
  } catch {}
16346
16307
  }
@@ -16400,11 +16361,18 @@ async function removeDirIfExists(dirPath, label, dryRun, result) {
16400
16361
 
16401
16362
  // src/core/notice.ts
16402
16363
  import { readFileSync } from "fs";
16403
- import { join as join14 } from "path";
16404
- var __dirname = "/home/runner/work/reap/reap/src/core";
16364
+ import { join as join14, dirname as dirname2 } from "path";
16365
+ function findPackageRoot() {
16366
+ try {
16367
+ const pkgPath = __require.resolve("@c-d-cc/reap/package.json");
16368
+ return dirname2(pkgPath);
16369
+ } catch {
16370
+ return process.cwd();
16371
+ }
16372
+ }
16405
16373
  function fetchReleaseNotice(version, language) {
16406
16374
  try {
16407
- const noticePath = join14(__dirname, "../../RELEASE_NOTICE.md");
16375
+ const noticePath = join14(findPackageRoot(), "RELEASE_NOTICE.md");
16408
16376
  const content = readFileSync(noticePath, "utf-8");
16409
16377
  const versionTag = version.startsWith("v") ? version : `v${version}`;
16410
16378
  const versionPattern = new RegExp(`^## ${versionTag.replace(/\./g, "\\.")}\\s*$`, "m");
@@ -16455,7 +16423,7 @@ async function getStatus(projectRoot) {
16455
16423
  const totalCompleted = await mgr.countAllCompleted();
16456
16424
  const integrityResult = await checkIntegrity(paths);
16457
16425
  return {
16458
- version: config.version,
16426
+ version: "0.15.9",
16459
16427
  project: config.project,
16460
16428
  entryMode: config.entryMode,
16461
16429
  lastSyncedGeneration: config.lastSyncedGeneration,
@@ -16778,7 +16746,7 @@ init_fs();
16778
16746
  init_version();
16779
16747
  init_config();
16780
16748
  import { join as join34 } from "path";
16781
- program.name("reap").description("REAP — Recursive Evolutionary Autonomous Pipeline").version("0.15.7");
16749
+ program.name("reap").description("REAP — Recursive Evolutionary Autonomous Pipeline").version("0.15.9");
16782
16750
  program.command("init").description("Initialize a new REAP project (Genesis)").argument("[project-name]", "Project name (defaults to current directory name)").option("-m, --mode <mode>", "Entry mode: greenfield, migration, adoption", "greenfield").option("-p, --preset <preset>", "Bootstrap with a genome preset (e.g., bun-hono-react)").action(async (projectName, options) => {
16783
16751
  try {
16784
16752
  const cwd = process.cwd();
@@ -16835,7 +16803,7 @@ program.command("status").description("Show current project and Generation statu
16835
16803
  const paths = new ReapPaths(cwd);
16836
16804
  const config = await ConfigManager.read(paths);
16837
16805
  const skipCheck = config.autoUpdate === false;
16838
- const installedVersion = "0.15.7";
16806
+ const installedVersion = "0.15.9";
16839
16807
  const versionLine = formatVersionLine(installedVersion, skipCheck);
16840
16808
  console.log(`${versionLine} | Project: ${status.project} (${status.entryMode})`);
16841
16809
  console.log(`Completed Generations: ${status.totalGenerations}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c-d-cc/reap",
3
- "version": "0.15.7",
3
+ "version": "0.15.9",
4
4
  "description": "Recursive Evolutionary Autonomous Pipeline — AI and humans evolve software across generations",
5
5
  "type": "module",
6
6
  "license": "MIT",