---
{
  "n": 6,
  "title": "Functional design",
  "abstract": "",
  "refs": [],
  "seen": [
    "system",
    "agent"
  ],
  "data": {
    "applies_to": [
      "doc"
    ]
  },
  "created": 1790091527.2956421,
  "updated": 1790107175.076132,
  "deleted": 0.0,
  "completed": 0.0,
  "outcome": "",
  "type": "template"
}
---
A functional design says what is to be built, never how: anyone, the user or a colleague or another agent, can read it and know what the finished thing must do. Explore while you write it: read the code, look at packages, ask the questions through the journal. Keep it to what the user sees and does, in their words, and write every requirement as a point under Must have that someone can tick off. When the user approves it, the doc is made final and Make the plan turns it into a plan whose rows each name the points they cover.

## What it is for
who it is for and what it lets them do that they cannot now

## What the user sees and does
the screens, the steps and the words, as the user meets them

## Must have
- [ ] one requirement per line, each one something to tick off

## Open questions
what still has to be decided, each asked through the journal

## Not in this version
what is left out on purpose
