claudekit-codex-sync 0.2.3 → 0.2.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudekit-codex-sync",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Sync ClaudeKit skills, agents, and config to Codex CLI",
5
5
  "main": "bin/ck-codex-sync.js",
6
6
  "bin": {
@@ -0,0 +1,78 @@
1
+ # Test Report: claudekit-codex-sync v0.2.3+fix
2
+
3
+ **Date:** 2026-02-23 16:25
4
+ **Scope:** Pre-push deep verification after eliminating `claudekit/` subdirectory
5
+ **Changes tested:** `constants.py`, `clean_target.py`, `asset_sync_dir.py`, `asset_sync_zip.py`, `path_normalizer.py`, `prompt_exporter.py`
6
+
7
+ ---
8
+
9
+ ## 1. Unit Tests — 22/22 ✅
10
+
11
+ | Module | Tests | Status |
12
+ |---|---|---|
13
+ | `test_clean_target.py` | 5 | ✅ |
14
+ | `test_cli_args.py` | 6 | ✅ |
15
+ | `test_config_enforcer.py` | 4 | ✅ |
16
+ | `test_path_normalizer.py` | 7 | ✅ |
17
+
18
+ ## 2. Compile Check — 8/8 ✅
19
+
20
+ All 8 modified Python modules compile without errors.
21
+
22
+ ## 3. E2E Sync (local source, `--fresh`) — ✅
23
+
24
+ | Metric | Value |
25
+ |---|---|
26
+ | Assets added | 146 |
27
+ | Skills added | 54 (4 skipped) |
28
+ | Normalize changed | 28 |
29
+ | Agents converted & registered | 14 |
30
+ | Prompts generated | 20 |
31
+ | Verify | codex=ok, copywriting=ok |
32
+
33
+ ## 4. Filesystem Validation — 7/7 ✅
34
+
35
+ | Check | Result |
36
+ |---|---|
37
+ | `~/.codex/claudekit/` does NOT exist | ✅ |
38
+ | `~/.codex/scripts/` (17 files) | ✅ |
39
+ | `~/.codex/rules/` (5 files) | ✅ |
40
+ | `~/.codex/commands/` (22 files) | ✅ |
41
+ | `~/.codex/hooks/` (81 files) | ✅ |
42
+ | `~/.codex/output-styles/` (6 files) | ✅ |
43
+ | `~/.codex/.ck.json` + `.env.example` | ✅ |
44
+
45
+ ## 5. Reference Integrity — 5/5 ✅
46
+
47
+ Zero stale `claudekit/` filesystem paths found in:
48
+
49
+ | Location | Stale refs |
50
+ |---|---|
51
+ | Skills | 0 |
52
+ | Agent TOMLs | 0 |
53
+ | Prompts | 0 (1 GitHub URL, correctly excluded) |
54
+ | Rules | 0 |
55
+ | Commands | 0 |
56
+
57
+ ## 6. Runtime Script Execution — 5/5 ✅
58
+
59
+ | Script | Language | Exit | Notes |
60
+ |---|---|---|---|
61
+ | `set-active-plan.cjs` | Node.js | 0 | Requires `../hooks/lib/` — now synced |
62
+ | `validate-docs.cjs` | Node.js | 0 | Generated validation report |
63
+ | `worktree.cjs list` | Node.js | 0 | Listed 1 worktree |
64
+ | `ck-help.py` | Python | 0 | CK help search works |
65
+ | `fix-shebang-permissions.sh` | Bash | 0 | Expected "Error: .claude not found" (runs from codex context) |
66
+
67
+ ---
68
+
69
+ ## Bugs Found & Fixed
70
+
71
+ | Bug | Severity | Fix |
72
+ |---|---|---|
73
+ | Scripts crash with `MODULE_NOT_FOUND` for `../hooks/lib/` | **High** | Added `hooks` to `ASSET_DIRS` in `constants.py` |
74
+ | Stale `claudekit/` dir not cleaned on fresh sync | **Medium** | Added `"claudekit"` to clean list in `clean_target.py` |
75
+
76
+ ## Verdict
77
+
78
+ **✅ ALL 6 TEST CATEGORIES PASS — READY TO PUSH**
@@ -10,8 +10,8 @@ def clean_target(codex_home: Path, *, dry_run: bool) -> int:
10
10
  """Remove agents, skills (keep .venv), prompts, asset dirs before fresh sync."""
11
11
  removed = 0
12
12
 
13
- # Clean top-level asset dirs (was: "agents", "prompts", "claudekit")
14
- for subdir in ("agents", "prompts", "commands", "output-styles", "rules", "scripts", "hooks"):
13
+ # Clean top-level asset dirs + legacy claudekit/ from pre-v0.2.3
14
+ for subdir in ("agents", "prompts", "commands", "output-styles", "rules", "scripts", "hooks", "claudekit"):
15
15
  target = codex_home / subdir
16
16
  if target.exists():
17
17
  count = sum(1 for item in target.rglob("*") if item.is_file())