chore(concepts): retire legacy Hugo concept path + LEGACY_CONCEPT_RENDER (#1327 Task 6 Step 4) - #1567
Merged
Merged
Conversation
…DER (#1327 Task 6 Step 4) The CAP-owned /concepts/ pipeline (#1327 Tasks 1-6) has been live and stable on DEV and PROD since 2026-07-27 — verified 2026-08-09: /concepts/ serves the virtualized SSR-shell (top-100 + embedded JSON + RecycleScroller) and detail pages render data-render-source="cap". With the 2-week stability gate met, the deferred legacy cleanup lands. Deletes: - scripts/fetch-concepts.ts (Hugo concept .md fetcher) + fetch-concepts npm script + its build:all reference - hugo/layouts/concepts/{list,single}.html (Hugo concept templates) - the LEGACY_CONCEPT_RENDER escape hatch: workflow input + fetch step + publish env in rebuild-content.yml, and the legacyConceptRender branch + discoverConcepts() walker in publish-content.ts The render-concepts publish phase is now gated on (!opts.slug && channel==='prod') only. publish-content-qa regression guard updated to match. Stale comments in build-concepts.js, discovery-mission-categories.js, published-concepts-query.js, concepts-filter/main.ts, knowledge-graph.md and testing-endpoints.md repointed from the deleted script to the CAP render path. Plan Task 6 Step 4 marked done. Net ~1,419 lines deleted. Tests: 857 script tests + 29 concept unit tests green, route-drift guard OK, workflow YAML valid.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the last open item on #1327 — Task 6 Step 4, the deferred legacy cleanup.
Why now
The CAP-owned
/concepts/pipeline (#1327 Tasks 1–6) has been live on DEV and PROD since 2026-07-27. Re-verified against both live environments on 2026-08-09:/concepts/: 888 KB (was 2.07 MB), SSR top-100 + embeddedconcepts-dataJSON +RecycleScroller; detail pages returndata-render-source="cap"./concepts/: 712 KB, same new pipeline; detail pagesdata-render-source="cap".legacy-concept-renderescape hatch was never triggered.The 2-week DEV-stability gate from the issue comment is met (~13 days), so the legacy path is retired.
What's deleted
scripts/fetch-concepts.ts(455 lines) — the Hugo concept.mdfetcher — plus itsfetch-conceptsnpm script and its slot inbuild:allhugo/layouts/concepts/{list,single}.html(~890 lines) — the Hugo concept templatesLEGACY_CONCEPT_RENDERescape hatch entirely:legacy-concept-renderworkflow input + the "Fetch published concepts" step + the two publish-step envs inrebuild-content.ymllegacyConceptRenderbranch and the now-unuseddiscoverConcepts()walker inscripts/publish-content.tsThe render-concepts publish phase is now gated on
(!opts.slug && channel === 'prod')only. Thepublish-content-qaregression guard (that keeps the phase off the QA channel — #1372) is updated to match the new gate.Non-deletions / doc fixes
Stale comments repointed from the deleted script to the CAP render path in
build-concepts.js,discovery-mission-categories.js(also corrected a wrong importer reference),published-concepts-query.js,concepts-filter/main.ts, plusknowledge-graph.mdandtesting-endpoints.md./build/conceptsandbuildConceptsPayloadare kept — they still back both the endpoint and the CAP render pipeline. Historicaldocs/superpowers/{done,plans}/*docs left as provenance; the active plan's Task 6 Step 4 is marked done.Net
~1,419 lines deleted, 26 added (the original estimate of ~200 didn't count the two large Hugo layout files).
Verification
npx vitest run scripts/__tests__/→ 857 passedconcept-detail-render,concept-list-page,publish-concepts) → 29 passedscripts/check-srv-qa-route-drift.ts→ OK (17 srv / 11 srv-qa routes)rebuild-content.ymlYAML lint → OKpublish-content.tsimports cleanly via tsx (no danglingdiscoverConceptsref)DEV-only deploy posture unchanged; no schema/route changes. After merge, #1327 can be closed.