Markdown source of this page: /CERMET.example.md · generated, do not diverge

Cermet Authority

This file is the example CERMET.md — the authority corpus a Cermet box runs on, genericized from a live one. Keep it in your repo. Only the managed block below is authority input; everything outside it is guidance for humans and agents, never policy.

The flow: edit the block → cermet doc diff shows what would change → cermet doc apply makes it live under your presence and re-pins the hash. The pin means the daemon serves exactly these bytes or refuses: an edited-but-unapplied file changes nothing, and a drifted live corpus is a loud state, not a silent one. Because the corpus lives in your repo, a rebuilt box recovers its whole authority with one doc apply — keys are the only thing you re-enter by hand.

Bounds reference: the WHERE index. One sentence per line; allow is the only way anything executes; what no sentence admits, denies — with the sentence that would widen it.

<!-- cermet:authority:v1 --> Pinned authority: sha256:<written by cermet doc apply — never by hand> <!-- cermet:pinned:v1 -->

allow github.read_repo where owner = "you" and name = "your-repo"
allow github.read_ref where owner = "you" and name = "your-repo"
allow github.read_commit where owner = "you" and name = "your-repo"
allow github.read_tree where owner = "you" and name = "your-repo"
allow github.read_blob where owner = "you" and name = "your-repo"
allow github.read_pull_request where owner = "you" and name = "your-repo"
allow github.read_thread where owner = "you" and name = "your-repo"
allow github.read_workflow_run where owner = "you" and name = "your-repo"
allow github.fetch where owner = "you" and name = "your-repo"
allow github.push where owner = "you" and name = "your-repo"
allow github.create_branch where owner = "you" and name = "your-repo"
allow github.create_pull_request where owner = "you" and name = "your-repo" and base = "main"
allow github.update_pull_request where owner = "you" and name = "your-repo"
allow github.merge_pull_request where owner = "you" and name = "your-repo"
allow github.comment_thread where owner = "you" and name = "your-repo"
allow github.create_pull_request_review where owner = "you" and name = "your-repo"
allow github.create_issue where owner = "you" and name = "your-repo"
allow vercel.list_projects
allow vercel.deploy where project = "your-site" and target = "preview"
allow vercel.deploy where project = "your-site" and target = "production"
allow stripe.get_charge
allow stripe.list_active_prices
allow stripe.refund where charge = "ch_replace_me" and amount <= 5000
deny stripe.create_standard_payout

<!-- /cermet:authority:v1 -->

This is the shape of a corpus that runs a real box — an agent doing full-cycle work (read the repo, branch, push, PR, review, merge, deploy to both targets) with the money surface held to two reads and one tightly pinned write. Notes a real corpus accumulates, outside the block where they belong: