Skip to content

Document the provider and validate REFERENCE.md in CI (2.0.1) - #51

Draft
silug wants to merge 2 commits into
masterfrom
reference-docs
Draft

Document the provider and validate REFERENCE.md in CI (2.0.1)#51
silug wants to merge 2 commits into
masterfrom
reference-docs

Conversation

@silug

@silug silug commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Follows up on #50: adds the inline documentation, a committed REFERENCE.md, and a reference-docs CI job running bundle exec rake validate:strings.

The important finding

REFERENCE.md came out empty for a structural reason, not a missing-comments reason: openvox-strings parses providers (providers: 1 in its JSON output) but its markdown/REFERENCE generator has no provider template — every other component type has one (markdown/resource_type.rb, puppet_class.rb, …), providers are silently dropped. Since this module is provider-only, no amount of YARD gets content into REFERENCE.md with the current gem.

What this PR does

  • Full inline docs for the provider — expanded desc (membership semantics, auth_membership behavior, unknown-user handling) plus method-level YARD (@param/@return, and the Puppet-version-compat rationale behind is_new_format?). Visible today via puppet strings HTML/JSON and puppet describe; becomes REFERENCE.md content the moment the renderer learns providers.
  • REFERENCE.md committed as currently generated (header-only) + the validate:strings job. The job passes now and doubles as a forcing function: when a future openvox-strings starts rendering providers, validation fails and prompts a regeneration.
  • 2.0.1 (RELENG requires a bump for the lib/ change) with CHANGELOG.

An upstream PR adding a provider template to voxpupuli/openvox-strings is being prepared separately — that's the real fix for useful REFERENCE.md content here.

Verified locally: specs 8/8 (1 pending), rubocop clean, validate:strings, RELENG checks, metadata lint.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp

- Inline puppet-strings/YARD documentation for the gpasswd provider:
  an expanded desc covering membership semantics plus method-level
  docs (parameters, returns, version-compat rationale)
- Commit the generated REFERENCE.md and add a reference-docs CI job
  running rake validate:strings so it can never go stale
- Note: the openvox-strings markdown generator parses providers but
  has no template to render them, so REFERENCE.md is currently
  header-only for this provider-only module; validate:strings will
  flag the file for regeneration as soon as that is fixed upstream

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp
@silug
silug marked this pull request as draft July 24, 2026 19:13
Temporarily source openvox-strings from the add-provider-markdown
branch on silug/openvox-strings, which teaches the markdown generator
to render providers; REFERENCE.md now documents the gpasswd provider
(description, membership semantics, and commands). Revert to the
released gem once the change is merged and published upstream.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XCnDsYaJDLiP8z8tafz9Tp
Comment thread Gemfile
gem 'openvox', openvox_version
gem 'openvox-strings'
# TODO: revert to the released gem once provider rendering is merged upstream
gem 'openvox-strings', git: 'https://github.com/silug/openvox-strings', branch: 'add-provider-markdown'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

2 participants