Repository navigation
Say the DocC site has five modules, not four - #139
Merged
Merged
Conversation
Tools/docs/build-site.sh builds five library modules: #107 built four, and #122 added OpenJevLetterReadout. The site's front page, the Makefile's docs target, the Documentation workflow's comment, docs/development.md and docs/09-conformance-and-testing.md still said four; they say five now. On the live site, "All four modules in one index" sat directly under the front page's list of five. docs/development.md's coverage line says five only after a check of the fifth module: all 96 public symbols declared in Sources/OpenJevLetterReadout have a doc comment. Its description of the documentation job says the deploy job is "otherwise" skipped instead of "until then": GitHub Pages now publishes from GitHub Actions. D-047 keeps "four": a decision records what was true when it was written.
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The coverage claim remains false, and equivalent stale deployment wording remains in the workflow header.
Review effort: Balanced
Findings: 2
Open (2)
What changed in this PR
Corrects DocC documentation to reflect the five published modules and current deployment behavior.
Changes:
- Updates stale four-module references to five.
- Revises GitHub Pages deployment wording.
| File | Description |
|---|---|
Tools/docs/index.html |
Corrects the module count. |
Makefile |
Updates the DocC target comment. |
docs/development.md |
Updates module counts and deployment wording. |
docs/09-conformance-and-testing.md |
Corrects the documentation workflow description. |
.github/workflows/docs.yml |
Corrects the archive count comment. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| request's run also offers it for download. On `main`, `Check GitHub Pages` asks the Pages API | ||
| whether Pages publishes from GitHub Actions, and `Deploy to GitHub Pages` runs only when it does; | ||
| until then that job is skipped and the run carries a notice. Enabling Pages is a repository | ||
| otherwise that job is skipped and the run carries a notice. Enabling Pages is a repository |
…cumented public symbols' Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This was referenced Oct 6, 2026
alaineid
added a commit
that referenced
this pull request
Oct 6, 2026
…l then" (#140) 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.
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.

Docs only.
Tools/docs/build-site.shbuilds five library modules into the DocC site, but seven lines still said four, and one sentence described the deploy job as if GitHub Pages were off. No Swift, test or fixture changes.build-site.shline 26 ismodules=(OpenJevCore OpenJevServer OpenJevDiffusionGemma OpenJevEncoders OpenJevLetterReadout). #107 (issue #64) created the script and wrote "four"; #122 (issue #55, JevK5) addedOpenJevLetterReadoutand left the count. Line numbers below are origin/main's at 4194e02, after #138.The lines
1. Tools/docs/index.html (line 93), the live site's front page
documentation/, lists five: the livedata/documentation.jsonnames exactly OpenJevCore, OpenJevDiffusionGemma, OpenJevEncoders, OpenJevLetterReadout and OpenJevServer. Merging this redeploys the site, sinceTools/docs/**is in the Documentation workflow's paths.2. docs/09-conformance-and-testing.md (line 365)
build-site.shline 26, and lines 70 to 76, which fail the build when any of the five lacks its page.3. docs/development.md (line 357)
generate-documentationcall over the four targets with--enable-experimental-combined-documentation[...]"generate-documentationcall over the five targets with [...]"build-site.shlines 50 to 62 pass one--targetfor each module of line 26, five in all, to onegenerate-documentationcall.4. docs/development.md (line 385), the coverage line
Was: "Every public symbol declared in the four modules has a doc comment, and a new one needs one too."
Now: "Every public symbol declared in the five modules has a doc comment, and a new one needs one too."
Evidence: every public symbol declared in
Sources/OpenJevLetterReadouthas a doc comment, by three checks:swift package generate-documentation --target OpenJevLetterReadout --experimental-documentation-coverage --coverage-summary-level detailed. Of its 130 entries, 33 have no abstract: 13 "Implementations" collection groups, and 20 members the module inherits or the compiler synthesizes (eight!=(_:_:), twolocalizedDescription,hash(into:),hashValue,init(rawValue:),rawAttachmentValueRepresentation,makeFromRawAttachmentValue(_:), and the actor'sassertIsolated,assumeIsolated,preconditionIsolatedand twowithSerialExecutor(_:)).Sources/OpenJevLetterReadout, and all 96 have a doc comment. The 20 members above have no location there.publicoropen, a public protocol's requirements, a public enum's cases) has a///line above it, past attributes, 96 of 96. Deleting three comments in a copy (a protocol requirement, an enum case and a property) made the scan report exactly those three.So "five" adds only a module whose public symbols all have a doc comment. The line was already untrue for two of the original four modules, though: see "Found, not changed here".
5. docs/development.md (line 618)
Tools/docs/build-site.sh[...]"6. docs/development.md (lines 625 and 626), the deploy job
Deploy to GitHub Pagesruns only when it does; until then that job is skipped and the run carries a notice."Deploy to GitHub Pagesruns only when it does; otherwise that job is skipped and the run carries a notice."curl -s -o /dev/null -w '%{http_code}' https://algorythm-canada.github.io/OpenJevSwift/prints200, andghp api repos/Algorythm-Canada/OpenJevSwift/pagesreportsbuild_type: workflow. The Documentation run for d25223a on main (run 37486332329) ranCheck GitHub Pages,Build the documentationandDeploy to GitHub Pages, all successful. The condition and the notice are still what thepagesanddeployjobs ofdocs.ymldo; only "until then", which said Pages was not on yet, changes.7. .github/workflows/docs.yml (line 70), a comment
8. Makefile (line 68), not in the original list
make docs, which runsbuild-site.sh.The sweep
grep -rn -i -E "four (library )?(modules|targets|archives|catalogs)|all four modules"over the repository, without.build,Upstreamand.git, found the six count lines given for this change (items 1 to 5 and 7; item 6 has no count), the Makefile line, and three lines in docs/06-decisions.md. Those three stay as written: D-047 records what was true when it was written. The Markdown here wraps at about 100 columns, so a second search over joined lines looked for "four" within six words of module, target, archive, catalog, library or DocC. It found no other count of the site's modules; its other hits ("Gemma 4 modules", "4-bit modules" and the like) are about something else.Found, not changed here
The coverage line is untrue on main for two of the original four modules. The symbol graph check of item 4, run on all five modules at 4194e02:
In
OpenJevDiffusionGemma, 31 are members of the vision tower's public layer classes inModel/VisionTower.swift, added by Read images on the MLX backend: the Gemma 4 vision tower, the image prefill and the images field (#47, #48, D-054) #129: the@ModuleInfoand@ParameterInfoproperties (VisionAttention.qProjand the like) and everycallAsFunction. The 32nd isVisionError.description(Vision/VisionError.swift:23, Gemma 4 image preprocessing parity: Pillow's resize and libjpeg-turbo's decode in Swift, bit for bit (#46) #121). InOpenJevServer, it is theextension ChatCompletionsConfigurationblock atChatCompletionsRoute.swift:158(Serve /v1/chat/completions over a TextGenerator: the HTTP and core side of #53 (D-058) #136): itsinit(_:)has a doc comment, and the server's other two extensions of core types carry one on the extension line. The DocC coverage reports flag the same 33; their other entries without an abstract are not declared in the modules' sources (inherited and synthesized members such as Hummingbird'sRequestContextdefaults andCollection's range subscripts, "Implementations" groups, articles and extended-module pages). This pull request changes only the count. Adding those 33 comments, a Swift change, makes the line true again. Generate text, think and chat on the MLX backend: the diffusion sampler, the block loop, think and the chat model (#50, #51, #52, #53, D-059) #137 (open) adds 50 public declarations toOpenJevDiffusionGemma, and the source scan of item 4 finds a doc comment on each (that scan does not see extension blocks)."Extends two core types." docs/development.md lines 380 to 383, and the comment at
Tools/docs/build-site.shline 11, sayOpenJevServerextends two core types, and development.md names the twoinit(_:)it adds. Since Serve /v1/chat/completions over a TextGenerator: the HTTP and core side of #53 (D-058) #136 it also extendsChatCompletionsConfiguration, with a thirdinit(_:).The same "until then" in the workflow. The header comment of
.github/workflows/docs.yml(lines 4 to 6) says the deploy job runs only when GitHub Pages is enabled, and "until then it is skipped, and the run says so."Checks
make lintpasses. It lints Swift, which this pull request does not change, so the fullswift testwas not run.make docson this branch exits 0. The built front page says "All five modules in one index", and itsdocumentation/folder holds the five modules' folders.Tools/docs/**anddocs.yml), CI (files other than Markdown) and Fixtures (the Makefile is in its paths).