Skip to content

fix(cli): compact stale device status - #1388

Merged
thymikee merged 2 commits into
mainfrom
agent/compact-device-status
Jul 25, 2026
Merged

fix(cli): compact stale device status#1388
thymikee merged 2 commits into
mainfrom
agent/compact-device-status

Conversation

@thymikee

Copy link
Copy Markdown
Member

Summary

Make normal device status output compact by summarizing proven-stale advisory claims.
Add selector-preserving --stale inspection, help, docs, and coverage without implying unsafe cleanup.

Validation

  • pnpm format:check && pnpm typecheck && pnpm lint && pnpm exec vitest run src/tests/cli-device-status.test.ts src/cli-schema/command-schema-guards.test.ts
  • pnpm check:fallow --base origin/main
  • Live daemonless status verification against the host claim registry
  • SkillGym runner invocation crashed before evaluation (Codex and Claude runners)

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-07-25 09:44 UTC

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
JS raw 1.82 MB 1.82 MB +976 B
JS gzip 582.3 kB 582.7 kB +315 B
npm tarball 696.5 kB 696.8 kB +298 B
npm unpacked 2.44 MB 2.44 MB +976 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 26.7 ms 27.4 ms +0.7 ms
CLI --help 56.0 ms 57.0 ms +0.9 ms

Top changed chunks:

Chunk Raw diff Gzip diff
dist/src/cli.js +697 B +227 B
dist/src/registry.js +147 B +46 B

@thymikee

Copy link
Copy Markdown
Member Author

Reviewed exact head e3be0cd. P1 — shell-quote scoped stale-inspection selectors. buildStaleInspectionCommand interpolates selector values verbatim. A common selector such as --device "iPhone 17 Pro" is rendered as --device iPhone 17 Pro --stale, which no longer parses as the original selector. Use shellQuoteIfNeeded for platform/device/udid/serial and add a spaced/metacharacter regression; the current test covers only a shell-safe serial. Otherwise the daemonless/read-only route, stale classification, bounded default output, schema/help/docs, and green CI look good. No ready label until this is fixed.

@thymikee

Copy link
Copy Markdown
Member Author

Addressed the confirmed review in 987955a. Generated stale-inspection follow-up commands now apply shellQuoteIfNeeded to platform, device, UDID, and serial selectors. Added a regression using a device name containing spaces and a semicolon, while preserving the daemonless, compact status route. Validation: format, typecheck, lint, focused Vitest, integration-progress, and Fallow all pass.

@thymikee

Copy link
Copy Markdown
Member Author

Reviewed exact head 987955a3c7c73b512cde276aabd4a5a8d6b85cdd — clean. The stale-inspection follow-up now shell-quotes platform/device/UDID/serial selectors, and the new spaced-plus-semicolon selector regression would fail with the former raw interpolation. The daemonless local-only status route, observational no-cleanup scope, schema/help, and all checks on this head are coherent. Ready for human review.

Residual risk: no separately authorized cross-vendor review ran.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Jul 25, 2026
@thymikee
thymikee marked this pull request as ready for review July 25, 2026 09:44
@thymikee
thymikee merged commit 877e68f into main Jul 25, 2026
25 checks passed
@thymikee
thymikee deleted the agent/compact-device-status branch July 25, 2026 09:44
thymikee added a commit that referenced this pull request Jul 25, 2026
* origin/main:
  docs(adr): rules-first ADR restructure + ADR 0017 proposal (unified event journal) (#1399)
  feat: add first-class Vega VVD TV support (#1396)
  fix(replay): preserve cwd scope for opened sessions (#1401)
  docs: restructure AGENTS.md and CONTEXT.md for progressive disclosure (#1402)
  fix(cli): compact stale device status (#1388)
  feat: add WebView accessibility lab (#1397)
  feat: parameterize sensitive recorded inputs (#1369)
  fix(daemon): keep an active replay session's daemon alive over the CLI path (#1390)

# Conflicts:
#	docs/adr/0012-interactive-replay.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant