Draft release notes and an LLM go/no-go readiness advisory with four Agent SDK subagents

Tasks

Draft release notes from the CLI

Goal: draft a changelog and get a go/no-go recommendation without writing any Python.

Steps:

# Default depth (standard) at the project root:
attune workflow run release-notes --path .

# Deep advisory, JSON output:
attune workflow run release-notes --path . --depth deep --json

Verify: the slug is release-notes. --path / -p defaults to the current directory; --depth accepts quick, standard, or deep; --json / -j emits machine-readable output. Use attune workflow info release-notes to confirm registration. The report includes a readiness score, the drafted changelog, and prioritized next steps — this is advice, not a gate.

Draft release notes from Python

Goal: wire the advisory into a release hook or pipeline and act on the result.

Steps:

import asyncio

from attune.workflows import ReleasePreparationWorkflow


async def main() -> None:
    workflow = ReleasePreparationWorkflow()
    result = await workflow.execute(path=".", depth="deep")

    if not result.success:
        print("advisory failed:", result.error)
        return

    print(result.final_output)     # synthesized report + changelog
    for action in result.suggestions:
        print(action)


asyncio.run(main())

Verify: execute is a coroutine — await it. A completed run returns success=True with the report in final_output; a failure returns success=False with a populated error. metadata echoes the path, depth, and max_turns.

Keep the advisory cheap

Goal: run the advisory at the lowest cost.

Steps:

import asyncio

from attune.workflows import ReleasePreparationWorkflow


async def main() -> None:
    workflow = ReleasePreparationWorkflow()
    result = await workflow.execute(path=".", depth="quick")
    print(result.summary)


asyncio.run(main())

Verify: quick uses the smallest agent-turn budget (10) and the lowest cap ($2). To let a deep pre-release run finish without a cap, export ATTUNE_MAX_BUDGET_USD=0. Subscription users pay no per-request cost regardless.