Skip to content

fix(ci): scope last-revised check to dev PRs; correct stale CI/version doc references#41

Merged
brettdavies merged 2 commits into
devfrom
fix/release-readiness-pre-0.5.0
May 30, 2026
Merged

fix(ci): scope last-revised check to dev PRs; correct stale CI/version doc references#41
brettdavies merged 2 commits into
devfrom
fix/release-readiness-pre-0.5.0

Conversation

@brettdavies

Copy link
Copy Markdown
Owner

Summary

Pre-release hygiene surfaced by a readiness audit of the devmain delta. No principle requirements change tier, ID, or applicability shape.

  • check-last-revised.yml now triggers only on PRs targeting dev. The discipline is enforced when a principle change lands on dev; a release PR to main replays those files unchanged, and comparing them against main, which legitimately lags dev, flagged every principle revised on a prior day as "date isn't today". The pre-push hook (which always compares against origin/dev) still backstops a fresh principle edit authored directly on a release branch.
  • principles/AGENTS.md § Validation attributed the frontmatter validation to a .github/workflows/validate-principles.yml workflow that does not exist. Validation runs in the pre-push hook via scripts/validate-principles.mjs; the text now says so.
  • RELEASES.md § Branch protection listed a ci required status check that does not exist and omitted guard-provenance. The required checks are now stated as guard-docs, guard-release, guard-provenance.
  • Pressure-test notes in P3, P4, P5, and P7 deferred several still-open findings to "a v0.4.0 PR". v0.4.0 has shipped, so those disposition labels now read "a future PR"; the deferred findings themselves remain open and their verbatim quotes are untouched.

Changelog

Fixed

  • 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.

Linked audit review

No audit changes needed: prose-only pressure-test-note edits, a CI trigger scope fix, and documentation corrections. No requirements[] entry is added, removed, or re-tiered.

Human reviewer

Reviewer: @brettdavies

AI disclosure

AI-authored under human direction and review: the readiness audit, the workflow scope fix, the documentation corrections, and the de-versioning.

@brettdavies brettdavies merged commit 54325a8 into dev May 30, 2026
1 check passed
@brettdavies brettdavies deleted the fix/release-readiness-pre-0.5.0 branch May 30, 2026 05:43
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