@rness/cli 0.20.0 → 0.20.1

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/README.md CHANGED
@@ -65,7 +65,7 @@ when dropped, red `?` when missing.
65
65
  `yellow` for `In progress`; `red` without a status) and its item there
66
66
  (`link`, the board filtered on its path; null without a pulse) — the
67
67
  board (`pulse`), and what a Claude Code session shows of the workspace,
68
- worded by the CLI — the session-start banner, the status line entry, the
68
+ worded by the CLI — the session-start banner, the footer's label, the
69
69
  scope's plans `In progress` and the notes of the safety net (see
70
70
  "Hooks"). The plugin's mod reads it (see
71
71
  "The mod").
@@ -176,9 +176,11 @@ the pinned copy, and computes nothing itself:
176
176
  installed copy does not match, problems `validate` would report): those
177
177
  notes. The banner is not repeated there; the session-start line says it
178
178
  once, in the transcript.
179
- - **The status line**: `<scope> · <n> in progress`, with `⚠ <n>` when
180
- there are notes. Claude Code draws it after the plugin's name:
181
- `⚠ rness: web · 1 in progress` (2.1.289).
179
+ - **A label in the prompt footer**, among the session modes (`focus`,
180
+ `memory paused`), dim: `rness · <scope> · <n> in progress`, with `⚠ <n>`
181
+ when there are notes. Not the pinned status line a plugin can set:
182
+ Claude Code draws every pinned line after a `⚠` in its warning colour
183
+ (2.1.291), the wrong sign for a line that informs.
182
184
  - **`/rness:status [tab]` as a pane** beside the conversation, a tab per
183
185
  collection, a row per document, its status in the colour Agent Pulse
184
186
  gives it (yellow in progress, green done, red blocked, gray draft or
@@ -205,13 +207,15 @@ It reads the snapshot again at session start, after an `Edit` or `Write`
205
207
  of a file under `.rness/`, and at the end of each turn, off the turn's
206
208
  path. The module runs the pinned copy at the one path `sync` writes into it
207
209
  for its place (`.rness` at the root, `../../.rness` in a clone), as the
208
- settings hooks do: never a copy a clone's own tree could hold. It loads
210
+ settings hooks do: never a copy a clone's own tree could hold. Like them,
211
+ it never installs: a pin that drifts from the installed copy is a note in
212
+ the band, and `npm install` in `.rness` is the developer's. It loads
209
213
  where the plugin loads — a trusted folder, `claude -p` included — on a
210
214
  Claude Code that has mods: run by 2.1.280 and later, ignored without an
211
215
  error by 2.1.240 and 2.1.199, where the skills work as before (verified on
212
216
  2026-10-04). An older Claude Code is told so once per version and machine,
213
217
  in the session-start line: `rness: Claude Code 2.1.240 shows no rness band,
214
- status line or pane; 2.1.280 or later does — claude update`. The version
218
+ footer label or pane; 2.1.280 or later does — claude update`. The version
215
219
  comes from `AI_AGENT`, which Claude Code sets (2.1.240 does); one that does
216
220
  not set it, or not in that form, is told nothing. The versions told are kept
217
221
  in `claude-code.json` beside the login (`~/.config/rness/` by default). Not in
@@ -691,6 +695,22 @@ per repository, the files to commit there.
691
695
  Exit codes: 0 success, 1 failure, 2 usage — or a refusal without a TTY.
692
696
  `RNESS_DEBUG=1` adds stack traces; `RNESS_NO_DELEGATE=1` skips the delegation.
693
697
 
698
+ ## 0.20.1 — the workspace's line in the prompt footer, without a warning sign; the mod never installs the pin
699
+
700
+ - The workspace's line in Claude Code moves from the pinned status line to
701
+ the prompt footer, among the session modes, dim and without a sign:
702
+ `rness · web · 1 in progress`, `⚠ <n>` at its end when notes need action.
703
+ Claude Code draws every pinned line a plugin sets after a `⚠` in its
704
+ warning colour, the wrong sign for a line that informs. `rness status
705
+ --json`'s `statusLine` carries the leading `rness` again. VS Code and
706
+ mobile surfaces, which draw no session modes, show no line; the
707
+ `/rness:status` pane stays.
708
+ - The mod no longer installs the pin from inside Claude Code. It ran
709
+ `status --json` with catch-up on, so in a workspace whose pin drifts each
710
+ refresh ran `npm install` in `.rness`, without asking, and replaced a
711
+ local copy. It now runs with `RNESS_NO_DELEGATE=1`: the drift is a note
712
+ in the band, as the settings hooks report it.
713
+
694
714
  ## 0.20.0 — the status pane opens a document; ↑/↓ select, Tab changes the tab; Agent Pulse's colours and links
695
715
 
696
716
  - `/rness:status` in Claude Code: each row's status in Agent Pulse's colour;
package/dist/bin/rness.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  findDelegate,
7
7
  reportError,
8
8
  run
9
- } from "../chunk-WIZHU4WT.js";
9
+ } from "../chunk-2AFAQO5B.js";
10
10
 
11
11
  // src/bin/rness.ts
12
12
  import { pathToFileURL } from "url";
@@ -511,7 +511,7 @@ function parseRepoSpec(spec, org, host) {
511
511
  }
512
512
 
513
513
  // src/version.ts
514
- var VERSION = "0.20.0";
514
+ var VERSION = "0.20.1";
515
515
 
516
516
  // src/core/pm.ts
517
517
  import { execFile as execFile2 } from "child_process";
@@ -8323,7 +8323,7 @@ async function takeModNotice(env) {
8323
8323
  );
8324
8324
  } catch {
8325
8325
  }
8326
- return `rness: Claude Code ${version} shows no rness band, status line or pane; ${MOD_FLOOR} or later does \u2014 claude update`;
8326
+ return `rness: Claude Code ${version} shows no rness band, footer label or pane; ${MOD_FLOOR} or later does \u2014 claude update`;
8327
8327
  }
8328
8328
 
8329
8329
  // src/core/edit-guard.ts
@@ -8792,7 +8792,7 @@ async function scopeBanner(ws, manifest, scope) {
8792
8792
  var noteLines = (notes) => notes.map((n) => `rness: ${n}`);
8793
8793
  function statusLine(scope, inProgress, notes) {
8794
8794
  const acting = notes.filter((n) => !n.startsWith(" ")).length;
8795
- return `${scope ?? "global"} \xB7 ${inProgress.length} in progress${acting > 0 ? ` \xB7 \u26A0 ${acting}` : ""}`;
8795
+ return `rness \xB7 ${scope ?? "global"} \xB7 ${inProgress.length} in progress${acting > 0 ? ` \xB7 \u26A0 ${acting}` : ""}`;
8796
8796
  }
8797
8797
  function pulseOf(manifest) {
8798
8798
  const project = manifest.projects?.[PULSE];
@@ -10302,4 +10302,4 @@ export {
10302
10302
  OWN_COMMANDS,
10303
10303
  catchUp
10304
10304
  };
10305
- //# sourceMappingURL=chunk-WIZHU4WT.js.map
10305
+ //# sourceMappingURL=chunk-2AFAQO5B.js.map