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.