myfeeds.sgit.ai / Back office
ai-generated, unreviewed what this means
Runnable
Tools
Everything needed to build, check, publish and recover, in this repository, with nothing to install beyond Python 3.11 and Node 22. Each one is a single file and each one is documented in its own header rather than here, so the documentation cannot drift from the thing it documents.
admin/tools/wayback_archive.py
wayback_archive.py
Recovers a site from the Internet Archive into files you own: originals in id_ mode, a markdown rendering, and a manifest that states what the sitemap listed and no crawler ever captured.
python3 admin/tools/wayback_archive.py mvp.myfeeds.ai --out back-office/archiveadmin/build/build_pages.py
build_pages.py
The site generator. Every page, every markdown twin, llms.txt, the team pages from their ROLE.md files, and this back office.
python3 admin/build/build_pages.pyadmin/build/validate.js
validate.js
The release gate. Link resolution, twin presence, the authoring contract, status vocabulary, roster agreement, the deploy pipeline.
node admin/build/validate.jsadmin/build/verify-live.sh
verify-live.sh
Asks the live site what version it is serving. Green CI means GitHub accepted an artifact, not that anyone can read it.
./admin/build/verify-live.shWhy the archiver has a long header
Because three separate things lose content while appearing to work, and each cost a
run before it was understood: the Internet Archive's collapse=urlkey hides
good captures behind redirects; fetching without the id_ modifier archives
the Wayback Machine's rewritten copy rather than the site; and a blog's feed frequently
holds writing whose own pages were never captured, so it is a primary source and not a
fallback. Those are written into the tool where somebody modifying it will read them.