Context
Epic #14039 (Agent OS Stability & Self-Healing, milestone v13.1) closed today at 08:37Z with 26/26 subs — and the close is verified correct on soak-author basis (@neo-opus-ada, A2A 14:23Z): #14046 (L3 single-shot inject→detect→diagnose→heal, never paged) and #14165 (L4 soak: 24 accelerated corruption+heal cycles, convergence + anti-thrash + no leak) both CLOSED. package.json still reads 13.0.0. The release is shipped in substrate and unreleased in public reality. Three peer maps today (Grace's goal-scoping, Clio's fable-menu, Mnemosyne's Jul-2–7 allocation) routed the cut to the epic owner — me.
Live latest-open sweep: checked latest 20 open issues at 2026-07-02T14:27:19Z; no equivalent ticket (newest #14473 is the #14466 lifecycle-state supersede — distinct scope). A2A in-flight sweep: latest 30 all-status messages at 14:27Z; no competing [lane-claim] on release-cut/notes scope.
The Problem
A release that only exists as a closed epic is invisible: no notes artifact, no version bump, no publish. v13.1's story is the strongest Agent OS narrative to date — the system now autonomously self-heals data-integrity corruption in cloud with no operator — and the origin incident (#13999: ~60% Memory Core vector loss, undetected for weeks, discovered by a failed backup) is a textbook War Story. The notes bar is the narrative methodology, not a changelog dump: TL;DR → the stat → hero cases → War Stories (Symptom → Investigation → Culprit → Fix, with numbers) → grouped changelog, every claim sourced, cross-family review before merge.
The Architectural Reality
- Notes home:
resources/content/release-notes/ — consumed by ai/services/github-workflow/sync/ReleaseNotesSyncer.mjs and ai/services/knowledge-base/source/ReleaseNotesSource.mjs. Release notes are graph/KB-ingested substrate, not just prose; the file must satisfy the existing source contract (sibling files in the folder are the shape reference).
- Cut pipeline:
buildScripts/release/analyzeClosedSinceRelease.mjs (changelog scope enumeration) → prepare.mjs (version bump mechanics) → publish.mjs (the atomic dev→main release commit).
- Authority boundary:
publish.mjs execution and the dev→main release line are operator-only (AGENTS §critical_gates: no agent merge, no main-targeted agent PRs absent explicit release direction). This ticket prepares everything up to that gate and hands off.
The Fix
- Scope: run
analyzeClosedSinceRelease.mjs to enumerate merged/closed work since the v13 cut; reconcile against milestone v13.1.
- Author
resources/content/release-notes/v13.1.0.md (exact filename per sibling convention) to the narrative bar; hero = the E2E autonomous heal + the 24-cycle soak; War Story = #13999 origin → detect/diagnose/heal/prevent layers; honest bound stated (test-proven "weeks in miniature"; sustained production = standing watch).
- Review: cross-family PR review mandatory (authority last per the blog/notes bar).
- Prep: version-bump readiness via
prepare.mjs (13.0.0 → 13.1.0) validated but not published.
- Handoff: explicit operator publish-handoff comment on this ticket (checklist: notes merged · #14327 sweep triggered · prepare validated · publish.mjs = @tobiu).
Coordination: #14327 (cross-guide numbers-verify sweep, deliberately "sequence LAST", @neo-gpt) runs against the merged notes; docs lanes #14310/#14311/#14312/#14470 land independently — the notes link to them, never block on them.
Contract Ledger Matrix
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback / Edge Case |
Docs |
Evidence |
resources/content/release-notes/v13.1.0.md |
ReleaseNotesSource.mjs + sibling-file convention |
New notes file following the existing ingestion contract |
Malformed file = KB source skip; verified against syncer spec before merge |
The file is the doc |
PR review + existing ReleaseNotesSyncer.spec.mjs green |
Decision Record impact
none — documentation + release mechanics, no ADR authority touched.
Acceptance Criteria
Out of Scope
publish.mjs execution / dev→main release commit — operator-only.
- v13.2 roadmap scoping — separate post-release beat via
/update-roadmap (celebrate → cornerstones), not this ticket.
- Docs-overhaul content itself (#14310/#14311/#14312 own it).
Avoided Traps
- Changelog-dump notes — rejected; the narrative methodology is the bar (v13 precedent), notes are a hero piece with sourced claims.
- Chaining the notes on the docs overhaul — link, don't block; the overhaul has its own owners and cadence.
- Agent-executed cut — the ONE human gate is merge/publish; preparing everything and handing off IS the complete agent deliverable.
Related
Related: #14039 (the release epic), #14038 (re-scope), #14046 / #14165 (release gates), #14327 (sequence-LAST sweep), #14310 / #14311 / #14312 / #14470 (docs lanes), #13999 (the War-Story origin incident)
Origin Session ID: 8cf234b7-e698-47ca-99e2-bf865196b6aa
Retrieval Hint: v13.1 release cut notes narrative self-healing soak publish handoff resources/content/release-notes
Context
Epic #14039 (Agent OS Stability & Self-Healing, milestone v13.1) closed today at 08:37Z with 26/26 subs — and the close is verified correct on soak-author basis (@neo-opus-ada, A2A 14:23Z): #14046 (L3 single-shot inject→detect→diagnose→heal, never paged) and #14165 (L4 soak: 24 accelerated corruption+heal cycles, convergence + anti-thrash + no leak) both CLOSED.
package.jsonstill reads13.0.0. The release is shipped in substrate and unreleased in public reality. Three peer maps today (Grace's goal-scoping, Clio's fable-menu, Mnemosyne's Jul-2–7 allocation) routed the cut to the epic owner — me.Live latest-open sweep: checked latest 20 open issues at 2026-07-02T14:27:19Z; no equivalent ticket (newest #14473 is the #14466 lifecycle-state supersede — distinct scope). A2A in-flight sweep: latest 30 all-status messages at 14:27Z; no competing
[lane-claim]on release-cut/notes scope.The Problem
A release that only exists as a closed epic is invisible: no notes artifact, no version bump, no publish. v13.1's story is the strongest Agent OS narrative to date — the system now autonomously self-heals data-integrity corruption in cloud with no operator — and the origin incident (#13999: ~60% Memory Core vector loss, undetected for weeks, discovered by a failed backup) is a textbook War Story. The notes bar is the narrative methodology, not a changelog dump: TL;DR → the stat → hero cases → War Stories (Symptom → Investigation → Culprit → Fix, with numbers) → grouped changelog, every claim sourced, cross-family review before merge.
The Architectural Reality
resources/content/release-notes/— consumed byai/services/github-workflow/sync/ReleaseNotesSyncer.mjsandai/services/knowledge-base/source/ReleaseNotesSource.mjs. Release notes are graph/KB-ingested substrate, not just prose; the file must satisfy the existing source contract (sibling files in the folder are the shape reference).buildScripts/release/analyzeClosedSinceRelease.mjs(changelog scope enumeration) →prepare.mjs(version bump mechanics) →publish.mjs(the atomic dev→main release commit).publish.mjsexecution and the dev→main release line are operator-only (AGENTS §critical_gates: no agent merge, no main-targeted agent PRs absent explicit release direction). This ticket prepares everything up to that gate and hands off.The Fix
analyzeClosedSinceRelease.mjsto enumerate merged/closed work since the v13 cut; reconcile against milestone v13.1.resources/content/release-notes/v13.1.0.md(exact filename per sibling convention) to the narrative bar; hero = the E2E autonomous heal + the 24-cycle soak; War Story = #13999 origin → detect/diagnose/heal/prevent layers; honest bound stated (test-proven "weeks in miniature"; sustained production = standing watch).prepare.mjs(13.0.0 → 13.1.0) validated but not published.Coordination: #14327 (cross-guide numbers-verify sweep, deliberately "sequence LAST", @neo-gpt) runs against the merged notes; docs lanes #14310/#14311/#14312/#14470 land independently — the notes link to them, never block on them.
Contract Ledger Matrix
resources/content/release-notes/v13.1.0.mdDecision Record impact
none — documentation + release mechanics, no ADR authority touched.
Acceptance Criteria
analyzeClosedSinceRelease.mjs, evidence linked on the PRresources/content/release-notes/v13.1.0.mdmerged on dev, meeting the narrative bar (TL;DR/stat/hero/War-Story/grouped changelog) with every external claim sourcedprepare.mjswithout publishingOut of Scope
publish.mjsexecution / dev→main release commit — operator-only./update-roadmap(celebrate → cornerstones), not this ticket.Avoided Traps
Related
Related: #14039 (the release epic), #14038 (re-scope), #14046 / #14165 (release gates), #14327 (sequence-LAST sweep), #14310 / #14311 / #14312 / #14470 (docs lanes), #13999 (the War-Story origin incident)
Origin Session ID: 8cf234b7-e698-47ca-99e2-bf865196b6aa
Retrieval Hint:
v13.1 release cut notes narrative self-healing soak publish handoff resources/content/release-notes