Skip to content

Say OpenJevServer extends three core types, and drop docs.yml's "until then" - #140

Merged
alaineid merged 1 commit into
mainfrom
docs-server-extensions-pages-wording
Oct 6, 2026
Merged

alaineid merged 1 commit into
mainfrom
docs-server-extensions-pages-wording

Conversation

@alaineid

@alaineid alaineid commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

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 ChatCompletionsConfiguration with an init(_:), next to the two extensions in BackendProvider.swift. These are the only extension declarations in Sources/OpenJevServer (grep -rnw extension Sources/OpenJevServer lists exactly these three), and OpenJevCore declares all three extended types:

Extension (at 4194e02) What it adds Type declared in
Sources/OpenJevServer/BackendProvider.swift:68 extension EngineConfiguration public init(_ settings: ServerSettings) throws Sources/OpenJevCore/Engine/EngineConfiguration.swift:6
Sources/OpenJevServer/BackendProvider.swift:86 extension EncoderEngineConfiguration public init(_ settings: ServerSettings) Sources/OpenJevCore/Engine/EncoderEngineConfiguration.swift:6
Sources/OpenJevServer/ChatCompletionsRoute.swift:158 extension ChatCompletionsConfiguration, inside #if canImport(Hummingbird) public init(_ settings: ServerSettings) Sources/OpenJevCore/Generation/ChatCompletions.swift:8
Line Said Says now
docs/development.md:380 (API documentation, the Links bullet) OpenJevServer extends two core types, and the page DocC makes for those extensions is named ... OpenJevServer extends three core types, and the page DocC makes for those extensions is named ...
docs/development.md:382-383 (now 382 to 384) ... and the two init(_:) the server adds to EngineConfiguration and EncoderEngineConfiguration are documented in the source alone. ... and the three init(_:) the server adds to EngineConfiguration, EncoderEngineConfiguration and ChatCompletionsConfiguration are documented in the source alone.
Tools/docs/build-site.sh:11 (header comment) Extended types are left out: OpenJevServer extends two core types, ... Extended types are left out: OpenJevServer extends three core types, ...

The development.md sentence takes one more line so that every line stays under 100 columns; line 384 ("OpenJevCore depends on no other module ...", now 385) is unchanged.

The deploy job's condition no longer implies Pages is off

Line Said Says now
.github/workflows/docs.yml:6 (header comment, lines 4 to 6) The deploy job runs only when GitHub Pages is enabled with "GitHub Actions" as its source (Settings, Pages, Build and deployment); until then it is skipped, and the run says so. The deploy job runs only when GitHub Pages is enabled with "GitHub Actions" as its source (Settings, Pages, Build and deployment); otherwise it is skipped, and the run says so.

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/pages reports "build_type": "workflow".
  • The latest Documentation run on 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 in build-site.sh, where "two core" ends one comment line and "# types" starts the next (the plain perl -0ne '... /two\s+core\s+types|until\s+then/' misses it). The patterns: "two core types", "extends two", "two init(_:)", "EngineConfiguration and EncoderEngineConfiguration", "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:

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.
  • The other "until then" hits are about other things: the chat route waiting for Block generation loop: canvas sizing, cache commits, streaming detokenizer, stop ids #51 (Configuration.md, docs/compatibility.md, D-058), Laya's prefetch (LayaBackend.swift, docs/10-other-models.md), D-045's think cases, 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 (JSONValue in OpenJevLetterReadout, KeyedDecodingContainer in OpenJevDiffusionGemma) are internal or fileprivate, so build-site.sh's reason for --exclude-extended-types still holds. Open PR #137 changes none of Sources/OpenJevServer, docs/development.md, build-site.sh or docs.yml, so it does not change the count.

Checks

  • make lint passes.
  • bash -n Tools/docs/build-site.sh passes, and docs.yml parses as YAML.
  • This pull request's Documentation workflow builds the site, since Tools/docs/** and the workflow are in its paths. make docs was not run locally, and the full swift test was skipped: no Swift code changed.

…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.
Copilot AI balanced review requested due to automatic review settings October 6, 2026 16:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

@alaineid
alaineid merged commit edba17d into main Oct 6, 2026
8 checks passed
@alaineid
alaineid deleted the docs-server-extensions-pages-wording branch October 6, 2026 16:44
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