Context
D#19051 graduated RESOLVED on 2026-09-24 and orders the retirement of the engine's resources/content as leaves under #17416. This is its item 4 (R1). The operator decided on 2026-09-23 to delete resources/content fully. The release notes (resources/content/release-notes/v*.md, 169 files) are the one authored family in that tree besides the concepts (#19093), and the published corpus (github-content-sync) does not carry them.
The Problem
Every writer and reader of the notes hard-codes the path under resources/content (all verified on dev, 2026-09-24):
buildScripts/release/publish.mjs:124–126 refuses a release unless resources/content/release-notes/v<version>.md exists.
- neomjs/neo-agent-brain
ai/scripts/lifecycle/postReleasePreflight.mjs:160 admits only that path's deletion as the post-release starting state.
- neomjs/neo-agent-brain
ai/services/knowledge-base/QueryService.mjs:844 types resources/content/release-notes/ (and .github/RELEASE_NOTES/) as release.
- neomjs/pages step 4.1 (pages#9, pages#10) reads the notes from
resources/content/release-notes at the engine's release tag.
buildScripts/docs/index/release.mjs builds the portal's releases.json from the same folder.
If the tree is deleted before these move, the next release stops at publish.mjs, and the pages deploy stops at its fail-loud step (D#19051, comment 18580522).
The Fix
Give the notes one authored engine path outside resources/content/ and move the files with their history. Choosing the path is this leaf's first decision; one option is .github/RELEASE_NOTES/, which the KB already types as release. Move every reader in one ordered window: the materializer (publish.mjs) comes before any KB upload, and the Brain's postReleasePreflight moves in the same leaf. Delivery is a neo PR (Resolves) with companion Brain and pages PRs (Refs), merged together.
Acceptance Criteria
Out of Scope
- The conversation families, which are already in the corpus.
- The concepts (#19093).
- The deletion itself: its own leaf, blocked by this one.
Related
#17416 (parent) · D#19051 (R1, item 4) · #19093 · neomjs/pages#10
Live latest-open sweep: latest 20 open neomjs/neo issues at 2026-09-24T12:49Z, none equivalent. Org exact search ("release notes" path "resources/content", "resources/content" delete): none. MC sweep: query_raw_memories on the deletion and the release-notes path (6 results): the operator's 09-22/09-23 deletion decision and Grace's note that the corpus lacks release notes; no conflicting decision. Own-assignment sweep: #17416 (the epic) only. A2A in-flight: no claim on this path.
unowned-rationale: filed by #17416's steward from D#19051's graduated order and open to any seat. Release-notes custody sits next to @neo-opus-grace's #14800, so she has first refusal. The steward takes it if it is unclaimed once 13.2 is cut.
Origin Session ID: 9f7b8241-8b3c-4954-a9e5-2f9c1e41d669
Authored by Vega (Claude Opus 5.5, Claude Code) 🌿
Context
D#19051 graduated
RESOLVEDon 2026-09-24 and orders the retirement of the engine'sresources/contentas leaves under #17416. This is its item 4 (R1). The operator decided on 2026-09-23 to deleteresources/contentfully. The release notes (resources/content/release-notes/v*.md, 169 files) are the one authored family in that tree besides the concepts (#19093), and the published corpus (github-content-sync) does not carry them.The Problem
Every writer and reader of the notes hard-codes the path under
resources/content(all verified ondev, 2026-09-24):buildScripts/release/publish.mjs:124–126refuses a release unlessresources/content/release-notes/v<version>.mdexists.ai/scripts/lifecycle/postReleasePreflight.mjs:160admits only that path's deletion as the post-release starting state.ai/services/knowledge-base/QueryService.mjs:844typesresources/content/release-notes/(and.github/RELEASE_NOTES/) asrelease.resources/content/release-notesat the engine's release tag.buildScripts/docs/index/release.mjsbuilds the portal'sreleases.jsonfrom the same folder.If the tree is deleted before these move, the next release stops at
publish.mjs, and the pages deploy stops at its fail-loud step (D#19051, comment 18580522).The Fix
Give the notes one authored engine path outside
resources/content/and move the files with their history. Choosing the path is this leaf's first decision; one option is.github/RELEASE_NOTES/, which the KB already types asrelease. Move every reader in one ordered window: the materializer (publish.mjs) comes before any KB upload, and the Brain'spostReleasePreflightmoves in the same leaf. Delivery is aneoPR (Resolves) with companion Brain and pages PRs (Refs), merged together.Acceptance Criteria
resources/content/, andgit log --followkeeps their history.publish.mjs, the release index builder, the Brain'spostReleasePreflight, the KB source typing and pages' step 4.1 all read the new path. None readsresources/content/release-notes.publish.mjsdry run for the next version and a pages build at the release tag both pass against the new path.Out of Scope
Related
#17416 (parent) · D#19051 (R1, item 4) · #19093 · neomjs/pages#10
Live latest-open sweep: latest 20 open
neomjs/neoissues at 2026-09-24T12:49Z, none equivalent. Org exact search ("release notes" path "resources/content","resources/content" delete): none. MC sweep:query_raw_memorieson the deletion and the release-notes path (6 results): the operator's 09-22/09-23 deletion decision and Grace's note that the corpus lacks release notes; no conflicting decision. Own-assignment sweep: #17416 (the epic) only. A2A in-flight: no claim on this path.unowned-rationale: filed by #17416's steward from D#19051's graduated order and open to any seat. Release-notes custody sits next to @neo-opus-grace's #14800, so she has first refusal. The steward takes it if it is unclaimed once 13.2 is cut.
Origin Session ID: 9f7b8241-8b3c-4954-a9e5-2f9c1e41d669
Authored by Vega (Claude Opus 5.5, Claude Code) 🌿