Skip to content

agent-device AGENTS.md changelog

io.github.callstackincubator/agent-device

4 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.

  • AGENTS.md +2 −2

    https://raw.githubusercontent.com/callstackincubator/agent-device/HEAD/AGENTS.md

    − Read only your task's row. Follow other links only when they apply.− | Source changes, package boundaries, routing, diagnostics | `docs/agents/code-ownership.md` |+ Read each applicable row. Follow other links only when they apply.+ | Source, package boundaries, routing, diagnostics, CI | `docs/agents/code-ownership.md` |

  • AGENTS.md +37 −35

    https://raw.githubusercontent.com/callstackincubator/agent-device/HEAD/AGENTS.md

    − `agent-device` is a CLI and daemon for automating devices and web targets.− Read only the row for your current task. Follow further links only when they apply.− | Domain vocabulary | `CONTEXT.md`, `docs/agents/domain.md` |− | Architecture decisions | `docs/adr/README.md` |− | Running checks or diagnosing a failed gate | `docs/agents/testing.md` |− | Writing or changing tests | `docs/agents/test-authoring.md` |− | Auditing or deleting tests | `docs/agents/test-audit.md` |− | Changing gate selection, fuzzing, or mutation harnesses | `docs/agents/gates.md` |− | Adding or changing a CLI flag | `docs/agents/cli-flags.md` |− | Opening or updating a PR | `docs/agents/pull-requests.md` |− | Reviewing a change | `docs/agents/review.md` |− | Writing issues or PRDs, and triage labels | `docs/agents/issue-tracker.md`, `docs/agents/triage-labels.md` |− Device-facing changes affect live device behavior: dispatch, capture, interaction, app lifecycle, or native execution.− A daemon edit that changes none of these needs no device run.− Versioned CLI help owns command semantics. For app-driving startup, use the skill's routing card.− - Keep edits within the requested command family or module group. Inspect other platforms only when the task requires it.− - Fix recurring failures at the owning type, registry, or construction path. Do not reconstruct another owner's state.− - Use typed reasons and details for behavior. Never match error text.− - Add compatibility or fallback behavior only when explicitly requested or approved. Remove superseded paths during migrations.− - Encode invariants in names, types, and boundaries. Comments explain public APIs, tool directives, or constraints code cannot express.− - Resolve gate failures at the reported invariant. Do not suppress them or add an allowlist to get a pass.− - Use `@agent-device/selectors` for selector parsing and matching. See `docs/agents/code-ownership.md` for other shared owners.− - Keep skills as routing cards. Keep `CONTEXT.md` glossary-only. Update owning help and user docs when behavior changes.− - Use `pnpm`. Use OXC for lint and format. Run `pnpm format` repository-wide.− - In a fresh worktree, run `pnpm install --frozen-lockfile && pnpm build` before testing.− - Preserve other worktrees, devices, sessions, dirty files, and experiments.− - Never copy `.env` into a worktree. For host credentials, source the main checkout's file by absolute path.− - Give parallel workers disjoint files and distinct devices. `pnpm check:affected --run` and `pnpm check` serialize automatically.− - The layering scan reads tracked files. Stage new modules before trusting its result.− - Move a path's Fallow baseline entry when renaming its file. Do not regenerate unrelated baselines.− The validation lock reclaims provably dead owners automatically. Unknown owners remain blocking.− If waiting times out, report the printed owner and lock state; do not remove it by hand.− Write short instructions with one action per sentence. Put the condition before its action.− Use the same term for the same concept. Keep commands and domain terms exact.− Route specialized rules to their task document. Delete duplicate or enforced rules before adding reminders.+ `agent-device` is a CLI and daemon that automates devices and web targets.+ Read only your task's row. Follow other links only when they apply.+ | Domain vocabulary | `CONTEXT.md` |+ | Read architecture decisions | `docs/adr/README.md` |+ | Write or amend an ADR | `docs/adr/FORMAT.md` |+ | Checks or a failed gate | `docs/agents/testing.md` |+ | New or changed tests | `docs/agents/test-authoring.md` |+ | Test audits or deletions | `docs/agents/test-audit.md` |+ | Gate selection, fuzzing, or mutation harnesses | `docs/agents/gates.md` |+ | A new or changed CLI flag | `docs/agents/cli-flags.md` |+ | A PR to open or update | `docs/agents/pull-requests.md` |+ | A change to review | `docs/agents/review.md` |+ | Issues, PRDs, or triage labels | `docs/agents/issue-tracker.md`, `docs/agents/triage-labels.md` |+ A device-facing change affects live device behavior: dispatch, capture, interaction, app lifecycle, or native execution.+ If a daemon edit changes none of these, a device run is not required.+ The versioned CLI help owns command semantics. To drive an app, start with the skill's routing card.+ - Keep edits in the requested command family or module group. Examine other platforms only when the task requires it.+ - Fix a recurring failure at the owning type, registry, or construction path. Do not rebuild another owner's state.+ - Use typed reasons and details for behavior. Do not match error text.+ - Add compatibility or fallback behavior only on explicit request or approval. During a migration, remove superseded paths.+ - Encode invariants in names, types, and boundaries. Write comments only for public APIs, tool directives, or constraints that code cannot show.+ - Resolve a gate failure at the reported invariant. Do not suppress it. Do not add an allowlist to get a pass.+ - Use `@agent-device/selectors` to parse and match selectors. For other shared owners, see `docs/agents/code-ownership.md`.+ - Keep skills as routing cards. Keep `CONTEXT.md` as a glossary only. When behavior changes, update the owning help and user docs.+ - Use `pnpm`. Use OXC to lint and format. Run `pnpm format` on the full repository.+ - In a new worktree, run `pnpm install --frozen-lockfile && pnpm build` before you test.+ - Do not change other worktrees, devices, sessions, dirty files, or experiments. Do not use `git stash`; all worktrees share it.+ - Do not copy `.env` into a worktree. For host credentials, source the main checkout's file by its absolute path.+ - Give each parallel worker different files and a different device. `pnpm check:affected --run`, `pnpm check`, and heavy `pnpm gate` ids share one lock.+ - The layering scan reads only tracked files. Stage new modules before you trust its result.+ - When you rename a file, move its Fallow baseline entry. Do not regenerate unrelated baselines.+ The validation lock automatically reclaims provably dead owners. An unknown owner continues to block.+ If the wait times out, report the printed owner and the lock state. Do not remove the lock manually.+ Write agent docs in ASD-STE100. Write one instruction in each sentence.+ Put the condition before the instruction. Use one term for one concept.+ Keep commands and domain terms exact. Put specialized rules and new shared constraints in the owning task document, not in agent memory.+ Before you add a reminder, delete duplicate or enforced rules.

  • AGENTS.md +39 −100

    https://raw.githubusercontent.com/callstackincubator/agent-device/HEAD/AGENTS.md

    − `agent-device` is a CLI and daemon for automating Apple, Android, HarmonyOS, Vega, Linux, and web− targets. A long-lived daemon owns sessions; registry-derived commands route to platform runtimes.− Load only the procedures relevant to the task:− | Tests or gate selection | `docs/agents/testing.md` |− | Writing, auditing, or sweeping tests; dispatching test-audit subagents | `docs/agents/test-audit.md` |− | Selector capture, polling, or interaction fast paths | `docs/agents/selector-capture.md` |− | Opening or reviewing a PR | `docs/agents/pull-requests.md` |− | Apple runner changes or manual device verification | `docs/agents/device-verification.md` |− Versioned CLI help owns command semantics. Read the relevant topic when behavior is unclear;− normal app-driving startup follows the skill's routing card.− ## Incident-derived principles− - Classify interaction dispatch paths in `packages/contracts/src/interaction-guarantees.ts` and−   verify each claim against the native implementation.− - Delegation on error proves no success-path parity. A fast path may succeed on a candidate the−   shared rules would refuse.− - Prove both paths are reachable before measuring a fast path against its baseline.− - Repair recurring failures at the owning type, registry, or construction path; do not add guards−   that reconstruct another source of truth.− - Keep control-flow narration and review history out of implementation comments. Encode invariants−   in names, types, boundaries, and tests; reserve comments for public API docs, tool directives,−   and non-obvious constraints that cannot be encoded.− - Key behavior on typed reasons and details, never error text; do not copy existing message sniffs.− - Keep metadata at response level when it applies to the whole snapshot. Append warnings through−   the shared response builder; never replace prior warnings.− - Before preserving a compatibility shape, run `git tag --contains <commit>`. Unreleased API has no−   external compatibility obligation.− ## Declaration sites and enforcement− Read the declaration rather than maintaining a prose copy:− - commands and their surface, runtime-use, batch, and timeout traits:−   `packages/command-registry/src/registry.ts`− - daemon route ownership and request-policy traits: `src/daemon/daemon-command-registry.ts`− - interaction paths and guarantees: `packages/contracts/src/interaction-guarantees.ts`− - canonical command names: `packages/command-registry/src/catalog.ts`− - device runtime-use declarations and fact admission:−   `packages/command-registry/src/registry.ts`, `src/daemon/runtime-admission.ts`, and−   `src/platform-runtime-gateway.ts`− - common command input fields, and which surface may write an input key (model, operator, retired):−   `src/commands/common-input-fields.ts` and `src/commands/input-audience.ts`− Shared selector parsing and matching belongs in `@agent-device/selectors`; daemon-side request− cancellation and progress in `@agent-device/host-kit/request`, and the caller's per-call abort guard+ `agent-device` is a CLI and daemon for automating devices and web targets.+ The daemon owns sessions. Registry declarations route commands to platform runtimes.+ Read only the row for your current task. Follow further links only when they apply.+ | Source changes, package boundaries, routing, diagnostics | `docs/agents/code-ownership.md` |+ | Running checks or diagnosing a failed gate | `docs/agents/testing.md` |+ | Writing or changing tests | `docs/agents/test-authoring.md` |+ | Auditing or deleting tests | `docs/agents/test-audit.md` |+ | Mutation experiments or base comparisons | `docs/agents/test-experiments.md` |+ | Changing gate selection, fuzzing, or mutation harnesses | `docs/agents/gates.md` |+ | Selector capture, polling, interaction fast paths, replay | `docs/agents/selector-capture.md` |+ | Opening or updating a PR | `docs/agents/pull-requests.md` |+ | Reviewing a change | `docs/agents/review.md` |+ | Device-facing changes or manual device verification | `docs/agents/device-verification.md` |+ Device-facing changes affect live device behavior: dispatch, capture, interaction, app lifecycle, or native execution.+ A daemon edit that changes none of these needs no device run.+ Versioned CLI help owns command semantics. For app-driving startup, use the skill's routing card.+ ## Working rules+ - Keep edits within the requested command family or module group. Inspect other platforms only when the task requires it.+ - Fix recurring failures at the owning type, registry, or construction path. Do not reconstruct another owner's state.+ - Use typed reasons and details for behavior. Never match error text.+ - Add compatibility or fallback behavior only when explicitly requested or approved. Remove superseded paths during migrations.+ - Encode invariants in names, types, and boundaries. Comments explain public APIs, tool directives, or constraints code cannot express.+ - Resolve gate failures at the reported invariant. Do not suppress them or add an allowlist to get a pass.+ - Use `@agent-device/selectors` for selector parsing and matching. See `docs/agents/code-ownership.md` for other shared owners.+ - Keep skills as routing cards. Keep `CONTEXT.md` glossary-only. Update owning help and user docs when behavior changes.+ ## Worktree setup+ - Use `pnpm`. Use OXC for lint and format. Run `pnpm format` repository-wide.+ - In a fresh worktree, run `pnpm install --frozen-lockfile && pnpm build` before testing.+ - Preserve other worktrees, devices, sessions, dirty files, and experiments.+ - Never copy `.env` into a worktree. For host credentials, source the main checkout's file by absolute path.+ - Give parallel workers disjoint files and distinct devices. `pnpm check:affected --run` and `pnpm check` serialize automatically.+ - The layering scan reads tracked files. Stage new modules before trusting its result.+ - Move a path's Fallow baseline entry when renaming its file. Do not regenerate unrelated baselines.+ The validation lock reclaims provably dead owners automatically. Unknown owners remain blocking.+ If waiting times out, report the printed owner and lock state; do not remove it by hand.+ ## Agent docs+ Write short instructions with one action per sentence. Put the condition before its action.+ Use the same term for the same concept. Keep commands and domain terms exact.+ Route specialized rules to their task document. Delete duplicate or enforced rules before adding reminders.

    Showing the first 40 of each.

  • AGENTS.md +5 −3

    https://raw.githubusercontent.com/callstackincubator/agent-device/HEAD/AGENTS.md

    − Shared selector parsing and matching belongs in `@agent-device/selectors`; request cancellation− and progress in `@agent-device/host-kit/request`; cross-layer contracts in `packages/contracts/src`;− CLI flags in `src/commands/cli-grammar`; cross-surface schema composition in `src/commands/schema`.+ Shared selector parsing and matching belongs in `@agent-device/selectors`; daemon-side request+ cancellation and progress in `@agent-device/host-kit/request`, and the caller's per-call abort guard+ beside the transports it serves in `src/daemon-client/daemon-client-transport.ts`; cross-layer+ contracts in `packages/contracts/src`; CLI flags in `src/commands/cli-grammar`; cross-surface schema+ composition in `src/commands/schema`.