Skip to content

refactor(spec)!: rename check to audit across the standard#40

Merged
brettdavies merged 2 commits into
devfrom
refactor/check-to-audit
May 29, 2026
Merged

refactor(spec)!: rename check to audit across the standard#40
brettdavies merged 2 commits into
devfrom
refactor/check-to-audit

Conversation

@brettdavies

@brettdavies brettdavies commented May 29, 2026

Copy link
Copy Markdown
Owner

Summary

This PR brings the spec's conformance vocabulary in line with the CLI's check to audit rename. The net change versus dev: the conditional-antecedent frontmatter field is renamed check_id to audit_id across the principle files and the validator that enforces it, and the human-facing vocabulary shifts from "check"/"checker" to "audit"/"auditor" throughout the standard's prose, the PR template, and the historical plans.

Unrelated uses of the word "check" are deliberately preserved: the prose-check (Vale/LanguageTool) pipeline, CI status checks, the repo's own check-links/check-last-revised tooling, and plain-English usage.

This is a coupled, breaking change. The companion rename in agentnative-cli parses audit_id and emits schema_version: 2.0. Do not merge until the companion CLI PR is linked below and both can land together; shipping audit_id in the spec ahead of the CLI would break the vendored-frontmatter parser.

Changelog

Changed

  • Rename the conditional-antecedent frontmatter field check_id to audit_id. This is a breaking change to the principle-frontmatter shape: consumers that parse applicability.antecedent read audit_id instead of check_id.
  • Rename the standard's conformance vocabulary from check to audit (the anc audit subcommand, "audit IDs", "auditor") across principle prose and governance docs.

Linked audit review

Companion rename in progress on brettdavies/agentnative-cli (refactor/check-to-audit): build_support/parser.rs parses antecedent.audit_id under the v1-strict schema, and coverage/matrix.json carries audit_id with schema_version: 2.0. The PR URL will be added here before merge. This PR must not merge until that companion PR is open and ready to land in lockstep.

Human reviewer

Reviewer: @brettdavies

AI disclosure

AI (Claude) executed the mechanical check to audit rename, updated the validator, fixtures, and tests, and authored this PR; the scope decisions (maximal rename, hold-the-release, rewriting historical plans) and the review are human (@brettdavies).

The CLI renamed its audit subcommand from `check` to `audit`; update the
getting-started commands in README.md, the local re-run hint in badge.md, and
the implementation-verification references in the P2/P4 plan to match.
Align the spec with the CLI's rename of its conformance subcommand and internal vocabulary from `check` to `audit`. The spec is the source of truth the CLI vendors and the site reads, so its field names and prose drive both.

Frontmatter schema: the conditional-antecedent field `check_id` becomes `audit_id` (p2, p8), with the validator (`scripts/validate-principles.mjs`), its regression fixtures and expectations, and the `principles/AGENTS.md` schema contract updated in lockstep.

Prose (canonical surface): `checker`/`checker tool` to `auditor`, conformance `checks` to `audits`, `checkable`/`machine-checkable` to `auditable`/`machine-auditable`, `check IDs` to `audit IDs`, and the PR-template section `Linked check review` to `Linked audit review`.

Selective rewrite of anc-concept references in `docs/plans/`; unrelated `check` usages are preserved (the prose-check Vale/LanguageTool stack, CI status checks, `git checkout`, healthcheck/shellcheck, the spec's own check-links/check-last-revised scripts, and plain-English verbs).

VERSION held at 0.4.0; the release is coupled with the agentnative-cli rewrite and must not tag before the CLI parses `audit_id`.

BREAKING CHANGE: the principle-frontmatter conditional-antecedent field is renamed `check_id` to `audit_id`. Consumers that parse principle frontmatter must update.
@brettdavies brettdavies merged commit 283a306 into dev May 29, 2026
1 check passed
@brettdavies brettdavies deleted the refactor/check-to-audit branch May 29, 2026 22:12
brettdavies added a commit that referenced this pull request May 30, 2026
…rboard

Align the spec README with the renamed, rescored standard now on dev (#40),
and scope it back to canonical prose.

- Scoring section now matches principles/scoring.md: the seven-status taxonomy
  (adds opt_out and n_a), the credit-weighted formula, and the 70% eligibility
  floor. Replaces the stale five-status model and the pass/(pass+warn+fail)
  ratio, and defers to scoring.md as the authoritative contract.
- Badge eligibility floor corrected from 80% to 70% to match scoring.md and
  docs/badge.md.
- Example output regenerated from a real behavioral-only run (anc 0.4.0,
  `anc audit . --binary` against its own source): current requirement-row IDs,
  43 audits, 99%. Source- and project-layer rows are excluded from the score,
  so the example shows only the layer the public score is computed from.
- Remove the Live leaderboard table. The leaderboard is an artifact of the
  linter and site implementation, not the canonical principle text; readers are
  still pointed to anc.dev/scorecards from "The four artifacts" and "Related".
brettdavies added a commit that referenced this pull request May 30, 2026
…dit rename (#44)

## Summary

v0.5.0 of the agent-native CLI standard. Two principles gain normative
content: p3 acquires a universal `--version` MUST plus a short-alias
SHOULD; p8's machine-checkable applicability gains a typed `{kind:
conditional, antecedent: {audit_id: <id>}}` shape that supersedes the
prose-only `{if: <reason>}` form (p2 migrates as well). The standard's
conformance vocabulary renames from `check` to `audit` across principle
prose, the `audit_id` frontmatter field, and the `anc audit` subcommand.
A leaderboard scoring formula lands in `principles/scoring.md` with a
binary-behavior, credit-weighted ratio plus four cohort bands (Exemplary
/ Strong / Solid / Qualified) and a 70% eligibility floor. Governance
gains the three-tier contribution framework (Signal / Proposal / Code),
the `last-revised` discipline check now stamps any frontmatter mutation,
and `RELEASES.md` splits into a runbook plus a companion rationale doc.

## Changelog

### Added

- Three-tier contribution framework (Signal / Proposal / Code) in
`CONTRIBUTING.md` with a "Where to file what" routing table covering all
four repos by @brettdavies in
[#30](#30)
- `00-blank.yml` issue template, sort-prefixed to the top of the picker,
with an agent-facing footer redirecting to structured templates
- Fourth `contact_link` in `.github/ISSUE_TEMPLATE/config.yml` routing
skill-bundle issues to the bundle repo
- `p3-must-version` (universal MUST): top-level `--version` prints a
non-empty version line and exits 0. by @brettdavies in
[#33](#33)
- `p3-should-version-short` (universal SHOULD): a short alias (`-V` per
clap default; `-v` per Node/npm/Bun/Yarn/Make convention; `-version` per
Go's `flag` package) accompanies `--version`. Any of the three forms is
sufficient.
- Conditional applicability shape `{kind: conditional, antecedent:
{check_id: <id>}}` for machine-checkable conditionals. The `check_id` is
a verifier identifier, not a requirement `id`; the v1 schema is
single-antecedent only, with compound antecedents (`op`/`checks`)
deferred to v2 and rejected by the validator. by @brettdavies in
[#34](#34)
- Antecedent-status propagation table mapping the antecedent's status
(under the 7-status taxonomy: `pass`, `warn`, `fail`, `opt_out`, `n_a`,
`skip`, `error`) to the consequent's emission, including the inheritance
rules for `skip` and `error`.
- Add `principles/scoring.md` defining the leaderboard scoring formula:
a binary-behavior, credit-weighted ratio with `opt_out` counted and
`n_a`/`skip`/`error` excluded, plus four badge cohort bands. by
@brettdavies in
[#39](#39)

### Changed

- Issue template `grade-a-cli.yml` renamed to `grading-finding.yml`,
with `name`, `description`, and `labels` updated to match the actual
purpose by @brettdavies in
[#30](#30)
- `RELEASES.md` reduced from runbook-plus-rationale (339 lines) to
runbook-only (201 lines), cross-linking the new rationale doc
- `AGENTS.md` updated from three-repo to four-repo ecosystem; template
references updated
- `scripts/prose-check.sh` default `LANGUAGETOOL_URL` is now
`http://languagetool:8081` (service-name default; consumers override via
env var)
- Migrate p2 (`p2-must-schema-print`, `p2-should-schema-file`) and p8
(`p8-must-bundle-install`, `p8-may-install-all`, `p8-may-bundle-update`)
applicability from `{if: <reason>}` to the new shape. Antecedent for p2
is `p2-json-output`; for p8 is `p8-bundle-exists`. No tier changes. by
@brettdavies in
[#34](#34)
- `last-revised` discipline tightened: any frontmatter mutation (summary
rewrites, applicability shape migrations, tier changes, requirement
add/remove, status flips, reordering) stamps today's date. Prose-only
edits below the closing `---` fence remain exempt. Enforced by
`scripts/check-last-revised.mjs` at pre-push and PR CI. by @brettdavies
in [#38](#38)
- Lower the badge eligibility floor from 80% to 70%. by @brettdavies in
[#39](#39)
- Replace the badge's three-color threshold with four cohort bands
(Exemplary >= 85, Strong 80-84, Solid 75-79, Qualified 70-74).
- Rename the conditional-antecedent frontmatter field `check_id` to
`audit_id`. This is a breaking change to the principle-frontmatter
shape: consumers that parse `applicability.antecedent` read `audit_id`
instead of `check_id`. by @brettdavies in
[#40](#40)
- Rename the standard's conformance vocabulary from `check` to `audit`
(the `anc audit` subcommand, "audit IDs", "auditor") across principle
prose and governance docs.

### Fixed

- Backfilled `last-revised` on p1, p2, p4, p5, p6, p7, p8 to match each
file's most recent substantive frontmatter change. p3 was already
correct. by @brettdavies in
[#38](#38)
- The `last-revised` discipline check runs only on PRs targeting `dev`,
so release PRs to `main` no longer fail it for principles revised on an
earlier day. by @brettdavies in
[#41](#41)

### Removed

- `docs/architecture/languagetool-deployment.md` (deployment knowledge
compounded into the shared `solutions-docs` repo as
`self-hosted-languagetool-for-prose-check-stacks-2026-05-20.md`) by
@brettdavies in
[#30](#30)

## Linked audit review

no audit changes needed — the `anc` repo is pinned at vendored spec
v0.4.0 and re-vendors on the v0.5.0 tag; a verifier for
`p3-must-version` (the only new MUST) is a downstream follow-up, not a
spec-release blocker.

## Human reviewer

**Reviewer:** @brettdavies

## AI disclosure

Cherry-pick assembly, conflict resolution, CHANGELOG generation, and
PR-body drafting performed by Claude (Opus 4.7) under direct
supervision; all normative principle content and PR-body Changelog
bullets originate from human-authored upstream PR bodies.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant