Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 2
Build tinydocs from the OpenHuman document engine#1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
b2dbd3c1dc5eb4743ebb5f51e0a7fe9d731984fe41ba19c56440bb5e84b272bce0e96fa1cad061a7019ebec77c8File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Uh oh!
There was an error while loading. Please reload this page.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,15 @@ | ||
| [package] | ||
| name = "rust-template" | ||
| name = "tinydocs" | ||
| version = "0.1.0" | ||
| edition = "2024" | ||
| rust-version = "1.85" | ||
| rust-version = "1.88" | ||
| license = "GPL-3.0-only" | ||
| description = "A production-ready Rust library template." | ||
| repository = "https://github.com/tinyhumansai/rust-template" | ||
| documentation = "https://docs.rs/rust-template" | ||
| description = "Agent-friendly document synthesis and text extraction (DOCX, PPTX, PDF) in Rust." | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Description claims PPTX, PDF, and text extraction with no dependency for them The package description claims capabilities the dependencies cannot back.
The only document-format dependency added is [RULE] Package metadata must reflect actual capabilities · There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Package metadata claims PPTX, PDF, and text extraction not implemented here The package description claims description = "Agent-friendly document synthesis and text extraction (DOCX, PPTX, PDF) in Rust."keywords = ["docx", "ooxml", "pdf", "document", "agent"]Drop PPTX/PDF/extraction from the description and [RULE] Prefer small, typed APIs over stringly-typed ones; accept | ||
| repository = "https://github.com/tinyhumansai/tinydocs" | ||
| documentation = "https://docs.rs/tinydocs" | ||
| readme = "README.md" | ||
| keywords = ["template"] | ||
| categories = ["development-tools"] | ||
| keywords = ["docx", "ooxml", "pdf", "document", "agent"] | ||
| categories = ["text-processing"] | ||
| # Keep the published package to what a consumer actually needs. | ||
| exclude = [ | ||
| ".github/", | ||
| @@ -25,11 +25,33 @@ exclude = [ | ||
| # Derive macros for the crate-wide error type in `src/error/mod.rs`. Every | ||
| # dependency entry should carry a comment like this one saying why it is here. | ||
| thiserror = "2" | ||
| # The document spec types are the wire contract a host exposes to an LLM as a | ||
| # JSON tool schema, so they derive Serialize/Deserialize here rather than | ||
| # forcing every host to re-declare them. | ||
| serde = { version = "1", features = ["derive"] } | ||
| # OOXML `.docx` synthesis. Optional: exclusive to the `docx` feature so a host | ||
| # that only needs extraction does not pull the writer stack. | ||
| docx-rs = { version = "0.4.20", optional = true } | ||
| [dev-dependencies] | ||
| # `.docx` output is a zip container; the tests re-open the produced bytes and | ||
| # assert on the OOXML parts inside. | ||
| zip = { version = "2", default-features = false, features = ["deflate"] } | ||
| # The spec types are a JSON wire contract; the tests assert they round-trip and | ||
| # that unknown keys are rejected. | ||
| serde_json = "1" | ||
| # The example generates a `.docx`, so it only builds when that gate is on. | ||
| # Without this, `--no-default-features` fails on the example rather than | ||
| # reporting the (correct) fact that the crate itself compiles fine. | ||
| [[example]] | ||
| name = "basic" | ||
| required-features = ["docx"] | ||
| [features] | ||
| default = [] | ||
| default = ["docx"] | ||
| # `.docx` generation via `docx-rs`. | ||
| docx = ["dep:docx-rs"] | ||
| # Lints apply to the whole crate and to every target. CI runs clippy with | ||
| # `-D warnings`, so anything set to "warn" here fails the build in CI. | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Package description and keywords claim PPTX/PDF support this PR does not add
The package metadata advertises PPTX, PDF, and text extraction, but this PR adds only
docx-rs(DOCX synthesis) andserde(JSON spec types). No PPTX or PDF dependency is introduced, and the only feature gate isdocx. Thepdfkeyword compounds the mismatch. A consumer or docs.rs reader would be misled into believing capabilities that this crate does not provide. Either narrow the description/keywords to what is actually shipped (DOCX synthesis + spec types), or add the PPTX/PDF/extraction dependencies and features in this same PR.existing_code:
description = "Agent-friendly document synthesis and text extraction (DOCX, PPTX, PDF) in Rust."[RULE] Package metadata must accurately reflect shipped capabilities ·