Actually Smart Contractsalpha

Status: the sandbox runs today live. The SDK and API on this page are planned planned.

Docs

Standards and certification

A standard is a short list of things a kind of software must never do. A certificate checks one commit against one.

There are five drafts: EDO, EAO, ETC, EVC and EMO. Read them on Standards, or certify a repo on Certify.

Claim a standard

Add asc.yml to your repo to say which standards cover which folders.

asc.ymlYAMLplanned
# asc.yml: what this repo claims, and where the evidence is.
claims:
  - standard: EAO@1.0
    scope: agent/            # the agent code the claim covers
    notes: |
      Spending limits live in agent/limits.ts.
      Every purchase goes through the jury guard in agent/guard.ts.
  - standard: ETC@1.0
    scope: treasury/

Certify

Run asc.certify(...) or the GitHub Action. The jury reviews each rule against the code and cites file and line. The result is PASS or NOT CERTIFIED, with a score, a report and an ASCII badge.

asc.certify()TypeScriptplanned
const cert = await asc.certify({
  repo: 'github.com/example/agent',
  commit: '9f3c2e1',
  standards: ['EAO@1.0'],
  jury: { size: 5, quorum: 4, tier: 'standard' },
});
// cert.outcome: 'PASS' or 'NOT CERTIFIED', with a score, a report and an ASCII badge
GitHub ActionYAMLplanned
# Certify every push to main against the standards this repo claims to meet.
# A certificate is a code review of one commit against a published standard,
# not a legal or safety certification. Planned API.
name: ASC certify
on:
  push:
    branches: [main]
jobs:
  certify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: verafy/asc-certify@v0     # planned
        with:
          standards: EAO@1.0, ETC@1.0   # Ethical Agent Operations, Ethical Treasury Conduct
          fail-on: fail                 # or: needs_evidence
          api-key: ${{ secrets.ASC_API_KEY }}
      # Writes asc-report.md to the job summary and the ASCII badge to the PR.

Scoring

Score is passed weight over evaluable weight. Critical rules weigh 3. PASS means no fail, no needs_evidence, and at least 60 percent of the weight evaluable. Otherwise NOT CERTIFIED.

A certificate covers one commit. Its code checksum is SHA-256 over the sorted path and blob list:

code checksum
git ls-tree -r <commit> | awk '{print $4"\t"$3}' | LC_ALL=C sort | sha256sum

A certificate is a code review of one commit, not a legal, regulatory or safety certification.