refactor: retire the hand-written site

Deletes the pre-Astro pages, scripts, and stylesheets that the migration
replaced, and moves the ones it did not replace out of the way.

Deleted (32 files): app.js, responsive.css, landing.css, rules/app.js,
rules/styles.css, skills/app.js, the ten route index.html files, and the
root hands-on/ copy, which is byte-identical to public/hands-on/ -- the
one the build actually ships.

Moved to legacy/ (12 files): styles.css, full-guide/audit.css,
chapters.css, skills/styles.css, skills-review/styles.css,
skills-review/change-lens.css, and the skills-review/app.js module graph.
These are not dead. The Astro pages import them and the build fails
without them, which the plan had not accounted for. They go to legacy/
rather than src/ because check-tokens.mjs sweeps src, and these files are
full of raw hex and unnamed breakpoints: moving one into src/ should mean
migrating it to tokens in the same change, not adding a scan exclusion.
The prettier, stylelint, and eslint ignore lists that already named these
files at their old paths now name legacy/ instead.

verify.mjs no longer reads app.js. The 102 Portuguese strings were
extracted from its translations.pt object before deletion into
.agents/snapshots/full-guide-pt.json -- a legacy capture, not a snapshot
of the Astro build, so the assertion still compares against an
independent source. The brace-matching helper's assertion is replaced by
one that rejects an empty snapshot entry, without which trimming the
snapshot would make the presence check pass vacuously. Count stays at 84.

audit-ui.mjs reads the ten pages from dist/ and resolves Astro's
base-absolute hrefs against it.

Before deleting anything, rendered-text-diff was run across all ten
routes plus both Portuguese pages: every one at parity, 0 missing and 0
extra. That comparison is not repeatable once the legacy files are gone.
computed-style-diff on /full-guide/ stays at 32 differences, so the moves
are style-neutral.

Docs updated to match: README, AGENTS.md, GATES.md, the architecture
context, the operations guide's lab instructions, and the three skills
that told you to serve the vanilla site.

Publishing is not part of this commit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Marcos Paulo
2026-09-06 08:30:27 +00:00
parent 12c32d2fd7
commit 580293867d
57 changed files with 367 additions and 1287 deletions
+42
View File
@@ -0,0 +1,42 @@
const gustavo = '../submitted-skills/Gustavo%20Ruiz/skills/';
const marcos = '../submitted-skills/Marcos%20Silva/';
export const newSubmissionFiles = {
'gfiber-logging': [
{ name:'SKILL.md', path:`${gustavo}gfiber-logging/SKILL.md`, kind:'skill' },
{ name:'confluence-page-source.txt', path:`${gustavo}confluence-page-source.txt`, kind:'reference' },
...['anti-patterns.md','audit.md','cases.md','levels.md'].map(name => ({ name:`references/${name}`, path:`${gustavo}gfiber-logging/references/${name}`, kind:'reference' }))
],
'confluence-page': [
{ name:'SKILL.md', path:`${marcos}skills/confluence-page/SKILL.md`, kind:'skill' },
...['attachments.md','macros.md','secrets.md','space-keys.md'].map(name => ({ name:`references/${name}`, path:`${marcos}skills/confluence-page/references/${name}`, kind:'reference' })),
...['check-mcp-atlassian.sh','dry-run-publish.sh','new-page.sh'].map(name => ({ name:`scripts/${name}`, path:`${marcos}scripts/${name}`, kind:'script' })),
...['how-to.md','hub-page.md','postmortem.md','rfc.md'].map(name => ({ name:`templates/${name}`, path:`${marcos}templates/${name}`, kind:'template' })),
{ name:'README.md', path:`${marcos}README.md`, kind:'reference' }
],
'diagram-plantuml': [
{ name:'SKILL.md', path:`${marcos}skills/diagram-plantuml/SKILL.md`, kind:'skill' },
...['diagram-types.md','troubleshooting.md'].map(name => ({ name:`references/${name}`, path:`${marcos}skills/diagram-plantuml/references/${name}`, kind:'reference' }))
],
'page-reviewer': [
{ name:'SKILL.md', path:`${marcos}skills/page-reviewer/SKILL.md`, kind:'skill' },
{ name:'references/checks.md', path:`${marcos}skills/page-reviewer/references/checks.md`, kind:'reference' }
],
'unslop': [
{ name:'SKILL.md', path:`${marcos}skills/unslop/SKILL.md`, kind:'skill' },
...['house-style.md','tells.md'].map(name => ({ name:`references/${name}`, path:`${marcos}skills/unslop/references/${name}`, kind:'reference' }))
],
'spanish-naturalizer': [
{ name:'SKILL.md', path:'../submitted-skills/Andre%20Silva/skills/spanish-naturalizer/SKILL.md', kind:'skill' }
],
'draft-mr': [
{ name:'SKILL.md', path:'../submitted-skills/Arthur%20Vilela/skills/draft-mr/SKILL.md', kind:'skill' },
{ name:'templates/default.md', path:'../submitted-skills/Arthur%20Vilela/skills/draft-mr/templates/default.md', kind:'template' }
],
'semantic-diff-review': [
{ name:'SKILL.md', path:'../submitted-skills/Leonardo%20Morales/skills/semantic-diff-review/SKILL.md', kind:'skill' },
{ name:'agents/openai.yaml', path:'../submitted-skills/Leonardo%20Morales/skills/semantic-diff-review/agents/openai.yaml', kind:'config' },
{ name:'scripts/collect_changes.py', path:'../submitted-skills/Leonardo%20Morales/skills/semantic-diff-review/scripts/collect_changes.py', kind:'script' },
{ name:'scripts/render_review.py', path:'../submitted-skills/Leonardo%20Morales/skills/semantic-diff-review/scripts/render_review.py', kind:'script' }
]
};