The newest post is orphaned: deleting-the-mechanical-scorer is in no sitemap, feed, or index #128

Open
opened 2026-08-25 08:17:50 +00:00 by coilyco-ops · 1 comment
Collaborator

Found while reviewing coilysiren/inbox#417. Split out rather than absorbed there, because it is a website defect and #417 is a design issue.

What is true, verified live 2026-08-25

/posts/deleting-the-mechanical-scorer/ is a real published page. It returns 200, is dated 2026-08-18 in its own post-header__date, renders one h1, carries <title>Deleting the Mechanical Scorer | Kai Siren</title>, and declares <link rel="canonical" href="https://www.coilysiren.me/posts/deleting-the-mechanical-scorer/">.

It appears in none of these:

  • sitemap.xml - declares 8 URLs, including the other three posts and /writing/. Not this one.
  • feed.xml - carries Stochastic Design Iteration, Azure OpenAI Terraform, and On Permissions Models. Not this one.
  • /writing/ - links the same three. Not this one.

So the site's most recent post is reachable only by typing the URL. Every index the site publishes says it does not exist.

Why this is not just an SEO nit

#125 fixed sitemap derivation so a new post could never be silently undeclared. Three posts are declared and a fourth is not, so whatever the page is doing differently is worth finding rather than patching, since the next post may do the same thing. Suspects worth checking first, in order: an excluded or draft flag in the front matter, a permalink or date shape the collection filter does not match, and whether the page is generated by the posts collection at all.

coilysiren/inbox#417 plans a hub-and-spoke structure where each project page links its related posts. Its agent-compose page names this exact post as the one existing spoke. A hub linking a page that no index declares gets the reader there and gets an answer engine nothing, which defeats the point of the structure.

Done means

  • The post appears in sitemap.xml, feed.xml, and /writing/
  • The cause is named, so a future post cannot fall out the same way
  • A check exists that fails when a published page is absent from the sitemap, rather than relying on someone noticing
Found while reviewing `coilysiren/inbox#417`. Split out rather than absorbed there, because it is a `website` defect and `#417` is a design issue. ## What is true, verified live 2026-08-25 `/posts/deleting-the-mechanical-scorer/` is a real published page. It returns `200`, is dated `2026-08-18` in its own `post-header__date`, renders one `h1`, carries `<title>Deleting the Mechanical Scorer | Kai Siren</title>`, and declares `<link rel="canonical" href="https://www.coilysiren.me/posts/deleting-the-mechanical-scorer/">`. It appears in **none** of these: * `sitemap.xml` - declares 8 URLs, including the other three posts and `/writing/`. Not this one. * `feed.xml` - carries Stochastic Design Iteration, Azure OpenAI Terraform, and On Permissions Models. Not this one. * `/writing/` - links the same three. Not this one. So the site's most recent post is reachable only by typing the URL. Every index the site publishes says it does not exist. ## Why this is not just an SEO nit `#125` fixed sitemap derivation so a new post could never be silently undeclared. Three posts are declared and a fourth is not, so whatever the page is doing differently is worth finding rather than patching, since the next post may do the same thing. Suspects worth checking first, in order: an excluded or draft flag in the front matter, a `permalink` or `date` shape the collection filter does not match, and whether the page is generated by the posts collection at all. `coilysiren/inbox#417` plans a hub-and-spoke structure where each project page links its related posts. Its agent-compose page names this exact post as the one existing spoke. A hub linking a page that no index declares gets the reader there and gets an answer engine nothing, which defeats the point of the structure. ## Done means - [ ] The post appears in `sitemap.xml`, `feed.xml`, and `/writing/` - [ ] The cause is named, so a future post cannot fall out the same way - [ ] A check exists that fails when a published page is absent from the sitemap, rather than relying on someone noticing
Author
Collaborator

Correcting this issue: not a defect, a missing opt-in

I filed this as a sitemap-derivation bug. Having read the source rather than the rendered output, that framing is wrong and the issue should probably close as invalid.

The mechanism

src/pages/pages.11tydata.js computes robots rather than taking it from front matter:

robots: (data) =>
  data.page.fileSlug === "resume" || data.promoted
    ? "follow, index"
    : "noindex, nofollow",

sitemap.njk then derives its URL list from item.data.canonical plus a robots value without noindex. So a post is indexed only if it carries promoted: true, and the same flag independently gates writing.njk and feed.njk.

Three surfaces, one flag, working exactly as designed. My original text called it "whatever the page is doing differently is worth finding rather than patching" - the answer is that it is doing nothing differently. It simply is not promoted.

Current state of the corpus

Promoted, so indexed: azure-openai-terraform, on-permissions-models-for-cloud-platform-providers, stochastic-design-iteration.

Not promoted: deleting-the-mechanical-scorer, 3-cloud-standoff, code-janitor, heroku-django-sass, golang-pr-notes-1/2/3.

So seven posts are unlisted, not one. Mine looked singular only because it is the newest and I noticed it against coilysiren/inbox#417, which wants to link it.

What is actually open

Whether deleting-the-mechanical-scorer should be promoted is a content call, not a bug. Reasons it might deliberately be unpromoted: it is recent, and coilysiren/inbox#102 is separately considering retiring code-janitor, so an unpromoted backlog is evidently a thing this site does on purpose.

The one thing worth keeping from the original issue: coilysiren/inbox#417's agent-compose page names this post as its only existing related-writing link. A hub linking an unpromoted post sends readers somewhere search engines are told to ignore. So either the post gets promoted before that link ships, or the project page links only promoted posts. That is worth recording on #417 rather than here.

Also worth noting the derived-robots design is good and my proposed fix would have damaged it. I suggested "a check that fails when a published page is absent from the sitemap." Under this design absence is the correct default, so that check would fire on seven intentional cases.

Recommend closing as invalid unless Kai wants the post promoted, in which case the change is one line of front matter.

## Correcting this issue: not a defect, a missing opt-in I filed this as a sitemap-derivation bug. Having read the source rather than the rendered output, that framing is wrong and the issue should probably close as invalid. ## The mechanism `src/pages/pages.11tydata.js` computes `robots` rather than taking it from front matter: ```js robots: (data) => data.page.fileSlug === "resume" || data.promoted ? "follow, index" : "noindex, nofollow", ``` `sitemap.njk` then derives its URL list from `item.data.canonical` plus a `robots` value without `noindex`. So **a post is indexed only if it carries `promoted: true`**, and the same flag independently gates `writing.njk` and `feed.njk`. **Three surfaces, one flag, working exactly as designed.** My original text called it "whatever the page is doing differently is worth finding rather than patching" - the answer is that it is doing nothing differently. It simply is not promoted. ## Current state of the corpus Promoted, so indexed: `azure-openai-terraform`, `on-permissions-models-for-cloud-platform-providers`, `stochastic-design-iteration`. Not promoted: `deleting-the-mechanical-scorer`, `3-cloud-standoff`, `code-janitor`, `heroku-django-sass`, `golang-pr-notes-1/2/3`. So seven posts are unlisted, not one. Mine looked singular only because it is the newest and I noticed it against `coilysiren/inbox#417`, which wants to link it. ## What is actually open Whether `deleting-the-mechanical-scorer` should be promoted is a content call, not a bug. Reasons it might deliberately be unpromoted: it is recent, and `coilysiren/inbox#102` is separately considering retiring `code-janitor`, so an unpromoted backlog is evidently a thing this site does on purpose. **The one thing worth keeping from the original issue:** `coilysiren/inbox#417`'s agent-compose page names this post as its only existing related-writing link. A hub linking an unpromoted post sends readers somewhere search engines are told to ignore. So either the post gets promoted before that link ships, or the project page links only promoted posts. That is worth recording on `#417` rather than here. **Also worth noting the derived-`robots` design is good and my proposed fix would have damaged it.** I suggested "a check that fails when a published page is absent from the sitemap." Under this design absence is the correct default, so that check would fire on seven intentional cases. Recommend closing as invalid unless Kai wants the post promoted, in which case the change is one line of front matter.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilysiren/website#128
No description provided.