Skip to content

docs: enforce complete public API documentation - #24

Merged
tiye merged 1 commit into
feat/program-fingerprintfrom
docs/public-api-docs
Aug 23, 2026
Merged

docs: enforce complete public API documentation#24
tiye merged 1 commit into
feat/program-fingerprintfrom
docs/public-api-docs

Conversation

@tiye

@tiye tiye commented Aug 22, 2026

Copy link
Copy Markdown
Member

Summary

  • add RFC 0092 for the public Rust API documentation contract
  • document host-facing Value, errors, Engine, Program, Context, Chunk, and CLI crates
  • make api-doc fail on missing rustdoc with -D warnings -D missing_docs

Validation

  • make check
  • strict make api-doc
  • make docs && git diff --exit-code -- "docs/manual*.html"

This changes no runtime or bytecode semantics; it makes docs.rs and embedding API regressions fail CI.

Copilot AI lite review requested due to automatic review settings August 22, 2026 13:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR tightens QuickCoffee’s Rust public API documentation contract by adding an RFC, documenting the host-facing embedding surface, and enforcing rustdoc completeness in CI via make api-doc.

Changes:

  • Added RFC 0092 describing the public Rust API documentation gate and acceptance criteria.
  • Added/expanded rustdoc on the embedding API types (e.g., Value, ErrorKind, Program, Engine, Context, Chunk) and CLI crate entrypoints.
  • Updated make api-doc to fail on missing rustdoc (RUSTDOCFLAGS="-D warnings -D missing_docs"), preventing docs.rs/API regressions from slipping through CI.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/vm.rs Adds rustdoc for host-facing VM/embedding API types and methods (Value, errors, Engine/Program/Context).
src/main.rs Adds crate-level documentation for the qcoffee CLI entrypoint.
src/lib.rs Enables missing_docs warnings at crate level and keeps top-level API functions documented.
src/bytecode.rs Documents Chunk and key public bytecode APIs; explicitly allows missing docs for low-level enums per RFC contract.
src/bin/qtest.rs Adds crate-level documentation for the test runner binary.
src/bin/qdocco.rs Adds crate-level documentation for the literate renderer/checker binary.
src/bin/qbench.rs Adds crate-level documentation for the benchmark runner binary.
RFCs/0092-public-api-documentation.md Introduces the documentation contract and CI/rustdoc enforcement requirements.
README.md Updates RFC range reference to include RFC 0092.
Makefile Makes api-doc fail on missing docs by adding -D missing_docs to RUSTDOCFLAGS.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Base automatically changed from feat/descending-ranges to feat/string-map-pattern-keys August 22, 2026 18:02
@tiye
tiye force-pushed the docs/public-api-docs branch from f0eec00 to c61caa9 Compare August 22, 2026 18:39
Base automatically changed from feat/string-map-pattern-keys to test/embedding-api-contract August 23, 2026 04:07
@tiye
tiye force-pushed the test/embedding-api-contract branch from 1434269 to c99c083 Compare August 23, 2026 04:19
Base automatically changed from test/embedding-api-contract to feat/program-fingerprint August 23, 2026 04:20
@tiye
tiye force-pushed the docs/public-api-docs branch from 3fa5a8b to 3b05bf9 Compare August 23, 2026 04:22
@tiye
tiye merged commit 3948b4b into feat/program-fingerprint Aug 23, 2026
2 checks passed
@tiye
tiye deleted the docs/public-api-docs branch August 23, 2026 04:23
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.

2 participants