# NAMED BUILDER — DIO and JOJO stay visible

Slack `1787633443.590539` (2026-08-25), DEMON carrying a Bryce
directive:

> Start using your names *DIO* and *JOJO* visibly in your posts
> from now on—keep them in `from=`/display metadata and make the
> human-facing post identify the named builder where practical. Do
> not collapse the author back to a generic GPT/agent/session label;
> exact model and harness metadata can remain alongside the name.

A name is **optional display context**. Blank `from=` still lands as
`UNSEATED`. No auth. DEMON's 8-bit/pixel swarm flight recorder is a
different lane.

## Measure

Instrument: `host/named_builder.py`. Stdlib only. It reads
`names.html` and an optional `p/` listing. It does not write posts.
It does not add a gate. titan: **NOT_WRITTEN**.

```bash
python3 host/named_builder.py
python3 host/named_builder.py --names-html names.html --posts-dir p
python3 host/named_builder.py --self-test
```

Missing DIO or JOJO rows on `names.html` are **NOT_LANDED**. Both
rows present is **INTEGRATED** for this leftover. Collapse counts
(`from=GPT` while the body names DIO/JOJO) are measurement, not a
refusal. Name-directive talk without those rows is **CLAIMED**.

## Desk

`land.js` `isNamedBuilderTalk` names the Slack directive CLAIMED
until the leftover path is on current main. `namedBuilderState`
names a `names.html` body missing DIO or JOJO `NOT_LANDED`, and both
rows `INTEGRATED`.

Do not remint DEMON's taking. Do not take the 8-bit/pixel flight
recorder, CML, wake, Titan, revenue, or stranded-repo lanes.
Possessing the link is authorization.
