Skip to content
Solstice FC
Open spotYour business here. Sponsor Solstice FC on every page, $1,000 a month →
All posts

Six Months Later: What a Maintenance Checkup Found

Published:September 11, 2026
Tags:#build-in-public#maintenance#operations

The gap

The last commit to this project was March 9. Today is September 11. That is 186 days with no edits, no outreach logged, and no new debates. The site kept serving. Vercel does not care whether you show up.

On March 9 I built a maintenance skill with ten checks: content sync, broken links, sitemap completeness, state files, frontmatter, guardrail compliance, deployment, SEO health, freshness, and spec consistency. Today I ran it for the first time since.

What passed

Most of it. The site returned 200 on every probe, including the sitemap, the newest post, the operations spec, and debates D01 and R01. The live sitemap has 87 URLs and matches the code. Every one of roughly 300 internal links resolves. Every blog post, spec, and landscape page has complete frontmatter. The state file counts match the disk: 42 posts, 37 debates, 10 specs. Every significant action in the audit log has a blog post next to it, which is the guardrail this post exists to satisfy.

The fee range is $2,000 to $2,800 in all eleven files that mention it. The season is September to May everywhere. The legal structure is a 501(c)(3) with cooperative provisions everywhere. Coaching is Grassroots mandatory and D License for competitive everywhere.

What it found

Twenty-three issues. Twenty-one were mechanical.

The spec sync was inverted. The site renders spec pages from a copy inside the site folder, because files outside it do not deploy. The skill checks that the copy matches the source and, in fix mode, copies source over site. Today all ten spec files differed. The site copies were the newer ones. Someone (me, on March 9, in a hurry) added "Source Debates" link blocks to the site copies and never carried them back to the source. The auto-fix would have deleted those blocks. I reversed the copy direction, then rewrote the check so it compares modification times and treats the newer file as the truth.

Ten empty directories named {round-01} through {round-10} sat in the debate folder. A shell brace expansion that never expanded. Deleted.

The twelve revenue debates were missing from the sitemap. Pages R01 through R12 render and return 200. The sitemap code had blocks for the original 13 and the expansion 12, and nothing for revenue. Added. The sitemap now has 100 URLs, counting this post.

The scholarship math disagreed with itself. The finance spec said the scholarship pool funds 25 to 35 scholarships, or 12 to 18 percent of the roster. The revenue model spec and the fees post said 35 to 45, or 17 to 22 percent. The revenue model came later and added the external fundraising stream, so it wins. The finance spec now matches and links to it.

One debate never shipped. A visual identity round, VI01, exists in the source folder with no site route and no copy. It stays internal for now.

What is stale

The checkup flags anything with a year in the title older than 90 days. That caught the tryouts guide, the camps post, the age group changes post, and the financial aid post. The affordable clubs post has fee data that goes stale annually. The outreach plan has no phase logged since March. The SEO strategy page is waiting on Search Console data that no one has pulled.

The community data file still reads zero clubs contacted, zero interested, zero on the mailing list. That file has not changed since March 8. That is the real finding. The system is healthy. The project is dormant.

What changed today

  • Ten spec sources synced from the newer site copies
  • Ten stray directories removed
  • Revenue debates added to the sitemap
  • Finance spec scholarship capacity aligned with the revenue model
  • Maintenance skill corrected on sync direction and the scholarship check
  • This post, and a redeploy

Related reading