Files
boshu2__agentops/schemas
Bo b008e22f9b feat(domain): name silent-contract-violation + verdict.v1 finding taxonomy (ag-twl8 #verdict-category-taxonomy) (#759)
## What

First slice of the RubricRefine integration epic (**ag-5elx**). Moves
the paper's sharpest idea into the verification membrane — and it's the
dependency that **blocks the flagship** pre-execution gate (ag-rjvf).

- **`skills/domain/references/silent-contract-violation.md`** — new
draft anti-pattern entry. Names the failure class the whole membrane
exists to catch: tool-use code that **runs clean, raises no exception,
and is still wrong** (wrong routing, mismatched output shape, broken
argument provenance). Full Signature / Cost / Cause / Refusal + `bd`
incident citation, indexed in `INDEX.md` under a new "Verification
membrane concepts" section.
- **`schemas/verdict.v1.schema.json`** — adds RubricRefine's 4-category
contract-check taxonomy as an **optional** `category` enum on findings:
`tool-choice | output-contract | call-signature | data-provenance`.
Backward compatible — existing uncategorized findings stay valid
(`additionalProperties:false` preserved), an unknown category is
rejected so the taxonomy can't drift.
- **`tests/scripts/check-verdict-category-taxonomy.bats`** — behavioral
schema tests via python `jsonschema` (valid accepted · all four accepted
· omit valid · unknown rejected · enum exact). Written test-first:
confirmed failing against the unmodified schema, then green.
- **`registry.json`** — regenerated (domain `reference_count` 18→19;
scope-only diff).

## Why

RubricRefine (Anduril, arxiv 2605.09730v3) formalizes the failure
AgentOps' no-self-grade membrane targets, but AgentOps had no name for
it and no shared bucket vocabulary for findings. This slice supplies
both, so every downstream gate (and the pre-execution gate ag-rjvf) can
categorize and ablate contract violations.

## Verification

- `bats tests/scripts/check-verdict-category-taxonomy.bats` → 5/5 (CI
runs it via the bats job; surfaces changed: schemas/skills/docs/bats).
- `scripts/generate-registry.sh --check` → up to date.
- `scripts/check-bead-scenario-coverage.sh --run` → PASS (1/1 scenario
covered & passing).
- Full `pre-push-gate.sh --fast`: green except `corpus-freshness`
(env-local snapshot 8d old; CI sets `AGENTOPS_CORPUS_FRESHNESS_SKIP=1` —
not a PR blocker).

Closes-scenario: ag-twl8#verdict-category-taxonomy
Bounded-context: BC1-Corpus
Evidence: schemas/verdict.v1.schema.json
2026-06-06 08:33:38 -04:00
..