arcane-cli 1.20.0 → 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.
- package/dist/assets/.arcane/agents/agent-policies-template.md +8 -4
- package/dist/assets/.arcane/governance/agent-policies.md +5 -4
- package/dist/assets/.arcane/governance/git-conventions.md +5 -1
- package/dist/assets/.arcane/governance/naming-conventions.md +1 -1
- package/dist/assets/report/show-report.template.html +31 -14
- package/package.json +1 -1
|
@@ -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 (
|
|
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
|
|
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
|
|
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 (
|
|
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
|
|
330
|
-
- **Magus+ power level, in
|
|
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
|
|
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,
|
|
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 (
|
|
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).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- @codemagician/arcane-ui v2.
|
|
1
|
+
<!-- @codemagician/arcane-ui v2.16.0 -- SEE LICENSE IN LICENSE. Generated by scripts/build-report-template.tsx. Do not edit by hand. -->
|
|
2
2
|
<!doctype html>
|
|
3
3
|
<html lang="en">
|
|
4
4
|
<head>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<title>{{masthead.title}}</title>
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
9
9
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;600;700&family=Rajdhani:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap">
|
|
10
|
-
<style>:root{--cat-platform:#7fdfff;--cat-docs:#aac0d6;--cat-process:#c3d97a;--cat-fix:#ff7a6b;--cat-decision:#ffb547;--cat-governance:#8ab4ff;--cat-feature:#5cf2a4;--cat-spell:#c9a2ff;--ink-60:#9fb8d6;--f-display:'Chakra Petch', 'Saira Condensed', system-ui, sans-serif;--bg:#000000;--r-corner:var(--r-chamfer);--r-chamfer:2px;--ink-30:#4f6a8a;--ink-10:#1d2a3d;--ink-70:#aac0d6;--f-mono:'JetBrains Mono', ui-monospace, monospace;--bg-1:#060708;--ink-15:#2a3e58;--ink-50:#7c95b5;--ink-90:#e4eaf0;--signal-info:#7fdfff;--signal-alert:#ff3a3a;--signal-warn:#ffb547;--signal-ok:#5cf2a4;--f-ui:'Rajdhani', 'Chakra Petch', system-ui, sans-serif;--ink-80:#c8d5e6;--accent:#ffffff;--ink-100:#ffffff;--stroke-hair:.5px}@media (prefers-color-scheme: light){:root{--cat-platform:#0d6179;--cat-docs:#3d5578;--cat-process:#50600f;--cat-fix:#a42f26;--cat-decision:#844c00;--cat-governance:#2856ad;--cat-feature:#136640;--cat-spell:#6b3fbf;--ink-60:#3d5578;--bg:#f0f4f8;--ink-30:#8aaac8;--ink-10:#cddae8;--ink-70:#2e4260;--bg-1:#e4eaef;--ink-15:#bdd0e2;--ink-50:#435b78;--ink-90:#141e2e;--signal-info:#006181;--signal-alert:#b70000;--signal-warn:#824d00;--signal-ok:#086736;--ink-80:#1f2f46;--accent:#595959;--ink-100:#070c14}}@media print{:root{--cat-platform:#0d6179;--cat-docs:#3d5578;--cat-process:#50600f;--cat-fix:#a42f26;--cat-decision:#844c00;--cat-governance:#2856ad;--cat-feature:#136640;--cat-spell:#6b3fbf;--ink-60:#3d5578;--bg:#f0f4f8;--ink-30:#8aaac8;--ink-10:#cddae8;--ink-70:#2e4260;--bg-1:#e4eaef;--ink-15:#bdd0e2;--ink-50:#435b78;--ink-90:#141e2e;--signal-info:#006181;--signal-alert:#b70000;--signal-warn:#824d00;--signal-ok:#086736;--ink-80:#1f2f46;--accent:#595959;--ink-100:#070c14}}:root[data-theme="dark"]{--cat-platform:#7fdfff;--cat-docs:#aac0d6;--cat-process:#c3d97a;--cat-fix:#ff7a6b;--cat-decision:#ffb547;--cat-governance:#8ab4ff;--cat-feature:#5cf2a4;--cat-spell:#c9a2ff;--ink-60:#9fb8d6;--bg:#000000;--ink-30:#4f6a8a;--ink-10:#1d2a3d;--ink-70:#aac0d6;--bg-1:#060708;--ink-15:#2a3e58;--ink-50:#7c95b5;--ink-90:#e4eaf0;--signal-info:#7fdfff;--signal-alert:#ff3a3a;--signal-warn:#ffb547;--signal-ok:#5cf2a4;--ink-80:#c8d5e6;--accent:#ffffff;--ink-100:#ffffff}:root[data-theme="light"]{--cat-platform:#0d6179;--cat-docs:#3d5578;--cat-process:#50600f;--cat-fix:#a42f26;--cat-decision:#844c00;--cat-governance:#2856ad;--cat-feature:#136640;--cat-spell:#6b3fbf;--ink-60:#3d5578;--bg:#f0f4f8;--ink-30:#8aaac8;--ink-10:#cddae8;--ink-70:#2e4260;--bg-1:#e4eaef;--ink-15:#bdd0e2;--ink-50:#435b78;--ink-90:#141e2e;--signal-info:#006181;--signal-alert:#b70000;--signal-warn:#824d00;--signal-ok:#086736;--ink-80:#1f2f46;--accent:#595959;--ink-100:#070c14}:root:has(#arcane-report-theme-dark:checked){--cat-platform:#7fdfff;--cat-docs:#aac0d6;--cat-process:#c3d97a;--cat-fix:#ff7a6b;--cat-decision:#ffb547;--cat-governance:#8ab4ff;--cat-feature:#5cf2a4;--cat-spell:#c9a2ff;--ink-60:#9fb8d6;--bg:#000000;--ink-30:#4f6a8a;--ink-10:#1d2a3d;--ink-70:#aac0d6;--bg-1:#060708;--ink-15:#2a3e58;--ink-50:#7c95b5;--ink-90:#e4eaf0;--signal-info:#7fdfff;--signal-alert:#ff3a3a;--signal-warn:#ffb547;--signal-ok:#5cf2a4;--ink-80:#c8d5e6;--accent:#ffffff;--ink-100:#ffffff}:root:has(#arcane-report-theme-light:checked){--cat-platform:#0d6179;--cat-docs:#3d5578;--cat-process:#50600f;--cat-fix:#a42f26;--cat-decision:#844c00;--cat-governance:#2856ad;--cat-feature:#136640;--cat-spell:#6b3fbf;--ink-60:#3d5578;--bg:#f0f4f8;--ink-30:#8aaac8;--ink-10:#cddae8;--ink-70:#2e4260;--bg-1:#e4eaef;--ink-15:#bdd0e2;--ink-50:#435b78;--ink-90:#141e2e;--signal-info:#006181;--signal-alert:#b70000;--signal-warn:#824d00;--signal-ok:#086736;--ink-80:#1f2f46;--accent:#595959;--ink-100:#070c14}@layer arcane-ui{.arc-badge[data-variant="pill"] {
|
|
10
|
+
<style>:root{--cat-platform:#7fdfff;--cat-docs:#aac0d6;--cat-process:#c3d97a;--cat-fix:#ff7a6b;--cat-decision:#ffb547;--cat-governance:#8ab4ff;--cat-feature:#5cf2a4;--cat-spell:#c9a2ff;--ink-60:#9fb8d6;--f-display:'Chakra Petch', 'Saira Condensed', system-ui, sans-serif;--bg:#000000;--r-corner:var(--r-chamfer);--r-chamfer:2px;--ink-30:#4f6a8a;--ink-10:#1d2a3d;--ink-70:#aac0d6;--f-mono:'JetBrains Mono', ui-monospace, monospace;--bg-1:#060708;--ink-15:#2a3e58;--ink-50:#7c95b5;--ink-90:#e4eaf0;--signal-info:#7fdfff;--signal-alert:#ff3a3a;--signal-warn:#ffb547;--signal-ok:#5cf2a4;--f-ui:'Rajdhani', 'Chakra Petch', system-ui, sans-serif;--ink-80:#c8d5e6;--accent:#ffffff;--caution-black:#111111;--caution-yellow:#ffd100;--ink-100:#ffffff;--stroke-hair:.5px}@media (prefers-color-scheme: light){:root{--cat-platform:#0d6179;--cat-docs:#3d5578;--cat-process:#50600f;--cat-fix:#a42f26;--cat-decision:#844c00;--cat-governance:#2856ad;--cat-feature:#136640;--cat-spell:#6b3fbf;--ink-60:#3d5578;--bg:#f0f4f8;--ink-30:#8aaac8;--ink-10:#cddae8;--ink-70:#2e4260;--bg-1:#e4eaef;--ink-15:#bdd0e2;--ink-50:#435b78;--ink-90:#141e2e;--signal-info:#006181;--signal-alert:#b70000;--signal-warn:#824d00;--signal-ok:#086736;--ink-80:#1f2f46;--accent:#595959;--ink-100:#070c14}}@media print{:root{--cat-platform:#0d6179;--cat-docs:#3d5578;--cat-process:#50600f;--cat-fix:#a42f26;--cat-decision:#844c00;--cat-governance:#2856ad;--cat-feature:#136640;--cat-spell:#6b3fbf;--ink-60:#3d5578;--bg:#f0f4f8;--ink-30:#8aaac8;--ink-10:#cddae8;--ink-70:#2e4260;--bg-1:#e4eaef;--ink-15:#bdd0e2;--ink-50:#435b78;--ink-90:#141e2e;--signal-info:#006181;--signal-alert:#b70000;--signal-warn:#824d00;--signal-ok:#086736;--ink-80:#1f2f46;--accent:#595959;--ink-100:#070c14}}:root[data-theme="dark"]{--cat-platform:#7fdfff;--cat-docs:#aac0d6;--cat-process:#c3d97a;--cat-fix:#ff7a6b;--cat-decision:#ffb547;--cat-governance:#8ab4ff;--cat-feature:#5cf2a4;--cat-spell:#c9a2ff;--ink-60:#9fb8d6;--bg:#000000;--ink-30:#4f6a8a;--ink-10:#1d2a3d;--ink-70:#aac0d6;--bg-1:#060708;--ink-15:#2a3e58;--ink-50:#7c95b5;--ink-90:#e4eaf0;--signal-info:#7fdfff;--signal-alert:#ff3a3a;--signal-warn:#ffb547;--signal-ok:#5cf2a4;--ink-80:#c8d5e6;--accent:#ffffff;--ink-100:#ffffff}:root[data-theme="light"]{--cat-platform:#0d6179;--cat-docs:#3d5578;--cat-process:#50600f;--cat-fix:#a42f26;--cat-decision:#844c00;--cat-governance:#2856ad;--cat-feature:#136640;--cat-spell:#6b3fbf;--ink-60:#3d5578;--bg:#f0f4f8;--ink-30:#8aaac8;--ink-10:#cddae8;--ink-70:#2e4260;--bg-1:#e4eaef;--ink-15:#bdd0e2;--ink-50:#435b78;--ink-90:#141e2e;--signal-info:#006181;--signal-alert:#b70000;--signal-warn:#824d00;--signal-ok:#086736;--ink-80:#1f2f46;--accent:#595959;--ink-100:#070c14}:root:has(#arcane-report-theme-dark:checked){--cat-platform:#7fdfff;--cat-docs:#aac0d6;--cat-process:#c3d97a;--cat-fix:#ff7a6b;--cat-decision:#ffb547;--cat-governance:#8ab4ff;--cat-feature:#5cf2a4;--cat-spell:#c9a2ff;--ink-60:#9fb8d6;--bg:#000000;--ink-30:#4f6a8a;--ink-10:#1d2a3d;--ink-70:#aac0d6;--bg-1:#060708;--ink-15:#2a3e58;--ink-50:#7c95b5;--ink-90:#e4eaf0;--signal-info:#7fdfff;--signal-alert:#ff3a3a;--signal-warn:#ffb547;--signal-ok:#5cf2a4;--ink-80:#c8d5e6;--accent:#ffffff;--ink-100:#ffffff}:root:has(#arcane-report-theme-light:checked){--cat-platform:#0d6179;--cat-docs:#3d5578;--cat-process:#50600f;--cat-fix:#a42f26;--cat-decision:#844c00;--cat-governance:#2856ad;--cat-feature:#136640;--cat-spell:#6b3fbf;--ink-60:#3d5578;--bg:#f0f4f8;--ink-30:#8aaac8;--ink-10:#cddae8;--ink-70:#2e4260;--bg-1:#e4eaef;--ink-15:#bdd0e2;--ink-50:#435b78;--ink-90:#141e2e;--signal-info:#006181;--signal-alert:#b70000;--signal-warn:#824d00;--signal-ok:#086736;--ink-80:#1f2f46;--accent:#595959;--ink-100:#070c14}@layer arcane-ui{.arc-badge[data-variant="pill"] {
|
|
11
11
|
display: inline-flex;
|
|
12
12
|
align-items: center;
|
|
13
13
|
gap: 6px;
|
|
@@ -318,16 +318,33 @@ font-style: italic;
|
|
|
318
318
|
.arc-ledger-row > .arc-badge {
|
|
319
319
|
justify-self: end;
|
|
320
320
|
}
|
|
321
|
-
.arc-
|
|
321
|
+
.arc-action-required {
|
|
322
322
|
margin-bottom: 26px;
|
|
323
323
|
}
|
|
324
|
-
.arc-
|
|
324
|
+
.arc-action-required__stripe {
|
|
325
|
+
display: block;
|
|
326
|
+
height: 6px;
|
|
327
|
+
background: repeating-linear-gradient(
|
|
328
|
+
-45deg,
|
|
329
|
+
var(--caution-yellow) 0 8px,
|
|
330
|
+
var(--caution-black) 8px 16px
|
|
331
|
+
);
|
|
332
|
+
-webkit-print-color-adjust: exact;
|
|
333
|
+
print-color-adjust: exact;
|
|
334
|
+
}
|
|
335
|
+
.arc-action-required__stripe:first-child {
|
|
336
|
+
margin-bottom: 12px;
|
|
337
|
+
}
|
|
338
|
+
.arc-action-required__stripe:last-child {
|
|
339
|
+
margin-top: 12px;
|
|
340
|
+
}
|
|
341
|
+
.arc-action-required__head {
|
|
325
342
|
display: flex;
|
|
326
343
|
align-items: baseline;
|
|
327
344
|
gap: 10px;
|
|
328
345
|
margin-bottom: 8px;
|
|
329
346
|
}
|
|
330
|
-
.arc-
|
|
347
|
+
.arc-action-required__title {
|
|
331
348
|
font-family: var(--f-display);
|
|
332
349
|
font-weight: 600;
|
|
333
350
|
font-size: 12px;
|
|
@@ -336,12 +353,12 @@ text-transform: uppercase;
|
|
|
336
353
|
color: var(--ink-90);
|
|
337
354
|
margin: 0;
|
|
338
355
|
}
|
|
339
|
-
.arc-
|
|
356
|
+
.arc-action-required__count {
|
|
340
357
|
font-family: var(--f-mono);
|
|
341
358
|
font-size: 11px;
|
|
342
359
|
color: var(--ink-50);
|
|
343
360
|
}
|
|
344
|
-
.arc-
|
|
361
|
+
.arc-action-required__list {
|
|
345
362
|
list-style: none;
|
|
346
363
|
margin: 0;
|
|
347
364
|
padding: 0;
|
|
@@ -349,20 +366,20 @@ display: flex;
|
|
|
349
366
|
flex-direction: column;
|
|
350
367
|
gap: 8px;
|
|
351
368
|
}
|
|
352
|
-
.arc-
|
|
369
|
+
.arc-action-required__item {
|
|
353
370
|
border: 1px solid var(--ink-15);
|
|
354
371
|
border-left: 2px solid var(--signal-warn);
|
|
355
372
|
border-radius: var(--r-corner);
|
|
356
373
|
background: var(--bg-1);
|
|
357
374
|
padding: 12px 16px;
|
|
358
375
|
}
|
|
359
|
-
.arc-
|
|
376
|
+
.arc-action-required__link {
|
|
360
377
|
color: var(--accent);
|
|
361
378
|
}
|
|
362
|
-
.arc-
|
|
379
|
+
.arc-action-required__text {
|
|
363
380
|
color: var(--ink-90);
|
|
364
381
|
}
|
|
365
|
-
.arc-
|
|
382
|
+
.arc-action-required__empty {
|
|
366
383
|
border: 1px solid var(--ink-15);
|
|
367
384
|
border-left: 2px solid var(--signal-ok);
|
|
368
385
|
border-radius: var(--r-corner);
|
|
@@ -372,14 +389,14 @@ display: flex;
|
|
|
372
389
|
align-items: center;
|
|
373
390
|
gap: 10px;
|
|
374
391
|
}
|
|
375
|
-
.arc-
|
|
392
|
+
.arc-action-required__dot {
|
|
376
393
|
display: inline-block;
|
|
377
394
|
width: 6px;
|
|
378
395
|
height: 6px;
|
|
379
396
|
border-radius: 50%;
|
|
380
397
|
background: var(--signal-ok);
|
|
381
398
|
}
|
|
382
|
-
.arc-
|
|
399
|
+
.arc-action-required__empty-label {
|
|
383
400
|
font-family: var(--f-display);
|
|
384
401
|
font-size: 13px;
|
|
385
402
|
letter-spacing: .04em;
|
|
@@ -628,6 +645,6 @@ padding-bottom: 0;
|
|
|
628
645
|
}}#arcane-report-theme-toggle-wrap input:checked+label{color:var(--ink-90);border-color:var(--ink-30)}#arcane-report-theme-toggle-wrap input:focus-visible+label{box-shadow:0 0 0 2px var(--ink-50)}@media print{#arcane-report-theme-toggle-wrap{display:none}} body{margin:0;background:var(--bg);color:var(--ink-80);font-family:var(--f-ui),system-ui,sans-serif} a{text-decoration:none} a:hover{text-decoration:underline} code{font-family:var(--f-mono);font-size:.92em} .unwritten{color:var(--ink-50);font-style:italic}</style>
|
|
629
646
|
</head>
|
|
630
647
|
<body>
|
|
631
|
-
<svg width="0" height="0" class="arc-category-icons__sprite" aria-hidden="true" focusable="false"><symbol id="cat-spell" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 1.75v3.5M8 10.75v3.5M1.75 8h3.5M10.75 8h3.5M3.6 3.6l2.4 2.4M10 10l2.4 2.4M12.4 3.6 10 6M6 10l-2.4 2.4"></path></symbol><symbol id="cat-feature" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2.25" y="2.25" width="11.5" height="11.5" rx="1"></rect><path d="M8 5.25v5.5M5.25 8h5.5"></path></symbol><symbol id="cat-governance" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 1.75 13.25 3.75v4.2c0 3.05-2.2 5.3-5.25 6.3-3.05-1-5.25-3.25-5.25-6.3v-4.2z"></path></symbol><symbol id="cat-decision" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 1.75 14.25 8 8 14.25 1.75 8z"></path></symbol><symbol id="cat-fix" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 1.75 13.4 4.9v6.2L8 14.25 2.6 11.1V4.9z"></path><circle cx="8" cy="8" r="2.25"></circle></symbol><symbol id="cat-process" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8a5 5 0 0 1-8.65 3.45M3 8a5 5 0 0 1 8.65-3.45"></path><path d="M11.65 2.15v2.4h-2.4M4.35 13.85v-2.4h2.4"></path></symbol><symbol id="cat-docs" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3.75 1.75h5.75l2.75 2.75v9.75h-8.5z"></path><path d="M9.5 1.75v3h3M6 8h4M6 10.75h4"></path></symbol><symbol id="cat-platform" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2.25" y="2.25" width="11.5" height="3.75" rx=".75"></rect><rect x="2.25" y="8.25" width="11.5" height="3.75" rx=".75"></rect><path d="M4.75 4.1h.01M4.75 10.1h.01"></path><path d="M8 12v2.25"></path></symbol></svg><main><fieldset id="arcane-report-theme-toggle-wrap" role="radiogroup" class="arc-report-theme-toggle"><legend class="arc-report-theme-toggle__legend">Report color theme</legend><input type="radio" id="arcane-report-theme-auto" class="arc-report-theme-toggle__input" name="arcane-report-theme" checked="" value="auto"/><label for="arcane-report-theme-auto" class="arc-report-theme-toggle__label">Auto</label><input type="radio" id="arcane-report-theme-light" class="arc-report-theme-toggle__input" name="arcane-report-theme" value="light"/><label for="arcane-report-theme-light" class="arc-report-theme-toggle__label">Light</label><input type="radio" id="arcane-report-theme-dark" class="arc-report-theme-toggle__input" name="arcane-report-theme" value="dark"/><label for="arcane-report-theme-dark" class="arc-report-theme-toggle__label">Dark</label></fieldset><div class="arc-report-masthead"><div class="arc-report-masthead__top"><span class="arc-report-masthead__label">{{masthead.eyebrow}}</span><span aria-hidden="true" class="arc-report-masthead__rule"></span><span class="arc-report-masthead__label">{{program.slug}}</span></div><h1 class="arc-report-masthead__title">{{masthead.title}}</h1><p class="arc-report-masthead__dek">{{masthead.dek}}</p><div class="arc-report-masthead__meta"><span><span class="arc-report-masthead__key">status</span> <span class="arc-report-masthead__status" data-tone="ok">{{program.status}}</span></span><span><span class="arc-report-masthead__key">started</span> {{program.started}}</span><span><span class="arc-report-masthead__key">completed</span> {{program.completed}}</span><span><span class="arc-report-masthead__key">baseline</span> {{program.baseline}}</span></div></div><div class="arc-show-report__stats"><dl class="arc-stat-rail">{{#stats}}<div class="arc-stat-rail__cell"><dt class="arc-stat-rail__label">{{label}}</dt><dd class="arc-stat-rail__value"><div class="arc-stat-tile arc-stat-tile--sm arc-stat-rail__tile" data-size="sm"><div class="arc-num arc-stat-tile__value">{{value}}</div></div></dd></div>{{/stats}}</dl></div><div class="arc-show-report__split"><div class="arc-show-report__needs"><div class="arc-
|
|
648
|
+
<svg width="0" height="0" class="arc-category-icons__sprite" aria-hidden="true" focusable="false"><symbol id="cat-spell" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 1.75v3.5M8 10.75v3.5M1.75 8h3.5M10.75 8h3.5M3.6 3.6l2.4 2.4M10 10l2.4 2.4M12.4 3.6 10 6M6 10l-2.4 2.4"></path></symbol><symbol id="cat-feature" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2.25" y="2.25" width="11.5" height="11.5" rx="1"></rect><path d="M8 5.25v5.5M5.25 8h5.5"></path></symbol><symbol id="cat-governance" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 1.75 13.25 3.75v4.2c0 3.05-2.2 5.3-5.25 6.3-3.05-1-5.25-3.25-5.25-6.3v-4.2z"></path></symbol><symbol id="cat-decision" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 1.75 14.25 8 8 14.25 1.75 8z"></path></symbol><symbol id="cat-fix" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 1.75 13.4 4.9v6.2L8 14.25 2.6 11.1V4.9z"></path><circle cx="8" cy="8" r="2.25"></circle></symbol><symbol id="cat-process" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8a5 5 0 0 1-8.65 3.45M3 8a5 5 0 0 1 8.65-3.45"></path><path d="M11.65 2.15v2.4h-2.4M4.35 13.85v-2.4h2.4"></path></symbol><symbol id="cat-docs" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3.75 1.75h5.75l2.75 2.75v9.75h-8.5z"></path><path d="M9.5 1.75v3h3M6 8h4M6 10.75h4"></path></symbol><symbol id="cat-platform" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2.25" y="2.25" width="11.5" height="3.75" rx=".75"></rect><rect x="2.25" y="8.25" width="11.5" height="3.75" rx=".75"></rect><path d="M4.75 4.1h.01M4.75 10.1h.01"></path><path d="M8 12v2.25"></path></symbol></svg><main><fieldset id="arcane-report-theme-toggle-wrap" role="radiogroup" class="arc-report-theme-toggle"><legend class="arc-report-theme-toggle__legend">Report color theme</legend><input type="radio" id="arcane-report-theme-auto" class="arc-report-theme-toggle__input" name="arcane-report-theme" checked="" value="auto"/><label for="arcane-report-theme-auto" class="arc-report-theme-toggle__label">Auto</label><input type="radio" id="arcane-report-theme-light" class="arc-report-theme-toggle__input" name="arcane-report-theme" value="light"/><label for="arcane-report-theme-light" class="arc-report-theme-toggle__label">Light</label><input type="radio" id="arcane-report-theme-dark" class="arc-report-theme-toggle__input" name="arcane-report-theme" value="dark"/><label for="arcane-report-theme-dark" class="arc-report-theme-toggle__label">Dark</label></fieldset><div class="arc-report-masthead"><div class="arc-report-masthead__top"><span class="arc-report-masthead__label">{{masthead.eyebrow}}</span><span aria-hidden="true" class="arc-report-masthead__rule"></span><span class="arc-report-masthead__label">{{program.slug}}</span></div><h1 class="arc-report-masthead__title">{{masthead.title}}</h1><p class="arc-report-masthead__dek">{{masthead.dek}}</p><div class="arc-report-masthead__meta"><span><span class="arc-report-masthead__key">status</span> <span class="arc-report-masthead__status" data-tone="ok">{{program.status}}</span></span><span><span class="arc-report-masthead__key">started</span> {{program.started}}</span><span><span class="arc-report-masthead__key">completed</span> {{program.completed}}</span><span><span class="arc-report-masthead__key">baseline</span> {{program.baseline}}</span></div></div><div class="arc-show-report__stats"><dl class="arc-stat-rail">{{#stats}}<div class="arc-stat-rail__cell"><dt class="arc-stat-rail__label">{{label}}</dt><dd class="arc-stat-rail__value"><div class="arc-stat-tile arc-stat-tile--sm arc-stat-rail__tile" data-size="sm"><div class="arc-num arc-stat-tile__value">{{value}}</div></div></dd></div>{{/stats}}</dl></div><div class="arc-show-report__split"><div class="arc-show-report__needs"><div class="arc-action-required">{{#needsYouCount}}<span aria-hidden="true" class="arc-action-required__stripe"></span><div class="arc-action-required__head"><h2 class="arc-action-required__title">Action required</h2><span class="arc-action-required__count">{{needsYouCount}} open</span></div><ul class="arc-action-required__list">{{#needsYou}}<li class="arc-action-required__item">{{#href}}<a href="{{href}}" class="arc-action-required__link">{{title}}</a>{{/href}}{{^href}}<span class="arc-action-required__text">{{title}}</span>{{/href}}</li>{{/needsYou}}</ul><span aria-hidden="true" class="arc-action-required__stripe"></span>{{/needsYouCount}}{{^needsYouCount}}<div class="arc-action-required__empty"><span aria-hidden="true" class="arc-action-required__dot"></span><span class="arc-action-required__empty-label">No action required</span></div>{{/needsYouCount}}</div></div>{{#hasOutcome}}<div class="arc-show-report__outcome">{{outcome}}</div>{{/hasOutcome}}</div><div class="arc-category-legend">{{#legend}}<span class="arc-category-legend__item"><span class="arc-category-legend__icon" data-tone="{{key}}"><svg width="12" height="12" aria-hidden="true" focusable="false"><use href="#cat-{{key}}"></use></svg></span>{{label}}</span>{{/legend}}</div>{{#sections}}<div class="arc-report-section"><div class="arc-report-section__header"><h2 class="arc-report-section__title">{{title}}</h2><span class="arc-report-section__spacer"></span><span class="arc-report-section__count">{{rowCount}}</span></div><ol class="arc-ledger-list">{{#rows}}<li class="arc-ledger-list__item"><div class="arc-ledger-row">{{#hasHref}}<a href="{{href}}" class="arc-ledger-row__id">{{id}}</a>{{/hasHref}}{{^hasHref}}<span class="arc-ledger-row__id">{{id}}</span>{{/hasHref}}<div><div class="arc-ledger-row__title">{{title}}</div><div class="arc-ledger-row__description">{{#isUnwritten}}<span class="unwritten">unwritten</span>{{/isUnwritten}}{{^isUnwritten}}{{{descriptionHtml}}}{{/isUnwritten}}</div></div><span class="arc-badge" data-variant="pill" data-tone="{{category}}"><svg width="12" height="12" aria-hidden="true" focusable="false"><use href="#cat-{{category}}"></use></svg>{{categoryLabel}}</span></div></li>{{/rows}}</ol></div>{{/sections}}{{#hasCorrections}}{{#corrections}}<div class="arc-corrections"><div class="arc-corrections__head"><h2 class="arc-corrections__title">Calibration</h2><span class="arc-corrections__summary">{{checked}} checked · {{corrected}} corrected · {{unverifiable}} unverifiable</span></div><div class="arc-corrections__scope">{{scopeNote}}</div><div class="arc-corrections__highlights">{{#highlights}}<div class="arc-corrections__highlight"><span class="arc-corrections__tag">{{categoryLabel}}</span><div><div class="arc-corrections__highlight-title">{{title}}</div><div class="arc-corrections__description">{{#isUnwritten}}<span class="unwritten">unwritten</span>{{/isUnwritten}}{{^isUnwritten}}{{{descriptionHtml}}}{{/isUnwritten}}</div></div></div>{{/highlights}}</div></div>{{/corrections}}{{/hasCorrections}}{{#hasParked}}<div class="arc-parked"><div class="arc-parked__header"><h2 class="arc-parked__heading">Parked</h2><span class="arc-parked__count">{{parkedCount}} item{{^parkedIsSingular}}s{{/parkedIsSingular}} · deliberately not built</span></div><div class="arc-parked__list">{{#parked}}<div class="arc-parked__item"><span aria-hidden="true" class="arc-parked__dash"></span><span><span class="arc-parked__title">{{title}}</span> — {{reason}}</span></div>{{/parked}}</div></div>{{/hasParked}}</main><footer class="arc-show-report__footer">{{#hasCast}}<div class="arc-cast"><h2 class="arc-cast__title">Cast</h2><div class="arc-cast__list">{{#cast}}<div class="arc-cast__row"><span>{{name}}</span><span class="arc-cast__commits">{{commits}} commit{{^isSingular}}s{{/isSingular}}</span></div>{{/cast}}</div></div>{{/hasCast}}<div class="arc-report-provenance"><h2 class="arc-report-provenance__heading">Provenance</h2><div class="arc-report-provenance__body">compiled from {{sourcesJoined}}<br/>as of {{compiledAtDate}} · template {{provenance.templateVersion}} · schema {{schemaVersion}} · no runtime scripts</div></div></footer>
|
|
632
649
|
</body>
|
|
633
650
|
</html>
|