Repository navigation
Say OpenJevServer extends three core types, and drop docs.yml's "until then" - #140
Merged
Merged
Conversation
…l then" PR #136 added `extension ChatCompletionsConfiguration` with an `init(_:)` in Sources/OpenJevServer/ChatCompletionsRoute.swift, next to the extensions of EngineConfiguration and EncoderEngineConfiguration in BackendProvider.swift. Those are the only three extensions in Sources/OpenJevServer, and OpenJevCore declares all three types. docs/development.md's Links bullet and the header of Tools/docs/build-site.sh still said two; both say three now, and development.md names the three `init(_:)` the server adds. GitHub Pages publishes from GitHub Actions: the Pages API reports build_type workflow, and the Documentation run on main for d25223a deployed the site. The header of .github/workflows/docs.yml now says the deploy job is skipped "otherwise" instead of "until then", as PR #139 words docs/development.md, whose own copy of that line PR #139 changes. docs/06-decisions.md keeps its wording: a decision records what was true when it was written.
Contributor
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The documentation-only changes accurately match the source declarations and workflow behavior.
Review effort: Balanced
Findings: None
What changed in this PR
Updates documentation to reflect the third OpenJevServer extension introduced by #136 and clarify Pages deployment behavior.
Changes:
- Documents all three extended OpenJevCore types.
- Replaces the outdated “until then” deployment wording.
| File | Description |
|---|---|
Tools/docs/build-site.sh |
Corrects the extension count. |
docs/development.md |
Lists all three server-added initializers. |
.github/workflows/docs.yml |
Clarifies the deployment condition. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This was referenced Oct 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes two stale claims about the DocC site and its workflow. Docs and comments only: no Swift code changes.
OpenJevServer extends three core types, not two
PR #136 added
extension ChatCompletionsConfigurationwith aninit(_:), next to the two extensions inBackendProvider.swift. These are the onlyextensiondeclarations inSources/OpenJevServer(grep -rnw extension Sources/OpenJevServerlists exactly these three), and OpenJevCore declares all three extended types:Sources/OpenJevServer/BackendProvider.swift:68extension EngineConfigurationpublic init(_ settings: ServerSettings) throwsSources/OpenJevCore/Engine/EngineConfiguration.swift:6Sources/OpenJevServer/BackendProvider.swift:86extension EncoderEngineConfigurationpublic init(_ settings: ServerSettings)Sources/OpenJevCore/Engine/EncoderEngineConfiguration.swift:6Sources/OpenJevServer/ChatCompletionsRoute.swift:158extension ChatCompletionsConfiguration, inside#if canImport(Hummingbird)public init(_ settings: ServerSettings)Sources/OpenJevCore/Generation/ChatCompletions.swift:8docs/development.md:380(API documentation, the Links bullet)OpenJevServerextends two core types, and the page DocC makes for those extensions is named ...OpenJevServerextends three core types, and the page DocC makes for those extensions is named ...docs/development.md:382-383(now 382 to 384)init(_:)the server adds toEngineConfigurationandEncoderEngineConfigurationare documented in the source alone.init(_:)the server adds toEngineConfiguration,EncoderEngineConfigurationandChatCompletionsConfigurationare documented in the source alone.Tools/docs/build-site.sh:11(header comment)The development.md sentence takes one more line so that every line stays under 100 columns; line 384 ("
OpenJevCoredepends on no other module ...", now 385) is unchanged.The deploy job's condition no longer implies Pages is off
.github/workflows/docs.yml:6(header comment, lines 4 to 6)The wording follows PR #139's change to
docs/development.md("otherwise that job is skipped and the run carries a notice"). Evidence that Pages is on:curl -s -o /dev/null -w '%{http_code}' https://algorythm-canada.github.io/OpenJevSwift/prints 200.ghp api repos/Algorythm-Canada/OpenJevSwift/pagesreports"build_type": "workflow".main(run 37486332329, for d25223a) ran Check GitHub Pages, Build the documentation and Deploy to GitHub Pages, and all three succeeded.Other copies
I searched every tracked text file, with lines joined and comment markers (
#,//,///) dropped at line starts. That catches copies split across a line break, including the one inbuild-site.sh, where "two core" ends one comment line and "# types" starts the next (the plainperl -0ne '... /two\s+core\s+types|until\s+then/'misses it). The patterns: "two core types", "extends two", "twoinit(_:)", "EngineConfigurationandEncoderEngineConfiguration", "until then", "until", "once" or "before" followed by "(GitHub) Pages", "Pages is (not) enabled, on or off", "skipped until" and "not yet enabled, published or deployed". Only these stale copies turned up:docs/development.md:626(now 627), "until then that job is skipped and the run carries a notice": PR Say the DocC site has five modules, not four #139 changes it to "otherwise", so this pull request leaves it to Say the DocC site has five modules, not four #139. Say the DocC site has five modules, not four #139 merged as 70d0126 while this pull request was being opened, so this branch is based on 4194e02, one commit behindmain.git merge-treeof this branch withmainat 70d0126 merges cleanly: the result keeps every Say the DocC site has five modules, not four #139 line, and differs frommainonly by this pull request's lines.docs/06-decisions.md, D-047 (the two core types, the twoinit(_:), "once GitHub Pages" and "until then"): left as written, since a decision records what was true when it was written.What the search found and this pull request leaves alone:
.github/workflows/docs.yml:90("The Pages API answers 404 while Pages is off") and the notice at line 108 describe the condition, not the current state.Configuration.md,docs/compatibility.md, D-058), Laya's prefetch (LayaBackend.swift,docs/10-other-models.md), D-045'sthinkcases, two spikes and two tests.EncoderPackageStore.swift:563's error text ("remote files for ... are not yet published") is about the encoder model packages.OpenJevServer is also the only module that extends another module's types publicly. The other modules' extensions of outside types (
JSONValuein OpenJevLetterReadout,KeyedDecodingContainerin OpenJevDiffusionGemma) are internal or fileprivate, sobuild-site.sh's reason for--exclude-extended-typesstill holds. Open PR #137 changes none ofSources/OpenJevServer,docs/development.md,build-site.shordocs.yml, so it does not change the count.Checks
make lintpasses.bash -n Tools/docs/build-site.shpasses, anddocs.ymlparses as YAML.Tools/docs/**and the workflow are in its paths.make docswas not run locally, and the fullswift testwas skipped: no Swift code changed.