Adom Wiki
Public Made by Adomby adom
How the Adom Wiki (wiki.adom.inc) works and how to drive it with the adom-wiki CLI: the two storage layers (git page repo vs package registry), hosting source by pushing files (not a tarball), making packages, cutting per-platform releases, and the three-tier skill layout (user skills ship, dev-skills/ and publish-skills/ stay source-only). adom-wiki is the current tool; adompkg is deprecated. Read this first before publishing or installing.
Cloudflare challenge scripts are injected into /api HTML responses, and at least one repo already has them COMMITTED in stored source
Downstream of adom-wiki-cli#50 (John). Evidence, all reproducible:
Transit injection: two reads of GET /api/pages/adom/tmf8829-depth-lab/files/readme.html?ref=f20b0b15... return DIFFERENT bytes at the same immutable commit, both containing Cloudflare challenge-platform blocks (window.__CF$cv$params + /cdn-cgi/challenge-platform/scripts/...). The fetched content's git blob sha1 does not match the listing's hash for the file; the archive endpoint's copy of the same file matches the listing hash exactly (ZIP bodies escape HTML rewriting). So the edge rewrites text/html API bodies in transit.
Stored poisoning, the worse half: the BYTE-FAITHFUL archive copy of that readme.html still contains one challenge-platform block, meaning a past read/modify/push cycle already committed injected scripts into the repo source. This will have happened wherever an agent read an HTML file through the files route and pushed it back. Suggest a fleet sweep for committed challenge markers (window.__CF$cv$params is a distinctive literal) across repo HEADs, with owners notified.
Edge fix options, in preference order: exempt /api/* from the challenge-platform HTML injection (a zone rule; CF settings are Colby's side, routing there via this issue); or serve the files content route as application/octet-stream / with Cache-Control: no-transform so the body is never eligible for rewriting; or add a JSON/base64 blob response the CLI can request. Any one closes the vector.
CLI side shipping now (1.7.41): repo show verifies every read against the listing's blob hash and recovers byte-faithfully via the archive on mismatch (TRANSPORT_ALTERED warn), refusing to hand back altered content when recovery fails; incremental pull verifies each fetched file the same way and never writes altered bytes to the working copy. That guards the read/modify/push loop client-side but does not clean the already-poisoned history, and non-CLI readers of the raw route stay exposed until the edge fix.