@remits/remits-cli 0.1.137 → 0.1.138

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/index.js CHANGED
@@ -14,8 +14,8 @@
14
14
  - L7104 Branches, Promotion, Commit, And Test Runs
15
15
  - L9193 Tokens, Tools, Verification, And Config
16
16
  - L10620 Service Dashboard And WebSocket Listener
17
- - L12742 Agent And Ticket Workflows
18
- - L16337 Help, Auto Update, And Command Dispatch
17
+ - L12743 Agent And Ticket Workflows
18
+ - L16338 Help, Auto Update, And Command Dispatch
19
19
  */
20
20
 
21
21
  /*
@@ -11339,6 +11339,7 @@ function buildRepoSnapshot(entry) {
11339
11339
  ? path.join(localPaths.legacy.sessionsDir, legacySessionName + '.jsonl')
11340
11340
  : null;
11341
11341
  const repoFiles = [
11342
+ { label: 'account-boot.json', path: path.join(directory, 'account-boot.json'), mode: 'json' },
11342
11343
  { label: 'account-info.json', path: entry.accountInfoPath || path.join(directory, 'account-info.json'), mode: 'json' },
11343
11344
  { label: 'account-hierarchy.json', path: path.join(directory, 'account-hierarchy.json'), mode: 'json' },
11344
11345
  { label: 'account-analytics.json', path: path.join(directory, 'account-analytics.json'), mode: 'json' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remits/remits-cli",
3
- "version": "0.1.137",
3
+ "version": "0.1.138",
4
4
  "description": "Local CLI for auth, component sync, and live test execution against Remits",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -140,6 +140,12 @@ reference named after it.
140
140
  (`component-resolution.md`, `command-reference.md`)
141
141
  - **Host and data mode are two independent decisions.** `--base-url` picks the Remits host,
142
142
  `--data-mode` picks the data segment on it. Neither implies the other. (`command-reference.md`)
143
+ - **Localhost being down is not a verification blocker.** `remits-cli` can talk to any reachable Remits
144
+ host, including the deployed production host, by passing `--base-url`. If `http://localhost:8080`
145
+ refuses a connection, retry the same stage/test/tool/status command against the intended deployed host
146
+ with the same account, branch, workspace and data-mode facts; do not stop unless no reachable host or
147
+ valid session exists. A deployed host can still run test-lane verification: `--base-url` selects the
148
+ server, while `test run` still defaults to `--data-mode test`. (`command-reference.md`)
143
149
  - **`test run` ignores the stored session data lane.** It defaults to `test` even when `whoami` shows
144
150
  the session parked on prod; production Test runs require explicit prod provenance (`--data-mode prod`)
145
151
  or Test source declaring `dataMode 'prod'` / `[dataMode:'prod']`. Check returned `dataModeSource`
@@ -216,7 +222,8 @@ remits-cli components status # trunk or variant checkout, staging lane, wor
216
222
  remits-cli tools # which tools this account actually has (tools are per-account)
217
223
  ```
218
224
 
219
- plus the repo's `account-info.json` → `resolution` block for the account's shape.
225
+ plus the repo's `account-boot.json` → `resolution` block for the account's shape (`account-info.json`
226
+ only when you need full inventory detail).
220
227
  For a workflow-shaped request, rely on the automatic `remits-cli evidence` trail unless someone else needs
221
228
  a checkable verdict. Only then start `remits-cli verify start --summary "..."`, declare claims, and keep
222
229
  that envelope active through stage/test/token/sync.
@@ -228,7 +235,8 @@ non-default host).
228
235
  `~/.remits-cli/account-repos.json` (every local repo, plus the reserved `platform` entry for the core
229
236
  platform clone), `~/.remits-cli/sessions.json` (auth state and lanes), `~/.remits-cli/agents.json`
230
237
  (agents registered here), `./.remits-cli/actors/<local-agent>/tool-responses/<callId>.json` (the full
231
- tool payload), and the repo's `account-info.json`. `cli-state.md` maps every remaining question to its
238
+ tool payload), the repo's `account-boot.json`, and `account-info.json` when compact context is not enough.
239
+ `cli-state.md` maps every remaining question to its
232
240
  file, including legacy flat `.remits-cli/` fallbacks.
233
241
  Repo-local session JSONL is intentionally a bounded audit log: request payloads and ordinary response
234
242
  bodies are summarized with keys, sizes, hashes, and redaction markers. Open actor-scoped tool response
@@ -242,7 +250,7 @@ Keep support and development sessions lean:
242
250
  `mcp_component_view` / `mcp_component_grep` are fallback surfaces for agents without that checkout,
243
251
  or for confirming what the live DB has stored after you already understand the files. For a ticket
244
252
  with `implementationAccountId`, resolve that account's indexed repo first, pull the appropriate
245
- branch when the checkout is clean, and inspect `account-info.json` + `components/` there.
253
+ branch when the checkout is clean, and inspect `account-boot.json` + relevant `components/` there.
246
254
  - Do not read entire `.remits-cli/actors/<local-agent>/sessions/*.jsonl` (or legacy flat session logs) or
247
255
  large tool response files unless you first narrow to the relevant request, endpoint, tool, or ticket.
248
256
  - Prefer targeted Firestore queries: use `documentId`, tight `filters`, narrow `fields`, and low `limit`
@@ -23,13 +23,14 @@
23
23
  against, and where a fix belongs are answered by the account's structure — never by its name.
24
24
 
25
25
  The account model itself — types, component inheritance, primary vs membership edges, the three independent
26
- edge properties, the user model — is in the always-loaded `platform-overview.md` and in depth in
26
+ edge properties, the user model — is summarized in `platform-core.md` and in depth in
27
27
  `features/account-management.md` (`mcp_get_guide`). What follows is only what changes **what you type**.
28
28
 
29
29
  ### Read the shape first
30
30
 
31
- `account-info.json` (in a repo) and `mcp_account_view` (remotely) both carry a `resolution` block — the one
32
- place these facts appear. Field-by-field detail is under **`mcp_account_view`** in `tool-reference.md`. The
31
+ `account-boot.json` (in a repo), `account-info.json` (full local inventory), and `mcp_account_view`
32
+ (remotely) all carry a `resolution` block — the one place these facts appear. Field-by-field detail is
33
+ under **`mcp_account_view`** in `tool-reference.md`. The
33
34
  four that decide a CLI action:
34
35
 
35
36
  | Read | To decide |
@@ -57,7 +58,8 @@ Two more, easily confused: top-level **`componentBranches`** lists the variant b
57
58
  current before reading source or editing. Run `git fetch origin`; when the tree is clean,
58
59
  `git pull --ff-only origin <branch>`; then confirm `git log origin/<branch>..<branch>` and
59
60
  `git log <branch>..origin/<branch>` are both empty. A worktree can have an isolated staging workspace
60
- and still be based on a stale commit. Then read `account-info.json` and inspect `components/` directly.
61
+ and still be based on a stale commit. Then read `account-boot.json` and inspect relevant `components/`
62
+ directly; use `account-info.json` only for full inventory detail.
61
63
  - **Inside one repo but supporting a different account**: switch to that account's indexed repo if it
62
64
  exists. For tickets, prefer `implementationAccountId` / `implementationAccountName` over the reporting
63
65
  `accountId` when choosing that repo; a subscriber or client often reports the symptom while the
@@ -84,7 +86,7 @@ still go to the test lane. `Object.testMode` /
84
86
  `Event.testMode` / `Alert.testMode` (and `testMode` inside test-lane Audit documents) identify lifecycle
85
87
  rows in the test data lane. Agent-facing surfaces expose these fields:
86
88
 
87
- - `account-info.json`, `account-hierarchy.json`, and `mcp_account_view`: `resolution.testAccount` for the
89
+ - `account-boot.json`, `account-info.json`, `account-hierarchy.json`, and `mcp_account_view`: `resolution.testAccount` for the
88
90
  described account, and `testAccount` on returned hierarchy nodes.
89
91
  - `mcp_account_user_admin`: `testAccount` on `hierarchy`, `account`, and `account_create` results;
90
92
  `testUser` on `users` / `user` results.
@@ -42,6 +42,10 @@ Treat host selection and data mode as two separate decisions:
42
42
 
43
43
  - `--base-url` chooses the Remits host: localhost vs a deployed environment.
44
44
  - `--data-mode` chooses the data segment on that host: `test` vs `prod`.
45
+ - A connection failure to `http://localhost:8080` only says the local back-stage app is not reachable.
46
+ It does **not** mean staging, testing, tokens, or investigation are blocked. If a deployed Remits host
47
+ is the right target, pass it explicitly with `--base-url` and keep the same account/branch/workspace
48
+ and `--data-mode` facts.
45
49
 
46
50
  Examples:
47
51
 
@@ -49,11 +53,20 @@ Examples:
49
53
  # Deployed prod host, but test data segment
50
54
  remits-cli tools --base-url https://your-prod-host --data-mode test
51
55
 
56
+ # Deployed prod host, test data, staged component verification
57
+ remits-cli components stage --workset --base-url https://your-prod-host
58
+ remits-cli test run --test "Statement Reader Calculations" --base-url https://your-prod-host
59
+
52
60
  # Localhost host, but prod data segment on that localhost instance
53
61
  remits-cli tool --base-url http://localhost:8080 --name mcp_account_view --data-mode prod
54
62
  ```
55
63
 
56
- Do not assume `--data-mode prod` implies the deployed prod host, or that `--data-mode test` implies localhost. If host matters, read `~/.remits-cli/sessions.json` first and pass `--base-url` explicitly.
64
+ Do not assume `--data-mode prod` implies the deployed prod host, or that `--data-mode test` implies
65
+ localhost. Likewise, do not assume localhost is required because the current checkout is a back-stage
66
+ repo or because a previous command used localhost. If host matters, read `~/.remits-cli/sessions.json`,
67
+ `remits-cli whoami`, or the recent `remits-cli evidence` world blocks, then pass `--base-url` explicitly.
68
+ Only call verification blocked after trying the intended reachable host and finding that no authenticated
69
+ session or usable network path exists.
57
70
 
58
71
  ### Tool Execution Lifecycle
59
72
 
@@ -172,7 +172,7 @@ wants to proceed rather than reporting the work as done.
172
172
  This is how every development task should flow:
173
173
 
174
174
  #### Step 1: Understand the Request
175
- Read the user's request. If you may need a repo other than the current one, read `~/.remits-cli/account-repos.json` first. Then review `account-info.json` and `README.md` to understand what components exist and how they relate. Read the source of any component you'll modify before changing it.
175
+ Read the user's request. If you may need a repo other than the current one, read `~/.remits-cli/account-repos.json` first. Then review `account-boot.json` and `README.md` to understand the account shape and component routing inventory. Read `account-info.json` only when the compact file lacks detail you need. Read the source of any component you'll modify before changing it.
176
176
 
177
177
  **Establish a steady git baseline before the first edit.** The platform syncs from the GitHub remote, not
178
178
  from your local files, and a worktree can be stale even when its staging lane is isolated. In the checkout
@@ -191,14 +191,14 @@ that the branch is behind trunk or that overlays were computed from an old SHA,
191
191
  code. A workspace prevents staged-cache collisions; it does not make a stale branch current.
192
192
 
193
193
  **Establish the account's shape too, not just its components.** Read the `resolution` block in
194
- `account-info.json` (or `mcp_account_view`): the account `type` decides whether this repo is even the right
194
+ `account-boot.json` (or `mcp_account_view`): the account `type` decides whether this repo is even the right
195
195
  place to change code, `resolution.relationships` shows whether the account has more than one parent (and
196
196
  which link carries a branch/namespace/host), and `resolvedDatabaseName` tells you where its data actually
197
197
  lands. See `account-targeting.md` and `features/account-management.md` (`mcp_get_guide`).
198
198
 
199
199
  **Also establish which world you are working in.** `remits-cli components status` reports whether the
200
200
  working tree is a **trunk** checkout or a **variant branch** checkout — which decides both what your test
201
- runs resolve and what a sync writes. If `account-info.json` carries a `componentBranches` section, branch
201
+ runs resolve and what a sync writes. If `account-boot.json` carries a `componentBranches` section, branch
202
202
  variants of these components exist: editing an origin component will drift them, so check
203
203
  `remits-cli components branches` before changing shared code. See `branch-variants.md`.
204
204
 
@@ -265,7 +265,7 @@ the file. Omit the key; the platform fills it in on sync:
265
265
  ```yaml
266
266
  # components/embeddables/new_MerchantPortal.meta.yml — no `id:` yet
267
267
  name: Merchant Portal
268
- summary: One-line statement of what this component is for. This is the compact text account-info.json uses first.
268
+ summary: One-line statement of what this component is for. This is the compact text account-boot.json uses first.
269
269
  description: |
270
270
  Longer technical description with line-number references to the key logic.
271
271
  path: /page/merchant-portal # Readers and Embeddables only
@@ -568,7 +568,7 @@ If the work is tied to a support ticket:
568
568
 
569
569
  Before committing, update metadata so the next session understands what changed:
570
570
 
571
- 1. **`.meta.yml` sidecars** — Update `summary`, `description`, and `mermaid` for each modified component. `summary` is what drives the compact component description in generated `account-info.json`; `description` is the fallback when no summary is set and is capped in that file. Preserve or explicitly revise dated decision notes; do not delete the evidence the next agent needs.
571
+ 1. **`.meta.yml` sidecars** — Update `summary`, `description`, and `mermaid` for each modified component. `summary` is what drives the compact component description in generated `account-boot.json`; `description` is the fallback when no summary is set and is capped there. Preserve or explicitly revise dated decision notes; do not delete the evidence the next agent needs.
572
572
  2. **`README.md`** — If the change affects account-level capabilities or workflows.
573
573
  3. **New components** — Always fill in `.meta.yml` immediately.
574
574