@erclx/canon 4.11.0 → 4.12.0

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "canon",
3
3
  "description": "Automated governance, versioning, and discovery tools for Claude Code.",
4
- "version": "4.11.0",
4
+ "version": "4.12.0",
5
5
  "author": {
6
6
  "name": "Eric Le",
7
7
  "url": "https://github.com/erclx"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@erclx/canon",
3
3
  "type": "module",
4
- "version": "4.11.0",
4
+ "version": "4.12.0",
5
5
  "description": "Infrastructure and quality tooling for developer workflows",
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -145,6 +145,12 @@ if (!commandCount) {
145
145
  process.exit(1)
146
146
  }
147
147
 
148
+ const MARK_SVG = (await Bun.file(`${PROJECT_ROOT}/assets/brand/mark.svg`).text()).trim()
149
+ if (!MARK_SVG) {
150
+ console.error("regen-hero: assets/brand/mark.svg read empty, refusing to write a hero with no mark")
151
+ process.exit(1)
152
+ }
153
+
148
154
  const escape = (value) =>
149
155
  value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")
150
156
 
@@ -229,6 +235,7 @@ const values = {
229
235
  GOV_STACK_COUNT: String(gov.stacks.length),
230
236
  TOOLING_STACK_COUNT: String(toolingStacks.length),
231
237
  COMMAND_COUNT: String(commandCount),
238
+ MARK_SVG,
232
239
  SKILL_ENTRIES: markup(featured(skills, FEATURED_SKILLS)),
233
240
  RULE_ENTRIES: entries(deliveredRules),
234
241
  STANDARD_ENTRIES: entries(standards),
@@ -307,7 +307,7 @@ export const TOKENS: DesignTokens = {
307
307
  'Motion is not used. No transition, animation, or keyframe declaration appears on any rendered surface, and the capture pipeline screenshots a static frame.',
308
308
 
309
309
  iconography:
310
- 'No icon library is installed. The surfaces draw literal glyph characters, `✦` for the hero mark and `│ ├ ✓ ! ✗ + - ◆ ◇ ❯` for the terminal framing, and a custom icon has no place to load from.',
310
+ 'No icon library is installed. `assets/brand/mark.svg` is the one authored icon, embedded inline in the hero topbar, and the surfaces otherwise draw literal glyph characters: `│ ├ ✓ ! ✗ + - ◆ ◇ ❯` for the terminal framing.',
311
311
  }
312
312
 
313
313
  /** A role's value, or `undefined` where the record declares no such role. */