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.
repo fork copies sealed source: the fork gate checks page visibility, not source visibility
repo fork checks that the caller can see the page, not that the caller can see the page's source. A page with sealed source (--hide-source, which is what the licensed preset sets) can be forked by anyone who can see the page, and the fork lands under the forker's owner with the files readable. The source gate is bypassed by one call.
What happens
- Owner publishes a page as public with private source, the closed-source product pattern from #93 and #120:
page visibility <owner>/<slug> --preset licensedgivesvisibility: public | source_visibility: private | release_visibility: public | pkg_visibility: public. - A logged-in user who is not an org member runs
adom-wiki repo fork <owner>/<slug>. - The fork succeeds. Fork is documented as "source-only", so the new page under the forker's owner carries the repo files, and the forker owns that page, so
repo clone,repo show, the Files tab andrepo downloadall serve the source to them.
The access check on fork appears to be "can read the page", the same check that lets anyone open the public Overview. It needs to be "can read the source", the check that already 403s /files/ and the Files tab on the original page.
Reported from the CLI side; I have not forked anyone's sealed page to confirm, since that would create the leak on prod. A throwaway page with sealed source and a second account reproduces it in two commands.
Why it matters
source_visibility: private is the one promise the licensed preset makes: install the binary, nobody reads the code. Adom Bridge, adom-wiki-cli and every other closed-source product page rely on it. Fork is a copy verb, so a copy of sealed source is the same disclosure as reading it, and the fork persists on the forker's page afterwards. Same class as #169 (private releases served anonymously on /download): one axis enforced on the primary read path and not on a sibling path.
Ask
POST .../fork(and the Fork button, once it does more than alert) requires source read access on the origin page. A caller who can see the page but not its source gets the same answer the Files tab gives them today (403, or 404 if the uniform-404 rule from #30 applies).- The CLI maps the refusal to a named code, e.g.
SOURCE_SEALED, with a hint that explains the fork needs source access, so an agent does not read it as "page not found" and retry. - Audit:
admin action-logfilter for forks of pages whose origin hadsource_visibility: privateat fork time, so owners can see whether any sealed source has already been copied out. If any exist, the owner should be told. - While the fix lands, a note in the
wikiskill's visibility section that sealed source is currently forkable, so no one ships a product on the licensed preset expecting it to hold.