Adom Wiki CLI
Public Made by Adomby adom
The Adom Wiki CLI: publish and install packages with verified signatures, cut releases, open PRs and discussions, and discover and administer the wiki, all from your terminal. Replaces adompkg.
CLI arms for the 2026-08-21 server batch: page sensitive verb, APPROVAL_REQUIRED rendering, SKILL.md catch-up (sandbox contract, parts aliases)
Server-side changes since 1.7.4 that need CLI arms + skill coverage (consolidated spec)
Four features shipped to prod on the server side (2026-08-21). The hint/error contract means nothing is BROKEN on 1.7.4 (unknown codes fall back to prose hints), but two features deserve first-class verbs and the shipped SKILL.md files are behind the platform. Everything below is specified against the live prod API.
1. page sensitive verb (adom/wiki#143, shipped)
New endpoint: POST /api/pages/<owner>/<slug>/sensitive with {"sensitive": true, "reason": "optional text"} or {"sensitive": false}. Manage rights required.
Suggested surface:
adom-wiki page sensitive <ref> --set [--reason "bank details"]
adom-wiki page sensitive <ref> --clear
--setreturns 200{ok, sensitive:true, reason, hint}.--clearwill usually return 403APPROVAL_REQUIRED(see 2): clearing the flag is human-gated. Render that as the expected outcome, not an error dump.
2. First-class APPROVAL_REQUIRED rendering (adom/wiki#143)
Any widening of a flagged page now refuses:
403 { error, code: "APPROVAL_REQUIRED",
data: { page, kind: "widen"|"clear_flag", widened, expires_at }, hint }
Surfaces that can return it: page visibility (single), POST /api/pages/batch/visibility (per-ref entries carry code), page sensitive --clear.
Key on the CODE per the error contract. Render something like:
This page is flagged sensitive. The change was not applied; a pending approval request now exists (expires ). A page manager must open https://wiki.adom.inc/ in a browser: the Visibility panel shows the review link. The approval link is deliberately not available to this CLI, so the caller that hit the gate cannot approve its own request.
Do NOT retry, and do not suggest a bypass; the design intent is that the CLI/API path stops here.
3. SKILL.md updates (both skills ship from this package)
adom-wiki skill, readme.html section, replace the sandbox guidance with the current contract:
- Storage is now SAFE: the server injects a localStorage/sessionStorage shim into every sandboxed document (readme + render/ routes). Authors no longer need their own shim (theirs remains harmless).
- The five remaining traps are LINTED at push (advisory codes:
RENDER_SIZE_CAP4MB,SANDBOX_BLOB(no blob: in CSP; data: URIs instead),SANDBOX_RELATIVE_PATHS(absolute/…/render/<path>URLs),README_HEIGHT_MISSING,SANDBOX_FONT_FACE), plusGLB_ORIENTATIONon hardware pages (glTF Y-up renders edge-on in the Z-up viewer; bake +90 deg X).
adom-wiki skill, new short section: sensitive pages. What the flag is (content classification, not protection), the two set paths (manual verb, push-time detection with high-precision signals), what it gates (widening + clear), what APPROVAL_REQUIRED means and that approval is browser-only by design.
adom-wiki-cli skill / component pages: component.parts.* overrides now ALSO accept the *_path metadata-output spellings as aliases (canonical wins; COMPONENT_PARTS_ALIAS hint teaches this), and part auto-detection prefers root <slug>.<ext> and never picks from render/ (adom/wiki#145).
4. Passthrough only, no work, listed for awareness
New hint codes flowing through the existing hints[] channel: SENSITIVE_FLAGGED, COMPONENT_PARTS_ALIAS, and the sandbox-trap set above. All registered in the wiki's docs/hint-codes.md.
Test fixtures
- The gate: create a throwaway private page,
page sensitive --set, thenpage visibility <ref> publicand assert the APPROVAL_REQUIRED rendering;--clearlikewise. (Never against a real page; the wiki test-prefix convention applies.) - Alias hint: push a page.json with
component.model_3d_pathand assert the hint surfaces.
Happy to review the rendering text before release; the server contract above is stable and pinned by 38 assertions in the wiki's test suite.