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
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -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:
|
package/templates/manifest.json
CHANGED