BacklogZero®

Demo ·

Bind the controller project, then read the playbook

IDE agents can bind the AAP project that is the git remote, then read stored draft YAML and/or SCM YAML.

Sprint 129 ships put_aap_project_id and get_playbook

  • MCP
  • AAP
Agent chat using get_playbook for BL-251. The result names source as scm only and prints the YAML from the Controller project. Generate was not called.
Agent chat using get_playbook for BL-251. The result names source as scm only and prints the YAML from the Controller project. Generate was not called.

What you are seeing

IDE agents could already list projects (get_aap_projects) and see the current id (get_effective_settings). They could not set the id. A later session also could not inspect the server draft that 128 kept visible in the web UI, or the SCM file.

Sprint 129 ships that missing pair:

  • put_aap_project_id — bind the project that is the git remote
  • get_playbook — read stored draft YAML and/or SCM YAML

get_playbook names its source. When the file is already in the Controller project, you get scm only (screenshot above). When the SCM path is missing, the stored draft still returns. Source is draft only, plus the lookup failure — still no generate:

Agent chat using get_playbook for BL-250. Source is draft only because playbooks/BL-250.yml was not in SCM. The stored draft YAML is returned; generate was not called.
Agent chat using get_playbook for BL-250. Source is draft only because playbooks/BL-250.yml was not in SCM. The stored draft YAML is returned; generate was not called.

What moved

Before (128 / 120)After (129)
get_aap_projects / get_effective_settings (read the id)put_aap_project_id writes only that field
Check / save / get fail closed without a selected projectAgent can select a listed project from MCP
Draft and SCM GET routes — web UI and HTTP onlyget_playbook on HTTP /mcp/ and stdio
Generate returns YAML now; later session cannot inspectDraft and/or SCM with explicit source
Git construct failure hides the draft on MCPSame 128 degrade: draft + git_error; no generate
Skill assumes a project is already boundide_ticket_to_playbook: list → set if unset → read → check / JT

The agent surface

See the gap

Use get_effective_settings.
Tell me aap_project_id. Do not print tokens.
If the id is unset, use get_aap_projects and show id, name, scm_url.

Bind a listed project

Use put_aap_project_id with aap_project_id from that list.
Give me id, name, and scm_url.
If the id is unknown or <= 0, show the candidates. Do not write tokens.

Read YAML without generating

Use get_playbook for <TASK_KEY>.
Tell me source (draft and/or scm) and the YAML.
If git cannot build, still return the draft when present, plus git_error.
Do not call generate.

Bind, then read, then check

Follow ide_ticket_to_playbook for <TASK_KEY>.
If aap_project_id is unset, list projects and set one.
If you did not just generate, use get_playbook before refine/validate.
Then check / JT. Do not launch. Do not cancel. Do not mutate Crane.

Default Skill still does not compose post_aap_launch, post_aap_cancel, post_aap_relaunch, or Crane mutations. Recover stays on ide_job_recover.

Same capability ids on HTTP /mcp/ and stdio. After you take the appliance update, fully restart the IDE MCP process so put_aap_project_id and get_playbook appear.

PAT and transport: MCP quickstart (Configuration → MCP Connect).

Why it matters

  • For IDE agents: select the git remote and inspect stored YAML without opening the web UI.
  • For operators: check / save / get can succeed after 128 fail-closed, because the project id is set.
  • For the product: see the ticket (113) + browse binds (120) + bind the remote and read the YAML (129) + check → JT. An IDE-only session is no longer blocked on a Settings click.

Try it (about five minutes)

Goal: bind a listed project, read draft and/or SCM YAML, continue to check / JT without launching.

0. Prerequisites

  • Appliance running with AAP (or lab Controller) configured.
  • PAT from Configuration → MCP Connect (or HTTP /mcp/ with Bearer).
  • User Settings: git PAT. Do not paste tokens into chat.
  • A Controller project with a non-empty scm_url, and a task that has a server draft and/or SCM file.
  • Reload stdio or Cursor after the update so put_aap_project_id and get_playbook appear.

1. See whether a project is bound

Use get_effective_settings.
If aap_project_id is unset, use get_aap_projects.

2. Bind (new)

Use put_aap_project_id with a listed id.
Confirm name + scm_url. Confirm tokens were not accepted or returned.

3. Read (new)

Use get_playbook for <TASK_KEY>.
Confirm source draft and/or scm.
If AAP is down, confirm draft + git_error and that generate was not called.

4. Continue the happy path

Use get_check_playbook then post_aap_job_template for <TASK_KEY>.
Do not launch unless I explicitly confirm.

5. Optional Skill

Follow ide_ticket_to_playbook for <TASK_KEY>.
Bind the project if unset. Read YAML if you did not just generate.
Do not launch. Do not cancel. Do not apply Crane.

Available to customers

Will be available in the forthcoming v2026.9.0 bundle. After you take the appliance update, fully restart the IDE MCP process so put_aap_project_id and get_playbook appear.

Subscribe for updates

Get an email whenever we publish new guides and blog posts. Unsubscribe anytime.

By subscribing you agree we may email you about Velocity and related Level Up Labs updates. We store your address in the same lead sheet as our contact form.

Related Velocity

Back to Velocity

Bind the controller project, then read the playbook · Level Up Labs