Skip to content

Commit 07c5b64

Browse files
authored
fix: recover Classic roots and parse raw Codex patches (#283)
* fix: recover Classic roots and parse raw Codex patches * fix(classic): allow standalone OpenSpec root coexistence * fix(classic): enforce valid layout evidence boundaries * fix(security): update vulnerable dependencies * fix(test): align standalone OpenSpec layout expectation
1 parent 966d6cb commit 07c5b64

40 files changed

Lines changed: 1158 additions & 979 deletions

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
All notable changes to @rpamis/comet will be documented in this file.
44

5+
## What's Changed [0.4.0-beta.16] - 2026-08-05
6+
7+
### Fixed
8+
9+
- **Classic/OpenSpec coexistence**: Classic now uses only the configured artifact root, so a standalone OpenSpec project can keep the other root at the same time; explicit root migration still refuses to overwrite a non-empty destination.
10+
- **Codex Native Hook parsing**: Raw `apply_patch` input now attributes Add, Update, Delete, and standard `+++ b/...` file headers so Native phase protection is applied consistently.
11+
12+
### Security
13+
14+
- **Dependency security updates**: Updated PostCSS, Undici, and brace-expansion to patched releases to address reported dependency vulnerabilities.
15+
516
## What's Changed [0.4.0-beta.15] - 2026-08-05
617

718
### Added

app/commands/doctor.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,11 +309,16 @@ async function checkClassicLayout(projectPath: string): Promise<CheckResult> {
309309
};
310310
}
311311
if (inspection.dualRoots) {
312+
const configuredRoot = path
313+
.relative(projectPath, inspection.paths.openSpecRoot)
314+
.replaceAll('\\', '/');
315+
const alternateRoot = path
316+
.relative(projectPath, inspection.alternateRoot)
317+
.replaceAll('\\', '/');
312318
return {
313319
check: 'Classic artifact layout',
314-
status: 'fail',
315-
message:
316-
'both openspec/ and docs/openspec/ exist; Classic writes are blocked until the conflict is resolved',
320+
status: 'pass',
321+
message: `${inspection.paths.artifactLayout}: configured ${configuredRoot}/ present; standalone OpenSpec root ${alternateRoot}/ also present and ignored by Comet`,
317322
};
318323
}
319324
const configuredRoot = path

assets/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "0.4.0-beta.15",
2+
"version": "0.4.0-beta.16",
33
"skills": [
44
"comet/SKILL.md",
55
"comet-classic/SKILL.md",

assets/skills/comet-native/scripts/comet-native-hook-guard.mjs

Lines changed: 43 additions & 43 deletions
Large diffs are not rendered by default.

assets/skills/comet-native/scripts/comet-native-runtime.mjs

Lines changed: 89 additions & 89 deletions
Large diffs are not rendered by default.

assets/skills/comet/scripts/comet-archive.mjs

Lines changed: 65 additions & 65 deletions
Large diffs are not rendered by default.

assets/skills/comet/scripts/comet-guard.mjs

Lines changed: 95 additions & 95 deletions
Large diffs are not rendered by default.

assets/skills/comet/scripts/comet-handoff.mjs

Lines changed: 67 additions & 67 deletions
Large diffs are not rendered by default.

assets/skills/comet/scripts/comet-hook-guard.mjs

Lines changed: 58 additions & 58 deletions
Large diffs are not rendered by default.

assets/skills/comet/scripts/comet-hook-router.mjs

Lines changed: 54 additions & 54 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)