artshelf 0.10.0 → 0.10.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +8 -6
  3. package/SPEC.md +16 -7
  4. package/dist/src/adapters/process.js +7 -0
  5. package/dist/src/adapters/update.js +143 -0
  6. package/dist/src/cli.js +44 -1831
  7. package/dist/src/commands/cleanup.js +52 -0
  8. package/dist/src/commands/doctor.js +79 -0
  9. package/dist/src/commands/due.js +32 -0
  10. package/dist/src/commands/find.js +44 -0
  11. package/dist/src/commands/get.js +31 -0
  12. package/dist/src/commands/index.js +69 -0
  13. package/dist/src/commands/ledgers.js +111 -0
  14. package/dist/src/commands/list.js +36 -0
  15. package/dist/src/commands/put.js +36 -0
  16. package/dist/src/commands/resolve.js +17 -0
  17. package/dist/src/commands/review.js +38 -0
  18. package/dist/src/commands/shared.js +160 -0
  19. package/dist/src/commands/status.js +101 -0
  20. package/dist/src/commands/trash.js +78 -0
  21. package/dist/src/commands/update.js +75 -0
  22. package/dist/src/commands/validate.js +35 -0
  23. package/dist/src/config/env.js +24 -0
  24. package/dist/src/config/package.js +17 -0
  25. package/dist/src/config/paths.js +5 -0
  26. package/dist/src/renderers/attention.js +3 -0
  27. package/dist/src/renderers/doctor.js +64 -0
  28. package/dist/src/renderers/json.js +10 -0
  29. package/dist/src/renderers/review.js +159 -0
  30. package/dist/src/renderers/status.js +112 -0
  31. package/dist/src/shared/cli-types.js +1 -0
  32. package/dist/src/shared/errors.js +4 -0
  33. package/dist/src/shared/flags.js +41 -0
  34. package/dist/src/shared/help-text.js +355 -0
  35. package/docs/agent-usage.html +1 -1
  36. package/docs/agent-usage.md +2 -2
  37. package/docs/reference.html +12 -6
  38. package/package.json +1 -1
@@ -97,7 +97,7 @@
97
97
  <dl class="def-rows">
98
98
  <div><dt>default</dt><dd>human render: scannable grouped counts, attention states, and a short next action for a person at the terminal</dd></div>
99
99
  <div><dt>--agent</dt><dd>a deterministic, token-efficient decision packet (single-line compact JSON) with health, counts, classifications, exact approval targets, blockers, and a verification command</dd></div>
100
- <div><dt>--json</dt><dd>the full audit and API contract: complete machine-readable JSON for debugging and existing integrations, unchanged and backward compatible</dd></div>
100
+ <div><dt>--json</dt><dd>the backward-compatible public audit contract: complete machine-readable JSON for debugging and integrations</dd></div>
101
101
  </dl>
102
102
  </section>
103
103
 
@@ -60,8 +60,8 @@ both people and agents:
60
60
  - **`--agent`**: a deterministic, token-efficient decision packet (single-line
61
61
  compact JSON) with health, counts, classifications, exact approval targets,
62
62
  blockers, and a verification command. Use it when an agent acts on the result.
63
- - **`--json`**: the full audit and API contract — complete machine-readable JSON
64
- for debugging and existing integrations, unchanged and backward compatible.
63
+ - **`--json`**: the backward-compatible public audit contract — complete
64
+ machine-readable JSON for debugging and integrations.
65
65
 
66
66
  Reach for `--agent` when an agent needs to decide and act cheaply; reach for
67
67
  `--json` when you want the full record, plan, or health detail for audit or
@@ -148,7 +148,10 @@ artshelf update [--json]</code></pre>
148
148
  only. pnpm global installs should update with
149
149
  <code>pnpm add -g artshelf@latest</code>. Source installs should update by
150
150
  pulling, rebuilding, and linking the checkout. Notices are cached in
151
- <code>~/.artshelf/update-check.json</code>; set
151
+ <code>~/.artshelf/update-check.json</code>: update-available results use
152
+ the long 24-hour TTL, while no-update, failed, missing, or null results
153
+ use a shorter 1-hour TTL so newly published releases are noticed sooner.
154
+ <code>artshelf update</code> forces a fresh latest-version check. Set
152
155
  <code>ARTSHELF_NO_UPDATE_CHECK=1</code> to disable automatic checks for
153
156
  no-network scripts and scheduled jobs. Read-only command labels refer
154
157
  to ledger and artifact mutation, not this optional update-check cache.
@@ -226,9 +229,9 @@ artshelf trash purge --execute --plan-id &lt;id&gt; [--ledger &lt;path&gt;] [--j
226
229
  to re-run for verification, so an agent can act without parsing decorative output.
227
230
  </p>
228
231
  <p>
229
- <code>--json</code> stays the audit and API contract: the full, pretty-printed report for
230
- debugging, audit trails, and existing integrations. It is unchanged and backward compatible,
231
- and <code>--agent</code> takes precedence when both are passed. Update notices and other
232
+ <code>--json</code> stays the backward compatible public audit contract: the full,
233
+ pretty-printed report for debugging, audit trails, and integrations.
234
+ <code>--agent</code> takes precedence when both are passed. Update notices and other
232
235
  diagnostics stay on stderr and never corrupt JSON or packet output.
233
236
  </p>
234
237
  <table class="opts">
@@ -261,7 +264,8 @@ artshelf trash purge --execute --plan-id &lt;id&gt; [--ledger &lt;path&gt;] [--j
261
264
  <tr><td>ARTSHELF_NOW</td><td>override current time for retention and due calculations</td></tr>
262
265
  <tr><td>ARTSHELF_NO_UPDATE_CHECK=1</td><td>disable automatic npm update checks</td></tr>
263
266
  <tr><td>ARTSHELF_UPDATE_CACHE</td><td>override the update-check cache path</td></tr>
264
- <tr><td>ARTSHELF_UPDATE_CHECK_TTL_MS</td><td>override the update-check cache TTL</td></tr>
267
+ <tr><td>ARTSHELF_UPDATE_CHECK_TTL_MS</td><td>override the update-available cache TTL; also acts as the no-update TTL fallback for compatibility</td></tr>
268
+ <tr><td>ARTSHELF_NO_UPDATE_CHECK_TTL_MS</td><td>override the no-update/failed cache TTL specifically</td></tr>
265
269
  <tr><td>ARTSHELF_NPM_REGISTRY_URL</td><td>override the npm latest-version endpoint</td></tr>
266
270
  <tr><td>ARTSHELF_UPDATE_DRY_RUN=1</td><td>print the npm update command without running it</td></tr>
267
271
  <tr><td>ARTSHELF_LATEST_VERSION</td><td>override the latest-version value for tests</td></tr>
@@ -290,7 +294,9 @@ artshelf trash purge --execute --plan-id &lt;id&gt; [--ledger &lt;path&gt;] [--j
290
294
  <code>~/.artshelf/ledgers.json</code> is the discovery index for <code>--all</code>
291
295
  review, status, cleanup dry-run, and trash-list; project records stay in their own
292
296
  repo-local ledgers. Automatic update checks cache their last npm result at
293
- <code>~/.artshelf/update-check.json</code> by default.
297
+ <code>~/.artshelf/update-check.json</code> by default, with a long TTL
298
+ for update-available results and a shorter TTL for no-update or failed
299
+ results.
294
300
  </p>
295
301
  <div class="callout" data-kind="boundary">
296
302
  <span class="callout-label">Hard boundary</span>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "artshelf",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "description": "Tiny CLI for accountable temporary artifact retention.",
5
5
  "type": "module",
6
6
  "author": "Calvin",