Repository navigation
release: move prose-check stack (styles/, .vale.ini, prose-check.sh) to dev-only - #46
Merged
Merged
Conversation
…ect note) (#45) ## Summary Reposition the prose-check stack (Vale rule packs at `styles/`, `.vale.ini`, the `scripts/prose-check.sh` orchestrator) as dev-only contributor tooling. The narrative tier (`BRAND.md`, `PRODUCT.md`) is named as the authoritative voice contract; the packs encode the literal phrases for enforcement on contributor PRs against `dev`. Five shipped-to-main docs (`PRODUCT.md`, `BRAND.md`, `AGENTS.md`, `principles/AGENTS.md`, `CONTRIBUTING.md`) lose their "executable contract at `styles/spec/`" framing in favor of the new narrative-is-canonical phrasing. The pre-push hook gains a graceful skip so the same hook ships to both `dev` (stack present, runs) and `main` (stack absent, warn + skip). A local guard step in `.github/workflows/guard-main-docs.yml` blocks `styles/`, `.vale.ini`, and `scripts/prose-check.sh` from being added to or modified on `main` PRs, alongside the reusable engineering-docs guard. `RELEASES.md` documents the dev-direct commit exception (same treatment `docs/plans/` already enjoys) for both engineering docs and the prose-check stack. This is the evergreen half of the architecture correction. The actual file deletions on `main` (`styles/`, `.vale.ini`, `scripts/prose-check.sh`) happen in a follow-up branch cut from `main` once this lands. ## Changelog ### Changed - Vale rule packs (`styles/brand/`, `styles/spec/`), `.vale.ini`, and `scripts/prose-check.sh` are now dev-only contributor tooling. `BRAND.md` and `PRODUCT.md` are named as the authoritative voice contract in their place; the packs enforce on contributor PRs against `dev` and do not ship to `main`. - `scripts/hooks/pre-push` gracefully skips the prose-check stage with a warning when the stack is absent (normal on `main`), instead of failing. - `.github/workflows/guard-main-docs.yml` passes `styles/,.vale.ini,scripts/prose-check.sh` as `extra_paths` to the reusable `brettdavies/.github` guard-main-docs workflow (`@main`, after `brettdavies/.github` PR #31 released the input). The prose-check stack is now blocked from `main` PRs by the global guard rather than a local inline job. - `RELEASES.md` documents the dev-direct commit exception covering engineering docs (`docs/architecture/`, `docs/plans/`, etc.) and the prose-check stack. ## Linked audit review no audit changes needed. Repositioning of dev tooling and supporting governance prose; no `requirements[]` changes, no tier moves, no frontmatter shape changes. ## Human reviewer **Reviewer:** @brettdavies ## AI disclosure The styles/ reference rewrites, the pre-push graceful skip, the local guard step, the dev-direct exception note, and this PR body were AI-drafted (Claude Opus 4.7) from the maintainer's directives; the architecture decision (move the stack to dev-only) is human (@brettdavies).
…ck.sh) The Vale rule packs, the vale config, and the orchestrator script are contributor tooling: they govern how the spec is authored on dev, but nothing downstream consumes them. sync-spec.sh vendors only principles/p*-*.md + VERSION + CHANGELOG.md; the standard's contract is the principles, not the rules that gate prose-about-the- principles. PR #45 (already on dev) landed the evergreen half of the change: doc repoints to name BRAND.md and PRODUCT.md as the authoritative voice contract, pre-push hook graceful skip when the stack is absent, dev-direct commit exception in RELEASES.md, and the global guard-main-docs caller picking up the new extra_paths input (styles/,.vale.ini,scripts/prose-check.sh). This release branch adds the actual file deletions on main. After this lands, the global guard blocks the same paths from ever being re-added to main via a PR.
brettdavies
added a commit
that referenced
this pull request
Oct 5, 2026
…he release tooling (#56) ## Summary Publishes `p3-should-unprefixed-command-list`, the SHOULD that command-list entries name the command directly (`status`, `server stop`) rather than repeating the binary name on every line (`tool status`, `tool server stop`). The bare invocation line stays the one entry that legitimately carries the binary name alone. `principles/p3-progressive-help-discovery.md` gains the requirement block and the normative text. This closes a lockstep gap rather than adding something new. The published `anc` v0.6.0 already audits this requirement and emits a `p3-should-unprefixed-command-list` row in every scorecard, while declaring `spec_version: 0.5.0` against a published spec that does not define it. Until this merges, the auditor grades tools on a requirement a reader cannot look up. `VERSION` moves to 0.6.0. A new normative SHOULD is an additive spec change, and `publish.yml` resolves its CHANGELOG section from `VERSION`, so leaving it at 0.5.0 would point the release cut at the section v0.5.0 already published. The release also carries the governance and release tooling that accumulated on `dev` since v0.5.0: CODEOWNERS and a Dependabot config (both inert until they reach the default branch), the re-vendored `scripts/release/` helpers, `scripts/sync-dev-after-release.sh`, the consolidated `scripts/generate-changelog.py` replacing the shell version, refreshed guard workflows and the `protect-main` ruleset, and the consumer-facing docs describing them. The prose-check stack stays `dev`-only, as release #46 established. ## Changelog ### Added - Add `p3-should-unprefixed-command-list` (SHOULD, applies when the CLI uses subcommands): command-list entries name the command directly rather than repeating the binary name as a prefix, so a reader or agent takes the command token from the left column instead of reconstructing it from a known prefix. ### Changed - Require code-owner review on `main` and enable Dependabot, so contributor PRs now need an owner approval before merge. - Replace `scripts/generate-changelog.sh` with `scripts/generate-changelog.py`, which keeps the same flags and git-cliff plus PR-body pipeline and adds a duplicate-section guard. ## Linked audit review brettdavies/agentnative-cli#95 adds the `p3-unprefixed-command-list` audit that verifies this requirement. It shipped in `anc` v0.6.0, which is published. ## Human reviewer **Reviewer:** @brettdavies (review pending; this PR is open for it, not approved) ## AI disclosure Claude assembled the release branch, bumped `VERSION`, generated `CHANGELOG.md` from the constituent `dev` PR bodies, and wrote this body; every shipped change to the principle text, workflows, scripts, and docs is human-authored work already reviewed and merged to `dev` through its own PR.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Move the prose-check stack (Vale rule packs at
styles/,.vale.ini, thescripts/prose-check.shorchestrator) offmainentirely. The packs and the orchestrator are contributor tooling that govern how the spec is authored ondev; nothing downstream consumes them.sync-spec.shvendors onlyprinciples/p*-*.md,VERSION, andCHANGELOG.md, and the standard's contract is the principles, not the rules that gate prose-about-the-principles.PR #45 (already on
dev) landed the evergreen half: doc repoints inPRODUCT.md,BRAND.md,AGENTS.md,principles/AGENTS.md, andCONTRIBUTING.mdto nameBRAND.mdandPRODUCT.mdas the authoritative voice contract; pre-push hook graceful skip when the stack is absent; dev-direct commit exception inRELEASES.mdfor engineering docs and the prose-check stack; and.github/workflows/guard-main-docs.ymlswitching from a local inline guard to the reusablebrettdavies/.githubguard-main-docs workflow's newextra_pathsinput (styles/,.vale.ini,scripts/prose-check.sh). This release branch carries those evergreen changes plus the actual file deletions.After this lands, the global guard blocks
styles/,.vale.ini, andscripts/prose-check.shfrom ever being re-added tomainvia a PR. NoVERSIONbump and noCHANGELOGentry: the standard's contract (principles, requirement IDs, tiers) is unchanged;publish.ymldoes not fire because neitherprinciples/p*-*.mdnorVERSIONis touched.Changelog
Linked audit review
no audit changes needed. Repository-hygiene change with no
requirements[]impact and no consumer-facing surface affected.Human reviewer
Reviewer: @brettdavies
AI disclosure
Cherry-pick, deletion staging, triple-diff verification, commit messages, and this PR body were AI-drafted (Claude Opus 4.7) from the maintainer's directives; the architecture call (move the prose-check stack to dev-only) is human (@brettdavies).