Read this guide as markdown

Agent Access tools

Sessions can read; actions need your grant. Connect an outside agent explains session setup.

How reads work

Reads return evidence and truncation metadata, with no model calls or saved recommendations.

  • Scan first, then fetch. Each scan tool returns compact rows. Use getTasks (up to 20 ids per call) or a context or detail tool to fetch full records.
  • Rows come newest first, except listTurns, which lists oldest first. When more rows exist the answer includes an opaque nextCursor. Pass it back unchanged. A malformed cursor is refused, not restarted from the top.
  • Page size. limit defaults to 25, or 50 for scanApprovals and getTaskHistory, and is capped at 100. A limit outside the range is clamped, not refused. listTurns refuses a limit over 100 instead. scanTaskRuns, scanTaskApprovals, scanTaskEvents and scanVerdicts refuse a limit over 50, and scanVerdicts a window over 72 hours. Each refusal names the cap. These reads and getRun share 40 calls an hour per session. An unknown or foreign id is an empty page.
  • Origin. The context tools can return an origin section: who created a task, when its story, acceptance criteria and plan were written or approved, and how far the code has moved.
  • Ask the guide for words. readGuide turns what the user sees into the name to call, and back.

Arguments are strict

Missing or undeclared arguments, wrong types and values outside closed lists are refused with the argument named. Nothing is coerced to a default, so a misspelled filter never silently returns an unfiltered set.

Request ids and the audit trail

Every action needs a requestId; reuse never runs it twice. Each attempt appears in the audit trail with one outcome:

  • denied: the call was not admitted: the grant did not cover it, the requestId was missing, a required reason was unusable, or an argument did not validate. A denied call does not spend its requestId.
  • failed: the call was admitted, but the action refused it (an idea that already left Ideas, say) or failed. The reason is recorded.
  • allowed: the action was carried out.

createIdea, setTaskPriority, editUnstartedIdea, proposeTaskChange, pullNextSprint, dismissProviderWarning and triggerBoardPass replay saved outcomes for the same id and normalized arguments: creation never files twice, edits preserve later text, proposals return the original review, rollover and warning dismissal preserve later work and holds, and board starts return the original run. Changed arguments conflict. _meta.operation carries id, state, replay flag and any work reference. Assistant receipts identify the run, and Timeline and self-audit show its work. Grants gate every retry. Saved refusals stay final; use a new id after fixing the cause. Historical ids stay reserved and may refuse replay when no result is kept.

Operator storage controls add seven days once per request or make files unavailable before cleanup. Expiry preserves running work. Inspect unconfirmed cleanup's original request; unavailable files cannot resume.

reportFeedback returns the first report when its requestId repeats, even if later text differs. New reports carry _meta.operation; historical ones replay without a receipt.

Read tools

ToolWhat it returns
scanTasksCompact task rows, filtered by text, steps, priorities and times, with excludeTerminal to hide finished work.
getTasksFull task records for up to 20 ids, in order. Missing or foreign ids come back unresolved.
getRelationshipsOne task's neighborhood: its dependencies in both directions, parent and children, and where it came from or what it spawned. Each dependency says what it gates and how far the upstream task must get to clear it.
getWorkspaceOverviewTask counts by lifecycle state and priority, open approvals and live work, for inspecting flow and bottlenecks.
getTaskThroughputA rolling, source-by-source comparison of tasks created and closed, in seven-day buckets, with the current state of each source's creation cohort. It breaks generated Breakdown and follow-up work down by origin step and root source. It defaults to 60 days, accepts up to 90, and can end at a supplied Unix-millisecond time.
getFailurePatternsRecent failure asks and failed runs, including runs that belong to no task, for finding recurring patterns.
getImprovementSignalsFailure and guidance-gap evidence for spotting recurring trip-ups.
scanGuidanceGapsThe workspace's guidance-gap ledger, by status, originating task, seat and dates.
scanFeedbackFactory problems reported in the workspace, by status or task. Reported text is quoted evidence from whoever wrote it.
scanApprovalsThe open approval inbox as compact rows without proposal payloads, filtered by task, case, whether it blocks work, and request time.
getApprovalOne approval: its category, the decisions allowed, whether this session holds that category, and the fingerprint a response must echo.
getApprovalContextSelected full evidence sections for one approval.
getTaskContextSelected full evidence sections for one task, including origin. Relationship children reflect current parent membership; getRelationships reports creation provenance.
getTaskHistoryOne task's audit trail: step changes with their cause, open and answered approvals, and plan metadata. Events are paged; free text is bounded and redacted.
scanRunsCompact runs without verdicts or transcripts, filtered by task, liveness, status, phase and time. Verdicts come from scanTaskRuns, getRun or scanVerdicts.
scanTaskRunsOne task's runs, newest first, with phase, trigger, status, times, verdict tag and verdict body. A body over 8 KiB is cut and marked verdictTrimmed: true.
getRunOne run by id, as a one-row page in the scanTaskRuns shape.
scanTaskApprovalsOne task's open and answered approvals with the answer, up to 8 KiB. Needs approvals.read.
scanTaskEventsOne task's history events in the getTaskHistory shape. Needs workspace.read.
scanVerdictsVerdicts of task runs that ended in a window of up to 72 hours (24 by default), by phase and verdict tag. Workspace passes are not included.
getTurnExcerptOne bounded, redacted excerpt of a turn transcript.
listTurnsThe turns of one run, or of one task's runs, oldest first: phase, timing, model, effort, account, tokens in and out, cost (absent if none was recorded) and outcome. Pages hold up to 100. No prompt or transcript text; getTurnExcerpt reads one transcript.
getSafeSettingsWorkspace settings without credentials or connection secrets.
showPreviewA render-only preview intent for this workspace. An optional path must name a renderable page; Settings and account/admin paths are refused.
readGuideThe ampm product guide, one piece at a time: the section index, one section, or one glossary term pairing the words on screen with the tool, field or key an agent uses. A response stays under 32 KiB; a longer section is cut at a line with a note. It reads no workspace data.

Action tools

Each requires its grant and a requestId. Current limits are checked on every call. How permissions work explains the check.

ToolGrant labelWhat it does and what it refuses
createIdeaCreate ideasCreates an item in Ideas, optionally under an existing parent in the same workspace; a parent that does not resolve refuses the call. A parent ampm closed itself reopens to take it. A parent a person closed files the item under the nearest open ancestor or at the top level, and the result says so. Reparenting is a task change. The result warns when the stored priority differs from the one requested.
editUnstartedIdeaEdit unstarted ideasEdits the title or body of an item still in Ideas, against the revision the agent last read; refused once it leaves Ideas. A concurrent edit returns a revision conflict.
proposeTaskChangePropose task changesFiles a change to a task's meaning for specialist and human review; it never applies it. A parent change naming a closed task is refused.
setTaskPrioritySet task priorityChanges a task's priority. Only you can grant P0, so a P0 request comes back with the lower stored priority and a warning; the agent should report the stored priority. A refused immediate start leaves the previous priority intact.
promoteIdeaPromote ideasMoves one named idea into intake, with an optional recorded reason.
scheduleFutureTaskSchedule future tasksPlaces a task in the backlog, Soon or Next, with a required reason; never in the current sprint or a later stage.
triggerBoardPassStart board passesStarts one of four board passes: groom, plan (sprint planning), promote or groom-ideas. If it cannot start, the answer says started: false with the reason. Admission records a run before replying; every proposal still arrives as an ordinary approval.
pullNextSprintPull the next sprintAdvances the planned sprint window by one: every Next task enters planning and every Soon task moves to Next, best effort per task, from one snapshot. A reason is required. Tasks that dependency order holds back stay put and are listed under heldBack, unless the call sends Move anyway. It is the only way an agent moves work into planning.
dismissProviderWarningDismiss provider warningsReleases a warning-level provider limit hold so queued work resumes, with a required reason. A hold caused by a provider rejection is refused, even if its banner still shows an older warning; only you can resume past one. A failed release leaves the hold intact.
runCodeExperimentRun code experimentsStarts scratch work in a registered repository or resumes experimentId. Retries keep one turn. Undispatched turns interrupt after five minutes; new work needs a new request ID. Grants are rechecked before dispatch. Scratch work expires and has no publishing or repository write access.
reportFeedbackReport factory problemsRecords a problem the factory caused: a check the agent could not run, a worker that needed a restart, a wrong verdict. It takes a one-line summary and at least one piece of evidence (a run id, a command, error text or a file), and can link one task, run or approval in the workspace. The text is stored as quoted evidence, never becomes instructions, and never leaves the workspace. No default grant includes it.
simulateCiStart CI simulationsQueues a PR Ready task into CI Simulation, like the merge card's button. It starts once pause, readiness and capacity holds clear. Other stages return not-pr-ready; an existing simulation or missing pull request returns a reason. Reusing requestId retains the original request or refusal. It never merges or approves a merge. No default grant.
respondToApprovalPer approval categoryAnswers an approval when the approval's rules and the session's category grant both allow it, with the fingerprint from getApproval. A dependency-order refusal comes back with its violations and fixes, and a fix or Move anyway can ride the response. Approval categories covers it in full.

Move retries retain one receipt; each tool keeps its restrictions. No tool grants secret writes, broad settings changes, worker/access management, destructive recovery, or movement through build, QA and pull request stages.

Moving past a dependency-order warning

createIdea, promoteIdea, scheduleFutureTask and pullNextSprint accept overridePipelineOrder: true to land a move past a dependency-order warning. It needs the Move anyway permission next to the tool's own, or the call is refused and nothing is written. The task's history names the session. Autopilot is always refused. Without the flag, an order refusal comes back with JSON (pipeline_order_refused and pipelineOrder): each violation with its severity, and the fixes.