Skip to content

string-audit v0.5.0 — provider seam + registry-aware drift check - #25

Merged
bdelanghe merged 1 commit into
mainfrom
release/v0.5.0
Jun 23, 2026
Merged

string-audit v0.5.0 — provider seam + registry-aware drift check#25
bdelanghe merged 1 commit into
mainfrom
release/v0.5.0

Conversation

@bdelanghe

Copy link
Copy Markdown
Contributor

Bumps version to 0.5.0. Triggers the release workflow (creates v0.5.0 tag + GitHub release) on merge to main.

What shipped in this release cycle

#24 — Registry-aware drift check spike

Spiked registryDrift(value, vocab) + vocabFromRegistry(registry) in spikes/registry-drift.mjs. Pure, zero-dep demo.

#23 — Provider seam + promotion (closes #22)

  • registryDrift promoted to prose.mjs with the vocabFromRegistry adapter pattern from the spike
  • Checks both plain prose (--flag, ENUM=value) and backtick-wrapped (`bin verb`) command references
  • Textlint provider (textlint.mjs), opt-in via AUDIT_TEXTLINT=1
  • Async prose pipeline: Promise.all so async providers compose cleanly
  • All tests passing including 9 new registry-drift assertions

Acceptance criteria (issue #22)

🤖 Generated with Claude Code

New in v0.5.0:

- **Registry-aware drift check** (`registryDrift` in prose.mjs): scans body/
  headline copy for `--flag`, `ENUM=value`, and `` `bin verb` `` references
  that don't match the live verbspec registry. Drift = error (same tier as
  UNGROUNDED). Spiked in #24, promoted and wired here.
- **Textlint provider** (opt-in `AUDIT_TEXTLINT=1`): textlint.mjs adds
  AST-based prose linting via textlint-rule-write-good. Optional dep — default
  install (`npm ci --omit=optional`) is unaffected.
- **`vocabFromRegistry()` adapter**: decouples drift check from the registry
  import (prose.mjs stays import-free; callers pass a built vocab).
- **Async prose pipeline**: `Promise.all` in verbs.mjs so async providers
  (textlint) compose alongside sync ones.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@bdelanghe
bdelanghe merged commit dc03a4f into main Jun 23, 2026
1 check passed
@bdelanghe
bdelanghe deleted the release/v0.5.0 branch June 23, 2026 15:39
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.

Prose-linter seam: add textlint provider + schema-aware checks against the verbspec registry

1 participant