arcane-cli 1.20.1 → 1.20.2

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.
@@ -46,7 +46,7 @@ Agent autonomy is gamified into ascending power levels. Each level grants broade
46
46
  | Apprentice | Read and propose; changes queued for human merge. |
47
47
  | Wizard | Scoped autonomous edits in approved paths; PRs queued for review. |
48
48
  | Sorcerer | Autonomous topic-branch work; PRs queued for review. |
49
- | Magus | Self-merge within approved scope (fast-forward only). |
49
+ | Magus | Self-merge within approved scope (never squash). |
50
50
  | Archmage | Broadest autonomous authority within an approved repo. |
51
51
 
52
52
  Assign a default power level per agent × per repo. Human approval and commit governance still apply in interactive sessions.
@@ -275,8 +275,10 @@ If an agent encounters a situation outside its defined parameters, it should:
275
275
 
276
276
  4. **Push the branch** to origin (after rebase).
277
277
 
278
- 5. **Merge or queue** based on your power level:
279
- - **Magus+ power level:** self-merge via `git merge --ff-only`, push main, delete branch.
278
+ 5. **Merge or queue** based on your power level — and merge by the mechanism your repository type and working tree allow:
279
+ - **Magus+ power level, in a code repository:** self-merge by completing the PR on the platform, by rebase and fast-forward or merge without fast-forward, never squash. A code repository requires a PR and rejects direct pushes to `main`, so this holds in every working tree.
280
+ - **Magus+ power level, in a docs-only repository's primary checkout:** self-merge via `git merge --ff-only`, push main, delete branch.
281
+ - **Magus+ power level, in a linked worktree or a clone:** self-merge through the platform's PR merge instead. The authority is identical; only the mechanism changes, because a local ff-merge requires checking out `main` and another working tree already holds it.
280
282
  - **Below Magus:** push the branch, report the branch name, and queue for human merge.
281
283
 
282
284
  6. **Delete the branch** (local and remote) after merge.
@@ -285,7 +287,7 @@ If an agent encounters a situation outside its defined parameters, it should:
285
287
 
286
288
  - Use standard commit types: `feat`, `fix`, `docs`, `refactor`, `chore`, etc.
287
289
 
288
- **What happens if ff-only fails:** Another actor merged to main first. This should not happen if you followed step 3. If it does, rebase and retry:
290
+ **What happens if ff-only fails** (a docs-only repository's local merge): Another actor merged to main first. This should not happen if you followed step 3. If it does, rebase and retry, from the primary checkout, since this block checks out `main`:
289
291
 
290
292
  ```bash
291
293
  git fetch origin
@@ -294,6 +296,8 @@ git checkout main
294
296
  git merge --ff-only {your-slug}/type/short-description
295
297
  ```
296
298
 
299
+ From a linked worktree or a clone, stop after the rebase and merge through the platform's PR instead. `git checkout main` there fails with `fatal: 'main' is already used by worktree at '<path>'`.
300
+
297
301
  ### Multi-Agent Concurrency Rules
298
302
 
299
303
  When more than one agent may work in the same repository simultaneously:
@@ -47,7 +47,7 @@ Agent autonomy is gamified into ascending power levels. Each level grants broade
47
47
  | Apprentice | Read and propose; changes queued for human merge. |
48
48
  | Wizard | Scoped autonomous edits in approved paths; PRs queued for review. |
49
49
  | Sorcerer | Autonomous topic-branch work; PRs queued for review. |
50
- | Magus | Self-merge within approved scope (fast-forward only). |
50
+ | Magus | Self-merge within approved scope (never squash). |
51
51
  | Archmage | Broadest autonomous authority within an approved repo. |
52
52
 
53
53
  Assign a default power level per agent × per repo. **Enforcement: explicitly advisory prose (ARC-023) — no check verifies a level was assigned for every agent × repo pair.** Human approval and commit governance still apply in interactive sessions. **Enforcement: structured spell gate (ARC-023) — `spell-commit-work`'s execution-authority table requires exact operator approval for any interactive-context commit regardless of power level, gated by an approval-fingerprint check before `git commit` runs.**
@@ -326,8 +326,9 @@ If an agent encounters a situation outside its defined parameters, it should:
326
326
 
327
327
  4. **Push the branch** to origin (after rebase).
328
328
 
329
- 5. **Merge or queue** based on your power level — and merge by the mechanism your isolation primitive allows (ARC-028 R1):
330
- - **Magus+ power level, in the primary checkout:** self-merge via `git merge --ff-only`, push main, delete branch.
329
+ 5. **Merge or queue** based on your power level — and merge by the mechanism your repository type and isolation primitive allow (ARC-009 §7, ARC-028 R1):
330
+ - **Magus+ power level, in a code repository:** self-merge by completing the PR on the platform, by rebase and fast-forward or merge without fast-forward, never squash (ARC-009 §7). A code repository requires a PR and rejects direct pushes to `main` (`git-conventions.md` → Merge Strategy by Repo Risk), so this holds in every working tree. **Enforcement: structured spell gate (ARC-023) — `spell-commit-work` Step 9 completes a PR only by merge (no fast-forward) or rebase and fast-forward, with squash disabled; the refusal of a direct push to `main` is the platform's branch protection, which no Arcane code path verifies.**
331
+ - **Magus+ power level, in a docs-only repository's primary checkout:** self-merge via `git merge --ff-only`, push main, delete branch.
331
332
  - **Magus+ power level, in a linked worktree or a clone:** self-merge through the platform's PR merge instead. The authority is identical; only the mechanism changes, because a local ff-merge requires checking out `main` and another working tree already holds it. Power level decides *whether* you may merge without review; the isolation primitive decides *how*.
332
333
  - **Below Magus:** push the branch, report the branch name, and queue for human merge. **Enforcement: structured spell gate (ARC-023) — `spell-commit-work`'s execution-authority table and its Step 9 merge-authorization gate (and `spell-create-pull-request`'s Authorization Gate) resolve power level and `exec_allowed` through the EF-27 loader-validated roster before permitting self-merge; below-Magus or unresolved authority always downgrades to human completion.**
333
334
 
@@ -337,7 +338,7 @@ If an agent encounters a situation outside its defined parameters, it should:
337
338
 
338
339
  - Use standard commit types: `feat`, `fix`, `docs`, `refactor`, `chore`, etc. **Enforcement: explicitly advisory prose (ARC-023) — no check in this repo validates an autonomous agent's branch name against that rule; the rename gate in `git-conventions.md` → Branch Naming runs only in interactive sessions.**
339
340
 
340
- **What happens if ff-only fails:** Another actor merged to main first. This should not happen if you followed step 3. If it does, rebase and retry — **from the primary checkout**, since this block checks out `main`:
341
+ **What happens if ff-only fails** (a docs-only repository's local merge): Another actor merged to main first. This should not happen if you followed step 3. If it does, rebase and retry — **from the primary checkout**, since this block checks out `main`:
341
342
 
342
343
  ```bash
343
344
  git fetch origin
@@ -289,7 +289,11 @@ Create the session branch as the **first action** of any session, before any fil
289
289
  stale divergence. Resolve conflicts locally — never push a branch with known merge conflicts.
290
290
  4. **Push the branch to origin** (after rebase).
291
291
  5. **Merge or queue for review** based on power level:
292
- - **Magus+ agents, working in the primary checkout:** self-merge via `git merge --ff-only`, then push main
292
+ - **Magus+ agents, in a code repository:** self-merge by completing the PR on the platform, by
293
+ rebase and fast-forward or merge without fast-forward, never squash (ARC-009 §7). A code
294
+ repository requires a PR and rejects direct pushes to `main` (Merge Strategy by Repo Risk,
295
+ below), so this holds in every working tree.
296
+ - **Magus+ agents in a docs-only repository, working in the primary checkout:** self-merge via `git merge --ff-only`, then push main
293
297
  - **Magus+ agents, working in a linked worktree or a clone:** self-merge through the platform's PR
294
298
  merge instead (ARC-028 R1). The authority is the same; only the mechanism changes, because a
295
299
  local ff-merge requires checking out `main` and the primary checkout already holds it. Power
@@ -123,7 +123,7 @@ Agent autonomy is assigned per agent × per repo using gamified power levels. Se
123
123
  | 1 | **Apprentice** | Agent suggests; human executes | Human pushes all |
124
124
  | 2 | **Wizard** | Scoped autonomous edits in approved paths | Agent pushes branch; PRs queued for review |
125
125
  | 3 | **Sorcerer** | Autonomous topic-branch work | Agent pushes and creates PR; human approves |
126
- | 4 | **Magus** | Self-merge within approved scope — the "Magus+" gate | Agent merges (fast-forward only) |
126
+ | 4 | **Magus** | Self-merge within approved scope — the "Magus+" gate | Agent merges (never squash) |
127
127
  | 5 | **Archmage** | Broadest autonomous authority within an approved repo | Agent drives; human approves policy changes |
128
128
 
129
129
  A common starting policy: cap ops/docs repos at **Wizard**, allow app repos up to **Archmage**, and keep repo creation at **Spectator** (human only).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcane-cli",
3
- "version": "1.20.1",
3
+ "version": "1.20.2",
4
4
  "description": "Arcane framework CLI — scaffold and manage governance files in consuming repositories",
5
5
  "keywords": [
6
6
  "arcane",