agentleFS
Fulcrum-GovernanceFulcrum-Governance/Fulcrum-Boundary/skills/verify/SKILL.md

verify

Skill0 starsChanged 3 months agoApache-2.0View on GitHub

Verify a Fulcrum Boundary decision record or session receipt someone shared with you, and explain plainly what that verification does and does not prove. Use when given a Boundary record .json file, a .boundary-receipts/*.md receipt, or a decision_hash / record_id, and asked to "verify this record", "check this receipt", "is this boundary decision real", or "can I trust this deny".

188 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use instinct-export, instinct-import and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • TheKREATORSSkill

    instinct-export

    Export instincts from project/global scope to a file

    Also in 3 projects that use this

  • TheKREATORSSkill

    instinct-import

    Import instincts from file or URL into project/global scope

    Also in 3 projects that use this

  • AviadPSkill

    risk-assess

    Assess the risk and blast radius of a proposed code change before implementing it. Evaluates CI impact, framework-wide vs localized scope, rollback path, and identifies blindspots. Use when user says "what's the risk", "is this safe", "assess the impact", "risk assess", "blast radius", or before applying framework-wide or CI-affecting changes. Do NOT use for code quality review (use code-quality) or plan validation (use design-validator).

    Also in 3 projects that use this

  • diego-tobalinaSkill

    build-fix

    Fix build and compilation errors systematically. Run when build fails.

    Also in 6 projects that use this

  • AaravChadhaSkill

    secure

    Security review with a confidence gate - a finding exists only with a concrete exploit scenario and a high/medium/low confidence rating; everything else goes to a worth-hardening list, never inflated. Sweeps five surfaces: auth gates, secrets hygiene, injection and unsafe sinks, unsafe deserialization/crypto/transport, and LLM tool-use trust boundaries. Reports only, never fixes. Use when the user asks for a security review or to check vulnerabilities, secrets, or auth.

    Also in 3 projects that use this

  • ArvorCoSkill

    specify

    Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.

    Also in 10 projects that use this

  • +1 more from TheKREATORS

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 167 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If the person only wants a machine-readable result, "${BOUNDARY_BIN:-boundary}" verify-record --json <record.json> emits a versioned …

    line 54
  2. Very specific:

    If someone also hands you the original request JSON or the policy directory that produced the decision, add --request <request.json> and/or …

    line 59

“Common” is measured: kept by at least 6 in 10 of the 167 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Boundary verify

Checks a decision record's integrity and states, without overclaiming, what that check does and does not establish. This skill is for the recipient of a record or receipt someone else produced -- if you produced it yourself this session, /boundary:drill and /boundary:report already cover that.

Step 1 -- Work out what you actually have

  • A single-record .json file (for example something under .boundary/hook/records/). This is what boundary verify-record and boundary explain consume directly. Go to step 2.
  • A .boundary-receipts/*.md receipt (from /boundary:report). The receipt names record files and prints their decision_hash and record_id, but it does not embed the raw record bytes. Ask for, or locate, the actual .json file(s) under .boundary/hook/records/ in the project the receipt came from -- you cannot recompute a hash from a rendering of it. If you only have the markdown and cannot get the underlying record file, say so plainly: you can read the receipt's claims, but you cannot independently verify them without the record file.
  • A bare decision_hash or record_id with no file. There is nothing to recompute a hash over. Ask for the record file.
  • A multi-record .jsonl log (for example .boundary/hook/decision-records.jsonl itself). boundary verify-record rejects this -- it takes one single-record .json object, not a log. Extract the one line you care about and treat it as its own record, or point at the matching file under .boundary/hook/records/ instead.

Step 2 -- Run the two checks and show both outputs

"${BOUNDARY_BIN:-boundary}" verify-record <record.json>
"${BOUNDARY_BIN:-boundary}" explain <record.json>

The spelling is the shared effective-binary contract (BOUNDARY_BIN when set, else boundary on PATH) -- the same resolution the hook wrapper and installer preflight use. Run the commands as written; if BOUNDARY_BIN is set but broken, report that exact failure rather than silently retrying a different PATH binary.

Show the exact output of both, not a paraphrase. verify-record prints record verification: ok and the record_id on success, or a specific failure message and a non-zero exit on a mismatch. explain renders the record's fields, describes its hashes, and prints its own "What this does not prove" section -- include that section in what you show the user; it says the same thing this skill says, in the tool's own words.

If the person only wants a machine-readable result, "${BOUNDARY_BIN:-boundary}" verify-record --json <record.json> emits a versioned boundary.verify_record.v1 object with ok and (on failure) error fields.

If someone also hands you the original request JSON or the policy directory that produced the decision, add --request <request.json> and/or `--policies

<dir>` to also recompute `request_hash` and `policy_bundle_hash` -- without them, verification still runs, it just checks less.

Note: this runs the boundary binary as a real Bash command. boundary verify-record and boundary explain classify as first-party reads (class C0) through either spelling -- bare boundary or the effective-binary form above -- and are allowed silently under a live-wired hook; an unrecognized boundary verb, or a recognized one with unexpected flags, still classifies C7 and prompts like any unknown command.

Step 3 -- State plainly what a passing verification proves

  • Integrity of this exact file, from the moment Boundary wrote it. verify-record recomputes decision_hash over the record's decision-defining fields (and, when supplied, request_hash and policy_bundle_hash) and compares it to the value stored in the file. If they match, nothing in that covered data has changed since Boundary produced it.
  • Nothing else. In particular it does not prove:
    • Authenticity. A hash match does not say who produced the file, or that it really came from the project it claims to. --verify-signature --public-key <key> additionally checks an optional Ed25519 signature over decision_hash, which proves the record was signed by whoever holds that key -- it still does not prove the verdict was correct, that the action was executed or prevented, or solve where that key came from and whether it should be trusted. Unsigned records (the common case) skip this entirely; do not read "verification: ok" on an unsigned record as an authenticity claim it never made.
    • That the verdict was correct. The record states what Boundary decided and why; it is not evidence the classification itself was right.
    • That the action was actually blocked or run. execution_claim (upstream_called, executed) on a hook record is a self-report by the hook about itself, not corroborated by anything outside the record. A deny record is not proof the command never ran somewhere else -- direct access to the same tool, outside the routed hook, is a bypass a record cannot see.
    • Total coverage. Boundary governs only routed tool calls. A record's existence says a decision was made on that route; it says nothing about activity that never reached it.

Step 4 -- If verification fails

State the exact error boundary verify-record returned. The two ordinary causes are: the file's covered fields were altered after Boundary wrote it (a real integrity failure -- treat the record as untrustworthy), or the wrong kind of file was given (a multi-record .jsonl line pasted without its object braces, a truncated copy-paste, a receipt's rendered text mistaken for the record itself). Do not guess which one it is; say what the error says and let the user decide how to get the original file.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.