bearings 0.5.3 → 0.5.5

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.
@@ -0,0 +1,144 @@
1
+ ---
2
+ description: Resolve exact pending bearings update or reconstruction tasks and reconciliations. First-time setup resumes through bearings init.
3
+ ---
4
+
5
+ # /update-bearings-setup
6
+
7
+ Use the **bearings Commands for This Task** header's exact resume and completion
8
+ commands when supplied. They select the initiating executable. Otherwise use
9
+ `npx bearings`, or the established local bearings invocation.
10
+
11
+ ## 1. Select Pending Update Work
12
+
13
+ Read `.agents/bearings.json` and the exact setup scope supplied by bearings.
14
+ Require `setupPending.kind` to be `update` or `reconstruction`.
15
+
16
+ - `init`: stop this command and use `bearings init` to resume first-time setup.
17
+ - No pending setup: report no pending update work and stop.
18
+ - Missing, invalid, or inconsistent journal/scope: report the blocker and use
19
+ `bearings init` to obtain the current handoff.
20
+
21
+ Resolve only listed tasks, file `reconciliations`, and
22
+ `migrationReconciliations`. Inspect their current targets and recorded
23
+ artifacts before asking questions. Preserve completed work on resume. Ask one
24
+ necessary question at a time, with a recommendation based on the evidence.
25
+ Checkpoint each fully resolved task through step 5. Reread the journal after
26
+ each checkpoint and process only its remaining tasks.
27
+
28
+ Skills whose upstream template is unchanged stay untouched, including locally
29
+ customized versions. Preserve `protectedSkills` and all other out-of-scope
30
+ skills even when they have unrelated verify warnings. New ordinary runtime or
31
+ checklist bundle files alone need no setup.
32
+ Do not re-interview the project or adapt every installed skill. A
33
+ `skippedTemplate` is a declined template revision; do not apply it as cleanup.
34
+
35
+ ## 2. Resolve Listed File Reconciliations
36
+
37
+ Read each record's target and backup, plus baseline and incoming artifacts
38
+ when present. Summarize the differences and get the developer's choice before
39
+ applying backed-up changes. For an ordinary collision or `update-merge`, offer
40
+ merge, keep parts, keep either version, or discard backed-up content. Apply
41
+ the choice directly to that target regardless of owner.
42
+
43
+ For a `retired` file, ask whether to keep useful content as an untracked target
44
+ or discard it. After an explicit discard choice, a missing retired target can
45
+ be resolved by selecting its path with `--setup-path` during completion.
46
+ Preserve its backup until the CLI accepts the choice. A deliberately discarded
47
+ retired map needs no refresh.
48
+
49
+ Map edits go through `/refresh-repo-map` in step 4, with the developer's
50
+ resolution as input. If a map reconciliation has no explicit map task, report
51
+ the scope mismatch as blocked rather than edit it or expand the scope.
52
+
53
+ ### Starter Skill Updates (`skill-update`)
54
+
55
+ Read the live skill, `backup`, and `incomingPath`. Check whether `basePath`
56
+ exists before attempting a baseline diff.
57
+
58
+ - **Base available:** compare local versus base and incoming versus base.
59
+ Offer **Take new template**, **Keep local**, **Three-way merge**, or
60
+ **Freeform**, one skill at a time. Recommend Three-way merge when both diffs
61
+ contain useful changes.
62
+ - **Base missing:** explain that a historical base is unavailable. Offer only
63
+ **Take new template**, **Keep local**, or **Freeform**. Never fabricate a base
64
+ or present a two-way comparison as a three-way merge.
65
+
66
+ Take new template writes incoming content to the live skill. Keep local leaves
67
+ the live content intact and declines the incoming revision. Three-way merge
68
+ combines both sides while preserving local intent. Freeform writes the agreed
69
+ result; establish whether the developer accepts or declines the incoming
70
+ revision. For Keep local or a Freeform result that declines the incoming
71
+ revision, include that scoped skill-update path in `--keep-local` when
72
+ checkpointing it with `--setup-path`. Omit `--keep-local` for accepted incoming
73
+ templates and merges. The CLI owns `owner`,
74
+ `hash`, `lastTemplateHash`, `skippedTemplate`, and baseline updates.
75
+
76
+ ## 3. Resolve Listed Checklist Migrations
77
+
78
+ For each migration record, follow the installed `checklist` skill's authored
79
+ schema and validation workflow.
80
+
81
+ - **`testplan-collision`:** read `target` and the pre-existing checklist in
82
+ `backup`. Summarize both and ask whether to keep either version or combine
83
+ them. Write the chosen useful content to `target`.
84
+ - **`invalid-testplan`:** read `backup`, explain each contract problem, and
85
+ agree with the developer how to preserve its useful authored content in a
86
+ repaired checklist. Use the exact repair destination printed in the supplied
87
+ scope. When the record has no `target`, the CLI's `migrationTarget` supplies
88
+ a deterministic safe `checklists/repairs/<id>.json` path. Read any existing
89
+ checklist there before writing and obtain the developer's choice to keep
90
+ either version or combine useful content. Discard content only on an explicit
91
+ developer choice; do not choose a different destination or edit the journal.
92
+
93
+ Validate each repaired checklist and run the checklist skill's full-library
94
+ build. Both must pass for that repair to be complete. An unrelated invalid
95
+ checklist is a reported blocker, not permission to rewrite it. Only after useful
96
+ content is preserved in the chosen target and validation/build pass, remove the
97
+ recorded legacy `source` if it still exists. Keep backups and incoming artifacts
98
+ until the completion CLI accepts their outcomes and performs cleanup; preserve
99
+ useful content if a record remains blocked.
100
+
101
+ ## 4. Complete Listed Tailoring and Map Tasks
102
+
103
+ For `reason: tailor`, or a reconciled seed, index, or starter-skill target,
104
+ fill only its remaining placeholders. Inspect current project evidence and
105
+ preserve existing entries and decisions. Use real commands or explicit
106
+ `not configured`. Keep seed routing thin and skill safety workflows intact.
107
+ For a listed `AGENTS.md`, remove a legacy `## Setup Required` blocking section
108
+ and any obsolete `## Pending bearings Setup` section before checkpointing it.
109
+
110
+ For `reason: map`, pass only the exact listed map paths to `/refresh-repo-map`
111
+ as an explicit setup target scope, together with any reconciliation choices.
112
+ A missing, added, restored, or accepted changed map can need refresh; a package
113
+ version or unrelated skill change does not. With no map task, skip map refresh.
114
+ With one map task, refresh only that artifact. Create C4 source only when
115
+ `docs/diagrams/c4-component.puml` is explicitly listed. The selected targets
116
+ still require the command's artifact contracts, sync markers, and probes.
117
+
118
+ ## 5. Complete Through the CLI
119
+
120
+ Check each completed task and reconciliation against the developer's choices.
121
+ Use the header's **Complete** command from the repository and append
122
+ `--setup-path <path...>` with only the fully completed paths. Quote each path
123
+ as a shell argument. For scoped `skill-update` paths whose incoming template
124
+ the developer declined, also append `--keep-local <path...>`. Both flags require
125
+ `--complete-setup`; `--keep-local` must refer only to selected skill updates.
126
+
127
+ Without a supplied header, use
128
+ `npx bearings init --complete-setup --setup-path <path...>`, with the established
129
+ local bearings invocation when applicable. Omit `--setup-path` only when all
130
+ remaining tasks are ready to complete. After each successful checkpoint, reread
131
+ the journal and continue only its remaining paths. A partial checkpoint is
132
+ progress, not whole-setup completion.
133
+
134
+ The CLI owns the manifest, reconciliation records, hashes, ownership, template
135
+ lineage, baselines, exposure copies, and artifact cleanup. Never remove
136
+ `setupPending`, delete reconciliation artifacts, or change bookkeeping by hand.
137
+ Neither `bearings verify` nor an agent exit code proves scoped completion.
138
+
139
+ On validation failure, preserve progress and report **setup pending**, exact
140
+ blocked paths, and the next action. Fix only in-scope content problems; leave
141
+ unrelated warnings and unchanged skills outside this follow-up. Report
142
+ completion only after the completion CLI succeeds and the journal confirms
143
+ no pending setup. Finish with changed paths, developer choices, and validation
144
+ result; stop without first-time setup.
@@ -35,6 +35,13 @@ authored instructions; the static previewer owns execution state.
35
35
 
36
36
  ## Content Policy
37
37
 
38
+ - **Show** every operator-facing field (`title`, `summary`, `intro`,
39
+ `callout`, `conventions`, section `intro`, `instruction`, `expectedResult`,
40
+ `warning`, `failureGuidance`, link `label`). The field is the action,
41
+ command, path, identifier, or observable. Lead with that object. Shortest
42
+ scannable structure: line, bullets, `codeBlocks`, exact value. Prose fields
43
+ render HTML (`<code>`, `<strong>`). Titles, chrome, and `codeBlocks` stay
44
+ plain text. ASD-STE100 Simplified Technical English for a reader with ADHD.
38
45
  - Organize sections in execution order and keep each checklist item to one
39
46
  primary action or verification. Use `info` sections for concise context that
40
47
  the operator does not mark as executed.
@@ -64,6 +71,7 @@ authored instructions; the static previewer owns execution state.
64
71
  ## Completion
65
72
 
66
73
  Finish only when exactly one authored checklist file exists for this request,
67
- its mechanics and outcomes trace to evidence, its validator prints `OK`, the
68
- full library build succeeds, and the static previewer opens or its absolute path
69
- is reported after an opening failure.
74
+ its mechanics and outcomes trace to evidence, every operator-facing field
75
+ leads with an action, command, path, identifier, or observable, its validator
76
+ prints `OK`, the full library build succeeds, and the static previewer opens
77
+ or its absolute path is reported after an opening failure.
@@ -8,30 +8,64 @@
8
8
  <link rel="stylesheet" href="./viewer.css">
9
9
  </head>
10
10
  <body>
11
+ <a class="skip-link" href="#content">Skip to current checklist</a>
11
12
  <header class="masthead">
12
13
  <div class="masthead-inner">
13
- <p class="eyebrow">Bearings / local checklist library</p>
14
+ <p class="eyebrow">Bearings / operator console</p>
14
15
  <h1 id="title">Choose a checklist</h1>
15
16
  <p id="summary" class="summary">Browse the checklists generated from this repository.</p>
16
17
  </div>
17
18
  </header>
18
19
  <div class="toolbar">
19
20
  <div class="toolbar-inner">
20
- <label class="picker-label" for="checklist-picker">Checklist</label>
21
- <select id="checklist-picker"><option value="">Loading...</option></select>
21
+ <div class="picker">
22
+ <label class="toolbar-label" for="checklist-picker">Checklist</label>
23
+ <select id="checklist-picker"><option value="">Loading...</option></select>
24
+ </div>
25
+ <div class="task-pointer">
26
+ <span class="toolbar-label">Next unresolved</span>
27
+ <a id="current-task-link" href="#content">Choose a checklist</a>
28
+ <span id="next-task-copy" class="next-task">Next: —</span>
29
+ </div>
22
30
  <div class="progress" aria-live="polite">
23
- <span id="progress-copy">0 / 0 resolved</span>
24
- <span class="progress-track" aria-hidden="true"><span id="progress-fill"></span></span>
31
+ <div class="progress-heading">
32
+ <strong id="progress-copy">0 / 0 complete</strong>
33
+ <span class="progress-outcomes">
34
+ <span class="outcome outcome-failed"><b id="failed-count">0</b> failed</span>
35
+ <span class="outcome outcome-blocked"><b id="blocked-count">0</b> blocked</span>
36
+ <span class="outcome outcome-na"><b id="na-count">0</b> N/A</span>
37
+ </span>
38
+ </div>
39
+ <progress id="progress-track" class="progress-track" aria-label="Checklist completion" max="1" value="0"></progress>
25
40
  </div>
26
- <button id="export-progress" type="button">Export</button>
27
- <button id="import-progress" type="button">Import</button>
28
- <input id="import-file" type="file" accept="application/json,.json" hidden>
29
- <button id="reset-progress" type="button">Reset</button>
41
+ <details id="action-menu" class="action-menu">
42
+ <summary>Actions</summary>
43
+ <div class="action-panel">
44
+ <button id="export-progress" type="button">Export progress</button>
45
+ <button id="import-progress" type="button">Import progress</button>
46
+ <input id="import-file" type="file" accept="application/json,.json" hidden>
47
+ <button id="reset-progress" class="danger-button" type="button">Reset progress</button>
48
+ <p id="action-status" class="action-status" role="status" aria-live="polite" hidden></p>
49
+ </div>
50
+ </details>
30
51
  </div>
52
+ <p class="shortcut-legend" aria-label="Keyboard shortcuts">
53
+ <span><kbd>j</kbd>/<kbd>k</kbd> actions</span>
54
+ <span><kbd>[</kbd>/<kbd>]</kbd> sections</span>
55
+ <span><kbd>y</kbd> copy / choose</span>
56
+ <span><kbd>x</kbd> complete</span>
57
+ <span><kbd>f</kbd> failed</span>
58
+ <span><kbd>b</kbd> blocked</span>
59
+ <span><kbd>-</kbd> N/A</span>
60
+ <span><kbd>u</kbd> not started</span>
61
+ <span><kbd>R</kbd> reset</span>
62
+ <span><kbd>Enter</kbd> details</span>
63
+ <span><kbd>Esc</kbd> return</span>
64
+ </p>
31
65
  </div>
32
66
  <p id="storage-warning" class="storage-warning" role="status" hidden></p>
33
67
  <p id="status" class="status" role="status" aria-live="polite"></p>
34
- <main id="content"></main>
68
+ <main id="content" tabindex="-1"></main>
35
69
  <script src="./data.generated.js"></script>
36
70
  <script src="./viewer.js"></script>
37
71
  </body>