oh-my-customcode 1.0.18 → 1.0.19

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/dist/cli/index.js CHANGED
@@ -241,7 +241,7 @@ var init_package = __esm(() => {
241
241
  workspaces: [
242
242
  "packages/*"
243
243
  ],
244
- version: "1.0.18",
244
+ version: "1.0.19",
245
245
  description: "Batteries-included agent harness for Claude Code",
246
246
  type: "module",
247
247
  bin: {
package/dist/index.js CHANGED
@@ -2031,7 +2031,7 @@ var package_default = {
2031
2031
  workspaces: [
2032
2032
  "packages/*"
2033
2033
  ],
2034
- version: "1.0.18",
2034
+ version: "1.0.19",
2035
2035
  description: "Batteries-included agent harness for Claude Code",
2036
2036
  type: "module",
2037
2037
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "1.0.18",
6
+ "version": "1.0.19",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -237,6 +237,7 @@ steps:
237
237
 
238
238
  If either fails:
239
239
  - For wiki-sync failures: delegate to wiki-curator to generate missing pages (`/omcustom:wiki ingest <path>`)
240
+ (Regenerating the wiki source-hash manifest targets `wiki/.source-hashes.json` ALWAYS — NEVER `templates/manifest.json`. Command: `bash .github/scripts/lib/source-hash.sh generate wiki/.source-hashes.json`. Ref #1423.)
240
241
  - For template-sync failures: delegate to mgr-updater to sync `.claude/` -> `templates/.claude/`
241
242
  - After fixes, re-run the scripts until both pass
242
243
 
@@ -299,6 +300,9 @@ steps:
299
300
  Determine NEW version per semver rules below.
300
301
  npm project (package.json exists):
301
302
  a. package.json: jq '.version = "<NEW>"' package.json > package.json.tmp && mv package.json.tmp package.json
303
+ # ⚠ jq '.version=...' PRESERVES the manifest structure {version, lastUpdated, omcustomMinClaudeCode, components[]}.
304
+ # Edit ONLY the .version field — do NOT overwrite templates/manifest.json wholesale (e.g. a source-hash path→hash map).
305
+ # Recover a corrupted manifest: git show HEAD:templates/manifest.json | jq '.version="<NEW>"' > templates/manifest.json (#1423/#1154).
302
306
  b. templates/manifest.json: jq '.version = "<NEW>"' templates/manifest.json > templates/manifest.json.tmp && mv templates/manifest.json.tmp templates/manifest.json
303
307
  c. mgr-gitnerd commit: "chore(release): bump to v<NEW>"
304
308
  d. mgr-gitnerd push develop
@@ -72,6 +72,31 @@ PostToolUse → check:
72
72
  └── Gate: PASS | PARTIAL | FAIL
73
73
  ```
74
74
 
75
+ ## Manifest Integrity Gate
76
+
77
+ Guards `templates/manifest.json` against structure loss — e.g. a `source-hash.sh` path→hash map overwriting the versioned manifest (#1423 incident). The correct source-hash target is `wiki/.source-hashes.json`, never `templates/manifest.json`.
78
+
79
+ ```
80
+ [Manifest Integrity Gate]
81
+ - File: templates/manifest.json (staged)
82
+ - Structure: {version, lastUpdated, omcustomMinClaudeCode, components[]} present?
83
+ - .version field: present?
84
+ - Gate: PASS | FAIL
85
+ ```
86
+
87
+ | Signal | Action | Enforcement |
88
+ |--------|--------|-------------|
89
+ | `.version` missing in staged templates/manifest.json | Block stage, surface recovery hint | Advisory (skill-level, run jq check before commit) |
90
+ | Staged content is a path→hash map (no `{version,…}` keys) | Block stage, surface recovery hint | Advisory (skill-level) |
91
+ | `.version` present + structure intact | Pass gate, proceed | Commit allowed |
92
+
93
+ Deterministic check before staging: `jq -e '.version and .components' templates/manifest.json` must succeed.
94
+
95
+ ```
96
+ [Guard] OK templates/manifest.json — structure validated (.version present)
97
+ [Guard] BLOCK templates/manifest.json — structure lost (path→hash map) — recover: git show HEAD:templates/manifest.json | jq '.version="<NEW>"'
98
+ ```
99
+
75
100
  ## Escalation Integration
76
101
 
77
102
  When guards are triggered, they integrate with existing advisory systems:
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.18",
2
+ "version": "1.0.19",
3
3
  "lastUpdated": "2026-06-26T00:00:00.000Z",
4
4
  "omcustomMinClaudeCode": "2.1.121",
5
5
  "omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",