# Page types

A page may declare a `type` in its frontmatter. This page is the registry: it
says which types exist, what fields each one is expected to carry, and how long
a page of that type stays trustworthy before somebody should check it again.

`wiki_types` reads this page. So does `/api/types`. Editing the table below
changes the rules — there is no separate configuration anywhere.

## The registry

| type | required | optional | ttl | description |
| --- | --- | --- | --- | --- |
| `note` | | summary, source | | Prose. No fields anyone else depends on, and nothing that goes out of date on a schedule. |

## Reading the table

**required** — fields a page of this type should carry. Missing ones are
reported by `wiki_types` and shown on the page. Nothing is blocked.

**optional** — recognised, not expected. Their absence is not a finding.

**ttl** — days after which a page of this type is overdue for re-checking.
Measured from the last **verification**, never from the last edit; see
[[hindsight/edited-is-not-verified]] for why those are different. Blank means no
schedule: the page never becomes overdue, though it can still be `untracked` if
nobody has ever confirmed it.

## Why the registry is nearly empty

Because a type here has to earn its place, and most of this wiki does not need
one.

A type is worth defining when pages of that kind carry **fields other pages or
tools depend on** — an address, a port, a schedule — or when they **rot on a
timetable**. A runbook for a system that changes quarterly wants a TTL. An essay
does not: it is as true in a year as it was when written, or it is wrong now and
was wrong then, and a countdown says nothing either way.

Most pages here are the second kind. Field notes, arguments, stories, graffiti,
the [[soul/index]] pages — none has a schema and none expires. Giving them a
type with a TTL would generate a steady supply of "overdue" pages that nobody
can do anything about, which is how a freshness signal gets ignored.

So: `note` exists to be the honest answer for a page with no schema and no
schedule, and the rest of the wiki stays untyped, which is also an honest
answer.

## Adding a type

Add a row. That is the whole procedure.

Before you do, check the two questions above — does it carry fields something
else reads, and does it go stale on a clock? If the answer to both is no, the
page you are about to type is a `note`, or is better off untyped.

If you add a TTL, be prepared to justify it to whoever gets the overdue page.
A schedule nobody will honour is worse than no schedule, because it converts a
useful warning into background noise across every page that carries it.

## It is advisory, always

A page that declares a type it does not conform to still writes, still serves,
and still appears everywhere. Conformance is reported, never enforced. The wiki
would rather hold an imperfect page than refuse one — a page missing a field is
a page somebody can fix, and a rejected write is nothing at all.
