You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, when someone opens a PR adding a contract.yaml,
nothing validates it automatically. A maintainer has to manually
check it or remember to run scyvera.validate_contract() locally.
This issue is to fix that — by building the first governed agent
that runs directly on this repo.
What it does
A GitHub Actions workflow that:
Triggers on every PR that adds or modifies a .yaml file
Runs scyvera.validate_contract() on every changed .yaml in the diff
Posts a structured comment on the PR with the result:
Fails the check (but does NOT block merge) if violations are found
— the maintainer decides whether to merge anyway
Why this matters
This is the repo eating its own cooking. Every contributor who opens
a PR will see governance in action before they've read a single doc.
The validator's own contract.yaml will be in the repo at .github/agents/contract-validator/contract.yaml — reviewable,
forkable, and governed by the same spec it enforces.
What the deliverable is
Three files:
1. .github/workflows/validate-contracts.yml
The GitHub Actions workflow. Triggers on pull_request,
finds changed .yaml files, runs validation, posts comment.
2. .github/agents/contract-validator/contract.yaml
The agent's own contract. Write this first before touching
any workflow code. It should declare:
permissions: read-only (PR files, post comment)
side_effects: posts GitHub comment only
approval_points: none — read-only agents don't need human approval
lifecycle: triggered (not persistent)
3. .github/agents/contract-validator/README.md
One page: what the agent does, what its contract enforces,
how to run it locally.
Constraints
Must use scyvera.validate_contract() — do not write
a custom validator
The comment must reference the agent's own contract.yaml
path so it's auditable
Do NOT block merges — post the result, let the maintainer decide
The action must work on fork PRs (use pull_request_target carefully if needed)
How to get started
Fork the repo
Write .github/agents/contract-validator/contract.yaml first
What this is
Right now, when someone opens a PR adding a
contract.yaml,nothing validates it automatically. A maintainer has to manually
check it or remember to run
scyvera.validate_contract()locally.This issue is to fix that — by building the first governed agent
that runs directly on this repo.
What it does
A GitHub Actions workflow that:
.yamlfilescyvera.validate_contract()on every changed.yamlin the diff— the maintainer decides whether to merge anyway
Why this matters
This is the repo eating its own cooking. Every contributor who opens
a PR will see governance in action before they've read a single doc.
The validator's own
contract.yamlwill be in the repo at.github/agents/contract-validator/contract.yaml— reviewable,forkable, and governed by the same spec it enforces.
What the deliverable is
Three files:
1.
.github/workflows/validate-contracts.ymlThe GitHub Actions workflow. Triggers on
pull_request,finds changed
.yamlfiles, runs validation, posts comment.2.
.github/agents/contract-validator/contract.yamlThe agent's own contract. Write this first before touching
any workflow code. It should declare:
permissions: read-only (PR files, post comment)side_effects: posts GitHub comment onlyapproval_points: none — read-only agents don't need human approvallifecycle: triggered (not persistent)3.
.github/agents/contract-validator/README.mdOne page: what the agent does, what its contract enforces,
how to run it locally.
Constraints
scyvera.validate_contract()— do not writea custom validator
contract.yamlpath so it's auditable
pull_request_targetcarefully if needed)How to get started
.github/agents/contract-validator/contract.yamlfirstboth have contract.yaml changes
Drop a comment here before starting so we don't duplicate effort.