@erclx/canon 4.44.0 → 4.45.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.44.0",
4
+ "version": "4.45.0",
5
5
  "author": {
6
6
  "name": "Eric Le",
7
7
  "url": "https://github.com/erclx"
@@ -47,7 +47,7 @@ Read these in parallel from the current worktree root (`pwd`), not the main work
47
47
  - `.claude/REQUIREMENTS.md`
48
48
  - `.claude/ARCHITECTURE.md`
49
49
  - `.claude/DESIGN.md`
50
- - `.claude/wireframes/index.md` and every `.claude/wireframes/<surface>.md`
50
+ - `.claude/wireframes/index.md` and every surface file it links to, following a grouped surface's own `index.md` and the siblings it lists rather than stopping at the top-level folder
51
51
 
52
52
  Read the task board from the main worktree root instead, resolving that root the way `claude-worktree` does. It is gitignored scratch and never commits with the branch:
53
53
 
@@ -61,7 +61,7 @@ Review the session for decisions that diverged from the original plan:
61
61
 
62
62
  - Requirements added, removed, or changed scope
63
63
  - Architecture or technical decisions made or revised
64
- - Design or UX decisions that differ from DESIGN.md or any `.claude/wireframes/<surface>.md`
64
+ - Design or UX decisions that differ from DESIGN.md or any wireframe surface file, flat or nested under its own subfolder
65
65
  - Tasks blocked or newly identified
66
66
 
67
67
  Then resolve the diff baseline and match it against the board. From `.canon/tasks/index.md` at the main worktree root, pick the task files whose title or description relates to the changed paths and read the ones Step 1 skipped.
@@ -104,7 +104,7 @@ The verb resolves the board at the main worktree root in-process, which is the r
104
104
 
105
105
  Read `ok` and `reason` out of that record rather than the exit. An operator's shell profile may wrap `canon` in a function that runs the binary and then a second command and takes the second status, which flattens every non-zero exit to zero. A refusal arriving as success leaves the outcome unmarked while the chain moves on, so the board reports shipped work as open and the next session re-plans it.
106
106
 
107
- **REQUIREMENTS.md, ARCHITECTURE.md, DESIGN.md, `.claude/wireframes/<surface>.md`**
107
+ **REQUIREMENTS.md, ARCHITECTURE.md, DESIGN.md, a wireframe surface file (flat or nested)**
108
108
 
109
109
  - Update only the sections affected by session decisions.
110
110
  - Do not rewrite sections unrelated to what changed.
@@ -9,7 +9,7 @@ Mechanics for Step 4 of `claude-docs`. The body owns the skip conditions and the
9
9
 
10
10
  ## Deriving a candidate slug
11
11
 
12
- For each UI-affecting path, derive a candidate surface slug from the file's basename and parent folder (e.g. `web/src/features/mock/MockDemoStrip.tsx` → `mock-demo-strip` or `mock`). Cross-reference against the surface files in `.claude/wireframes/`.
12
+ For each UI-affecting path, derive a candidate surface slug from the file's basename and parent folder (e.g. `web/src/features/mock/MockDemoStrip.tsx` → `mock-demo-strip` or `mock`). Cross-reference against every surface file in `.claude/wireframes/`, including one nested inside a grouped surface's own subfolder (`.claude/wireframes/<group>/<surface>.md`), by walking the tree rather than globbing the top level alone.
13
13
 
14
14
  ## Findings
15
15
 
@@ -32,7 +32,7 @@ TODO: describe when and where this surface appears.
32
32
  - TODO
33
33
  ```
34
34
 
35
- Skip the write when the slug would collide with an existing file (different surface, same slug). Surface the collision in the report instead.
35
+ Skip the write when the slug would collide with an existing file, flat or nested (different surface, same slug). Surface the collision in the report instead.
36
36
 
37
37
  ## Output
38
38
 
@@ -23,7 +23,7 @@ Read these in parallel from the project root, skipping any that do not exist:
23
23
  Also read these when the feature touches code or UI. Skip them for prose, docs, catalog, or config-only changes:
24
24
 
25
25
  - `.claude/DESIGN.md`: tokens, typography, spacing, and component rules
26
- - `.claude/wireframes/index.md` + the surface files relevant to the feature: intended UI layout and behavior. Read `index.md` first, then load only the per-surface files (`.claude/wireframes/<surface>.md`) the feature actually touches. Do not read the whole folder speculatively.
26
+ - `.claude/wireframes/index.md` + the surface files relevant to the feature: intended UI layout and behavior. Read `index.md` first, then follow only the links the feature actually touches, each a flat `.claude/wireframes/<surface>.md` or a grouped surface's own `.claude/wireframes/<surface>/index.md` and the siblings it lists. Do not read the whole folder speculatively.
27
27
 
28
28
  When the plan adds or revises a surface, the wireframe file follows `${CLAUDE_SKILL_DIR}/../../standards/wireframes.md`.
29
29
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@erclx/canon",
3
3
  "type": "module",
4
- "version": "4.44.0",
4
+ "version": "4.45.0",
5
5
  "description": "Infrastructure and quality tooling for developer workflows",
6
6
  "license": "MIT",
7
7
  "bin": {