Starts changelog/versioning tracking; RFC 0017 retires the `version` duel and its public permalink surface, keeping `work` duels as the operational core.
What changed#
- Changelog and version tracking start here. The repository now keeps one
entry per version under
changelog/<version>.md, written as
OKF markdown
(type is the required field, here Changelog Entry), with
package.json’s version as the single source of truth. No prior history is
reconstructed — tracking starts with this release.
- RFC 0017 — end of the
version duel.
Hrönir retires the version duel (competing candidates for the same post’s
public URL) while keeping the work duel (comparing different essays) as
the system’s operational core. Version lineage becomes git’s job
exclusively — a work (key) and its current language representations are
the only identity axes left.
- Migration phases 0–1: 151 of 153 legacy directories
(
<slug>/v-<timestamp>.mdx) were flattened to a single file (<slug>.mdx,
or <slug>/index.mdx when local media is attached), with an auditable
manifest (src/generated/migration-0017-survivors.json —
selectedFrom/selectedUuid/selectedSha256 per slug) and a preserved,
idempotent migration script
(scripts/oneoff/2026-07-15-rfc-0017-fase1-flatten.mjs). Two slugs
(delegando-para-agentes, the-art-of-delegation) are deliberately left
out — an editorial decision about which draft is canonical is still
pending, rather than a mechanical blocker.
- The public version-duel surface was removed: the
blogVersions
collection, the /blog/<slug>/v/<uuid>/ routes (EN/PT), the
/ranking/version-trials/ and /ranking/versions/<key>/ pages, the “Edit
history” section on a work’s dossier, and version-duel rendering on
/ranking/battles/<id>/. This was pulled forward from RFC 0017’s phase 3 so
the permalink break would be deliberate and atomic instead of a partial
degradation across phases (build page count: 4514 → 2964).
hronir:doctor now validates a rate file’s key against live works,
replacing the obsolete version-path/UUID tolerance check. It found no new
issues, only pre-existing stars-v1 data debt from an abandoned
experimental phase, recorded as a non-blocking warning.
View PR #1203 for the full diff.