,` prefix was required for four releases and removed | §14, §24 |
+| No prose linter | Requirement-smell detection measures about 59% precision | §9, README |
+| The crate is `human-intent`, the command `hi` | `hi` on crates.io is taken; the command name is shared on purpose | §7, §13 |
+| The page is one self-contained file in the brand kit | No network, works from an email attachment | §10.3, §25 |
+| The one promise, scoped to hi's own verbs | Four ways hi broke it, and what they changed | §26 |
+| hi writes `hi/AGENTS.md` once, and `hi seed` migrates it | The agent learns the habit from a file in `hi/` | §27, §38, §39 |
+| First contact comes from fledge | A user-global plugin reaches repositories with no `hi/` | §28 |
+| One paragraph is one line | Only a blank line is a break; `hi issue` unwraps, files are never reflowed | §29 |
+| The feature list keeps itself current | Capture and retire refresh it; deleting it is respected | §30, §32 |
+| Writes read themselves back | The write path and the parse path share one fence reading | §31, §35 |
+| The lock belongs to the kernel | Age and heartbeat were both guesses | §33, §34 |
+| Unreadable is not absent | A lookup that cannot see is a failure, not a "free" | §36 |
+| Seven check kinds, frozen as a policy | An eighth is a 2.0 | §38, §39, HI-1.md |
+| An id is an export scope | A context window is a budget | §40 |
+
+## 10. Glossary
+
+- **Criterion.** One plain sentence about what somebody wants, under an id, on one line. It says what the thing should be, not what it currently does.
+- **Case.** A criterion whose last level is a letter: another branch of its parent (`SEND-1.a`).
+- **Step.** A criterion below the top whose last level is a number: an ordered detail inside its parent (`SEND-1.a.1`).
+- **Family.** The uppercase part before the hyphen (`SEND`). Declared in a file's frontmatter. One file can hold several families, and a family belongs in exactly one file, or `hi check` reports `duplicate-family`.
+- **Live, retired, stray.** Under `## Criteria`; under `## Retired`; criterion-shaped but where hi cannot read it. All three are taken.
+- **Intent.** The `## Intent` prose of a feature file: why the feature exists, in the author's words.
+- **Product-level why.** The prose in `INTENT.md`, above any one feature.
+- **Feature list, index.** The generated block between `` and `` in `INTENT.md`.
+- **Workspace.** The directory holding `hi/`, found by walking up to a `hi/` with hi files in it or to a `.git`.
+- **HI/1.** The only file format version this binary reads or writes, named by `hi: 1` in frontmatter.
+- **Envelope.** The shape of `hi export`'s JSON, versioned separately as `"export": 1`.
+- **Kind, note.** A kind is one of the seven structural problems that fail `hi check`. A note is something worth saying that never moves the exit code.
+- **Read-back.** The check every write makes on the buffer it is about to save before saving it.
+- **Seed template.** A `hi/AGENTS.md` text some release of hi shipped, which `hi seed` may replace.
+- **Nudge.** The fledge hook that says one line in a repository with nothing written down.
diff --git a/docs/site/architecture.html b/docs/site/architecture.html
new file mode 100644
index 0000000..5bbca05
--- /dev/null
+++ b/docs/site/architecture.html
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+hi architecture
+
+
+
+
+
+Skip to the document
+
+
+
+
+
+
+
+