@erclx/canon 5.47.0 → 5.49.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.
- package/claude/.claude-plugin/plugin.json +1 -1
- package/claude/skills/auto-ship/SKILL.md +1 -1
- package/claude/skills/git-pr/references/closing-issues.md +2 -0
- package/claude/skills/plan-feature/SKILL.md +18 -15
- package/claude/skills/plan-feature/references/batches.md +5 -5
- package/claude/skills/plan-feature/references/plan.md +82 -33
- package/claude/skills/plan-groundwork/SKILL.md +8 -0
- package/claude/skills/plan-groundwork/references/groundwork.md +2 -1
- package/claude/skills/plan-intake/SKILL.md +8 -0
- package/claude/skills/plan-intake/references/intake.md +9 -1
- package/claude/skills/plan-ready/REQUIREMENT.md +3 -3
- package/claude/skills/plan-ready/SKILL.md +3 -3
- package/claude/skills/plan-ready/references/assembly.md +7 -7
- package/claude/skills/plan-ready/references/ready.md +8 -6
- package/claude/skills/review-ui/REQUIREMENT.md +2 -2
- package/claude/skills/review-ui/SKILL.md +7 -14
- package/claude/skills/review-ui/references/close-out.md +1 -1
- package/claude/skills/review-ui/references/drive-copy.md +38 -0
- package/claude/skills/review-ui/references/post.md +36 -3
- package/claude/skills/review-ui/references/tick.md +4 -1
- package/claude/skills/review-ui/references/verb-absent.md +18 -0
- package/claude/skills/role-orchestrator/SKILL.md +3 -2
- package/claude/skills/role-orchestrator/references/orchestrator-dispatch.md +1 -1
- package/claude/skills/role-orchestrator/references/orchestrator-hand-launch.md +60 -0
- package/claude/skills/role-orchestrator/references/orchestrator-launch.md +5 -0
- package/claude/skills/role-orchestrator/references/orchestrator-parked.md +1 -1
- package/claude/skills/role-orchestrator/references/orchestrator-poll.md +1 -1
- package/claude/skills/role-orchestrator/references/orchestrator-refill.md +4 -2
- package/claude/skills/role-orchestrator/references/orchestrator-reviewer-launch.md +1 -1
- package/claude/skills/role-planner/SKILL.md +1 -1
- package/claude/skills/role-reviewer/SKILL.md +1 -1
- package/claude/skills/role-worker/SKILL.md +4 -2
- package/claude/skills/session-compact/references/handoff-note.md +3 -1
- package/claude/skills/session-map/references/session.md +1 -1
- package/claude/skills/task-board/references/board.md +2 -2
- package/claude/skills/task-board/references/tasks.md +5 -3
- package/claude/skills/task-complete/SKILL.md +1 -0
- package/claude/skills/task-complete/references/archive.md +2 -1
- package/docs/agents/migrate.md +2 -2
- package/docs/agents/records.md +1 -1
- package/docs/target/migrations.md +4 -2
- package/docs/workflow/operating-model.md +2 -2
- package/docs/workflow/parallel-features.md +2 -2
- package/package.json +1 -1
- package/src/commands/claude.ts +4 -0
- package/src/commands/migrate.ts +5 -4
- package/src/commands/pr.ts +712 -58
- package/src/commands/records.ts +45 -8
- package/src/commands/tasks.ts +21 -1
- package/src/hooks/post-merge.ts +11 -0
- package/src/migrate/session-defaults.ts +20 -5
- package/src/pr/drive-copy.ts +218 -0
- package/src/pr/lift.ts +19 -0
- package/src/pr/local.ts +26 -0
- package/src/pr/merge.ts +175 -0
- package/src/pr/rest.ts +3 -0
- package/src/pr/review-scope.ts +40 -1
- package/src/pr/tick.ts +21 -1
- package/src/records/structure.ts +147 -0
- package/src/records/validate.ts +113 -12
- package/src/tasks/archive.ts +154 -8
- package/src/tasks/board.ts +68 -13
- package/src/tasks/closes.ts +9 -5
- package/src/tasks/validate.ts +43 -4
- package/tooling/base/configs/.github/workflows/pr-local-preview.yml +1 -1
- package/tooling/claude/reference.md +3 -1
- package/tooling/claude/seeds/.claude/settings.json +1 -1
|
@@ -32,9 +32,9 @@ One warm session holds the cross-feature call and reviews. Cold worker sessions
|
|
|
32
32
|
5. The reviewer tells the session holding the branch to run `review-address`, found with `canon sessions list --branch`, once a pass posts a finding at any severity.
|
|
33
33
|
6. The worker addresses the findings, rebases onto `origin/main` if a sibling landed on its files, pushes, and asks that reviewer for a re-review of the added commits.
|
|
34
34
|
7. A pass posts `## Review` while anything is open and `## Review closed` when nothing is. The reviewer then runs `canon pr lift`.
|
|
35
|
-
8. The human merges
|
|
35
|
+
8. The human merges with `canon pr merge <number>`. The orchestrator tells any trailing worker whose files the merge touched to run `review-address`, which rebases.
|
|
36
36
|
|
|
37
|
-
Each worker halts at the PR, and the merge stays a human gate.
|
|
37
|
+
Each worker halts at the PR, and the merge stays a human gate. `canon pr merge` squashes with the body's Summary, Key changes, and Technical context as the message, and the seeded deny rule covers the forms an agent writes by default. The merge button stays for a bot's pull request, such as a dependency bump or a release.
|
|
38
38
|
|
|
39
39
|
## The review layer
|
|
40
40
|
|
|
@@ -32,7 +32,7 @@ Assert the orchestrator role in one warm session with `canon:role-orchestrator`.
|
|
|
32
32
|
|
|
33
33
|
- To pick otherwise, rewrite that line as `overridden at execution to <pick>,` plus the measurement, and add one line to the open task's `## Findings`
|
|
34
34
|
|
|
35
|
-
- `canon records validate plans` reports a plan breaking its standard, and takes `groundwork`, `intake`, and `teach`
|
|
35
|
+
- `canon records validate plans [plan]` reports a plan breaking its standard, plus `structure` misses that never set the exit, and takes `groundwork`, `intake`, and `teach`
|
|
36
36
|
- `canon records push` and `canon records pull` carry `.canon/` to and from a private repository. See [records](../agents/records.md).
|
|
37
37
|
- `canon records size`, `canon records prune-tmp`, and `canon records stale canonical` report folder size, idle scratch, and releases since the requirements review
|
|
38
38
|
- `canon tasks archive` moves a shipped plan to `.canon/plans/archive/` and retargets the task's `Plan:` line
|
|
@@ -58,6 +58,6 @@ Merge order matters only when two branches touch the same file. Expect to rebase
|
|
|
58
58
|
- A parked row is reported when its cited task reached the trunk, whether the cell links it or names its bare label
|
|
59
59
|
- A group header must be the columns the group owns, a `Touches` cell must match its plan, and a `Waiting on` cell renders at most 120 characters
|
|
60
60
|
|
|
61
|
-
`canon:task-board` creates a task file, and `canon:task-complete` marks outcomes. The `post-merge` hook archives the task a merged pull request closed, with its plan, and a `post-rewrite` hook does the same for a rebase pull. Both archive
|
|
61
|
+
`canon:task-board` creates a task file, and `canon:task-complete` marks outcomes. The `post-merge` hook archives the task a merged pull request closed, with its plan, and a `post-rewrite` hook does the same for a rebase pull. Both archive a closed task whose merge carried a PR number, and a slice merged before then moves only its own plan.
|
|
62
62
|
|
|
63
63
|
`CANON_SKIP_RECLAIM`, `CANON_SKIP_UPGRADE`, and `CANON_SKIP_PLUGIN_UPDATE` turn off the three hook steps that act on the machine.
|
package/package.json
CHANGED
package/src/commands/claude.ts
CHANGED
|
@@ -673,6 +673,10 @@ async function runSync(target: string): Promise<number> {
|
|
|
673
673
|
logWarn(
|
|
674
674
|
'settings.json lacks the session defaults. Run `canon migrate session-defaults --write`',
|
|
675
675
|
)
|
|
676
|
+
} else if (defaults.kind === 'planned' && defaults.plan.lacksMergeDeny) {
|
|
677
|
+
logWarn(
|
|
678
|
+
'settings.json lacks the merge deny entries. Run `canon migrate session-defaults --write`',
|
|
679
|
+
)
|
|
676
680
|
}
|
|
677
681
|
|
|
678
682
|
logStep('Scanning .gitignore')
|
package/src/commands/migrate.ts
CHANGED
|
@@ -1421,10 +1421,11 @@ export function register(program: Command): void {
|
|
|
1421
1421
|
'after',
|
|
1422
1422
|
[
|
|
1423
1423
|
'',
|
|
1424
|
-
'Adds Agent and
|
|
1425
|
-
'
|
|
1426
|
-
'
|
|
1427
|
-
'
|
|
1424
|
+
'Adds Agent, Task, Bash(canon pr merge:*), and Bash(gh pr merge:*) to',
|
|
1425
|
+
'permissions.deny in .claude/settings.json, appending only the ones',
|
|
1426
|
+
'the list lacks without reordering it, and sets autoMemoryEnabled to',
|
|
1427
|
+
'false only when the key is absent. A deny entry is never removed and',
|
|
1428
|
+
'an existing autoMemoryEnabled is never changed.',
|
|
1428
1429
|
'',
|
|
1429
1430
|
'A missing settings file is nothing to do. A file that is not valid',
|
|
1430
1431
|
'JSON, or whose permissions or deny has an unexpected shape, is',
|