Add Project Gutenberg integration package - #8
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughThis PR introduces a new Project Gutenberg OPDS integration package to the marginalia-examples repository. The integration provides a descriptor-driven catalog provider for Project Gutenberg books, defined through manifest metadata, entrypoint configuration, and OPDS catalog data. Documentation and CI validation are updated accordingly. ChangesProject Gutenberg Integration Package
🎯 2 (Simple) | ⏱️ ~12 minutes
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
project-gutenberg-integration/README.md (1)
5-15:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd explicit “expected future runtime behavior” to complement the current behavior section.
This README only documents what works today; please add a short future-runtime section so the example clearly distinguishes current vs planned host/runtime capabilities.
As per coding guidelines,
**/README.md: Example READMEs should state what works today versus expected future runtime behavior.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@project-gutenberg-integration/README.md` around lines 5 - 15, Add a new "Expected future runtime behavior" section to the README to complement the "Current behavior" list: clearly state planned host/runtime capabilities (e.g., future support for dynamic catalog updates, background metadata synchronization, enhanced search/query routing, and any runtime permissions or sandbox guarantees) and explicitly contrast them with today’s static behavior (the package reads the static src/opds.json and remains a read-only catalog preset with no arbitrary code execution); reference the OPDS browser picker and existing OPDS download flow so readers can see which features are current vs planned.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@project-gutenberg-integration/README.md`:
- Around line 5-15: Add a new "Expected future runtime behavior" section to the
README to complement the "Current behavior" list: clearly state planned
host/runtime capabilities (e.g., future support for dynamic catalog updates,
background metadata synchronization, enhanced search/query routing, and any
runtime permissions or sandbox guarantees) and explicitly contrast them with
today’s static behavior (the package reads the static src/opds.json and remains
a read-only catalog preset with no arbitrary code execution); reference the OPDS
browser picker and existing OPDS download flow so readers can see which features
are current vs planned.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: f40bb1f0-3855-4b2f-abe2-23c260f38865
📒 Files selected for processing (6)
.github/workflows/ci.ymlREADME.mdproject-gutenberg-integration/README.mdproject-gutenberg-integration/manifest.jsonproject-gutenberg-integration/src/entrypoints.jsonproject-gutenberg-integration/src/opds.json
|
Superseded by #9, which uses the generic catalog provider contribution contract. |
Summary
Adds a Project Gutenberg integration package. The package exposes a static OPDS provider descriptor, so compatible firmware can show Project Gutenberg as a book catalog after the package is installed and enabled.
The provider uses Gutenberg's OPDS search endpoint and leaves book downloads to the existing OPDS browser flow.
The examples workflow now validates manifests against firmware 1.3.0 so packages can declare the compatibility floor needed for this integration host.
Validation
python3 ../marginalia-sdk/tools/validate_manifest.py --profile publish --firmware-version 1.3.0 */manifest.jsonpython3 ../marginalia-sdk/tools/build_package.py project-gutenberg-integration --profile publish --output dist --jsonSummary by CodeRabbit
New Features
Documentation
Chores