docs: the provenance comment matches #61's pinned contract, not the old story

Review found `commands/platform.sh` still telling future readers that a
missing converged_* pair is a legitimate state on a freshly bootstrapped box.
It is not, and the rest of this PR already says so: #61's writer records both
pairs equally at bootstrap, so no writer produces that manifest -- its absence
means partial or hand-edited. README and the fixtures were corrected in an
earlier commit of this series; the comment beside the code was not, which
left the one artifact a future change actually reads while editing this block
still arguing the retired position.

Also corrects two examples that went stale under this PR rather than in it.
#76 and #77 merged while this was in review, so the marker example in the
same file -- and the sample `rig platform` output in README -- still showed
`role=dev class=human host=yes join=authkey`, a spelling bootstrap no longer
writes. Now `role=dev-server root-door=closed host=yes join=authkey`, with a
note that the renderer prints whatever fields a marker carries, so a
pre-rename box still shows its own class= line unchanged.

Comments and docs only; no behaviour change. Same defect class both times --
prose that contradicts the contract the tests pin -- which is why the sweep
went wider than the one site reported.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
dan-claude-bot 2026-07-20 12:41:30 +00:00
parent d3577b9954
commit e11247b467
2 changed files with 12 additions and 6 deletions

View file

@ -740,7 +740,7 @@ VIRT kvm
PROVENANCE
CONVERGED 0.6.0, 2026-08-02T09:11:03Z
BOOTSTRAP 0.4.0, 2026-07-19T14:24:51Z
ROLE dev (class=human host=yes join=authkey)
ROLE dev-server (root-door=closed host=yes join=authkey)
```
"Is this the 32GB one, or the M900?" was previously a question you answered by

View file

@ -170,9 +170,12 @@ if [ -r "$MANIFEST" ]; then
if [ -z "$M_SCHEMA$B_BY$B_AT$C_BY$C_AT" ]; then
field RIG "manifest present but carries no recognised fields ($MANIFEST)"
else
# 'not recorded' rather than 'unknown': under #61's rule 2 converged_* is
# written only when the version actually differs, so its absence is a
# legitimate state on a freshly bootstrapped box, not a lost value.
# 'not recorded' rather than 'unknown', and it does NOT describe a fresh
# box: #61's writer records both pairs equally at bootstrap, so no writer
# produces a manifest missing converged_* — its absence means the file is
# partial or hand-edited. Deliberately not backfilled from bootstrapped_*,
# because inferring a convergence that never happened is worse than saying
# the record is not there. README and the fixtures pin exactly this.
field CONVERGED "${C_BY:-not recorded}${C_AT:+, $C_AT}"
field BOOTSTRAP "${B_BY:-not recorded}${B_AT:+, $B_AT}"
[ -n "$M_SCHEMA" ] && [ "$M_SCHEMA" != "1" ] && \
@ -182,8 +185,11 @@ else
field RIG "not bootstrapped (no $MANIFEST)"
fi
# The role marker is bootstrap's own line — 'role=dev class=human host=yes
# join=authkey' — printed as the role plus its traits.
# The role marker is bootstrap's own line — 'role=dev-server
# root-door=closed host=yes join=authkey' — printed as the role plus its
# traits. The example tracks the CURRENT vocabulary (#76's -server/-box role
# suffixes, #77's root-door trait); this command renders whatever fields the
# marker carries, so a pre-rename box still prints its own class= line as-is.
MARKER_LINE="$(read_role_marker "$MARKER")"
if [ -n "$MARKER_LINE" ]; then
ROLE_NAME="" ROLE_TRAITS=""