Skip to content

Agreement package template

Use after discovery chat (PM + AI), when you know there is one or more tasks.
Fill before the human says agree. On agree, create Plane work: a parent (if multi-task) plus one ticket per task, each with its acceptance / live checks.

# Agreement — <initiative short title>

## Meta
- Mode after agree: delivery
- Target repo(s): infra/devops | portfolio | mixed: ___
- Plane prefix(es): INFRA | PORT | ___
- Ticket shape: single | parent + children
- Needs UX check (any task): yes | no

## Initiative goal
One sentence: what becomes true when **all** tasks are Done.

## Out of scope (initiative)
- ## Task breakdown
| ID | Title | Outcome (one line) | Surface | UX? |
|----|-------|--------------------|---------|-----|
| T1 | … | … | docs / UI / CI / service | yes/no |
| T2 | … | … | … | … |

## Cost band (H13 / D27) — before agree
Rough LLM spend for this initiative across connections we will use (not exact billing in v1). Soft wallet across **all** ideas: **~€30/month** (D27c / H31). Cursor IDE spend is **separate**.

| Band | Est. range | Typical connections (v1) | Notes |
|------|------------|--------------------------|-------|
| Less $ | $…–$… | Ollama / OpenRouter free / cheapest Flash-class | … |
| Mid $ | $…–$… | Groq / Gemini Flash-class / OpenRouter | … |
| More $ | $…–$… | Anthropic Sonnet-class / strong OpenAI (prepaid) | … |

- **Recommended:** less | mid | more
- **Human picks:** less | mid | more
- **Mix (optional):** e.g. execute=mid, qa=less, stuck=more
- **Over band:** pause (`waiting_on: budget`) or ask to raise band
- **Over monthly wallet:** `waiting_on: wallet` — hard caps via prepaid / workspace / OpenRouter guardrails (no auto-top-up)
- **Privacy:** paid commercial APIs only for private code — not free evaluation tiers

## Time band (H17) — before agree
| Band | Est. | Why this band |
|------|------|----------------|
| Soon | hours | … |
| Days | 1–N days | … |
| Longer | multi-day / many gates | … |

- **Human picks:** soon | days | longer
- **Playbook (H20) if any:** docs-only | portfolio-ui | wearlab-service | infra-platform | none

## Blast radius (H30) — before agree
- **Primary:** docs | app | infra | secrets
- **Notes:**## Dependencies (H29)
| Ticket | depends_on |
|--------|------------|
| T1 | — |
| T2 | T1 |
| … | … |

## Parking (H36)
- Status: active review | **parked** (no Plane yet) | discard
- Park reason (if any): …

## Per-task completion (repeat per Ti)

### T1 — <title>
**Acceptance**
- [ ]- [ ]**Preview / test** (skip if n/a)
| Step | How | Pass |
|------|-----|------|
| … | … | … |

**Live verify** (required for that ticket’s Done)
| Check | URL / command / monitor | Pass |
|-------|-------------------------|------|
| … | … | … |

**Risk / rollback**
- ### T2 — <title>
(same structure)

## Order
- Delivery order: T1 → T2 → … (v1 default sequential)
- Parallel allowed: no (default) | yes: ___

## Budget
- Use daily conductor token budget: yes (default)
- Soft max CI fix attempts per ticket: 3

Single-task shortcut

If there is only one task, omit the parent: one Plane ticket, same fields as a single Ti block + initiative goal.

Quick examples

A — One docs task

Discovery → “we need a docs note” → one ticket → mkdocs serve preview → live on docs.*.

B — Multi-task initiative

Discovery → “improve Idea→Done docs + add MkDocs nav polish” → parent + T1 docs content + T2 nav/css → agree → two tickets sequential.

C — Portfolio UX

Discovery → “homepage CTA unclear” → one or more UI tasks with UX walks in preview and live verify on rafaelgonzalezalbes.com.