Skip to content

Say the DocC site has five modules, not four - #139

Merged
alaineid merged 2 commits into
mainfrom
docs-docc-five-modules
Oct 6, 2026
Merged

alaineid merged 2 commits into
mainfrom
docs-docc-five-modules

Conversation

@alaineid

@alaineid alaineid commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Docs only. Tools/docs/build-site.sh builds 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.sh line 26 is modules=(OpenJevCore OpenJevServer OpenJevDiffusionGemma OpenJevEncoders OpenJevLetterReadout). #107 (issue #64) created the script and wrote "four"; #122 (issue #55, JevK5) added OpenJevLetterReadout and 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

  • Was: "All four modules in one index"
  • Now: "All five modules in one index"
  • Evidence: https://algorythm-canada.github.io/OpenJevSwift/ answers 200 and shows five module cards (OpenJevCore, OpenJevEncoders, OpenJevLetterReadout, OpenJevDiffusionGemma, OpenJevServer), then, under "Start here", "All four modules in one index". The page that link opens, documentation/, lists five: the live data/documentation.json names exactly OpenJevCore, OpenJevDiffusionGemma, OpenJevEncoders, OpenJevLetterReadout and OpenJevServer. Merging this redeploys the site, since Tools/docs/** is in the Documentation workflow's paths.

2. docs/09-conformance-and-testing.md (line 365)

  • Was: "Documentation workflow: build the four modules' DocC catalogs into one site on macOS [...]"
  • Now: "Documentation workflow: build the five modules' DocC catalogs into one site on macOS [...]"
  • Evidence: build-site.sh line 26, and lines 70 to 76, which fail the build when any of the five lacks its page.

3. docs/development.md (line 357)

  • Was: "one generate-documentation call over the four targets with --enable-experimental-combined-documentation [...]"
  • Now: "one generate-documentation call over the five targets with [...]"
  • Evidence: build-site.sh lines 50 to 62 pass one --target for each module of line 26, five in all, to one generate-documentation call.

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/OpenJevLetterReadout has a doc comment, by three checks:

    1. The check this paragraph names: 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 !=(_:_:), two localizedDescription, hash(into:), hashValue, init(rawValue:), rawAttachmentValueRepresentation, makeFromRawAttachmentValue(_:), and the actor's assertIsolated, assumeIsolated, preconditionIsolated and two withSerialExecutor(_:)).
    2. The symbol graph that build wrote: 96 public symbols have a location in Sources/OpenJevLetterReadout, and all 96 have a doc comment. The 20 members above have no location there.
    3. A scan of the sources: every public declaration (explicit public or open, 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)

  • Was: "It builds the four modules' DocC catalogs into one site with Tools/docs/build-site.sh [...]"
  • Now: "It builds the five modules' DocC catalogs into one site with [...]"
  • Evidence: as in 2.

6. docs/development.md (lines 625 and 626), the deploy job

  • Was: "[...] and Deploy to GitHub Pages runs only when it does; until then that job is skipped and the run carries a notice."
  • Now: "[...] and Deploy to GitHub Pages runs only when it does; otherwise that job is skipped and the run carries a notice."
  • Evidence: curl -s -o /dev/null -w '%{http_code}' https://algorythm-canada.github.io/OpenJevSwift/ prints 200, and ghp api repos/Algorythm-Canada/OpenJevSwift/pages reports build_type: workflow. The Documentation run for d25223a on main (run 37486332329) ran Check GitHub Pages, Build the documentation and Deploy to GitHub Pages, all successful. The condition and the notice are still what the pages and deploy jobs of docs.yml do; only "until then", which said Pages was not on yet, changes.

7. .github/workflows/docs.yml (line 70), a comment

  • Was: "# The four archives, each transformed for static hosting under /OpenJevSwift/, merged into"
  • Now: "# The five archives, each transformed for static hosting under /OpenJevSwift/, merged into"
  • Evidence: as in 3, one archive for each target.

8. Makefile (line 68), not in the original list

  • Was: "# Build the DocC documentation of the four library modules into one static site at"
  • Now: "# Build the DocC documentation of the five library modules into one static site at"
  • Why it is here: the sweep below found it. It is the comment on make docs, which runs build-site.sh.

The sweep

grep -rn -i -E "four (library )?(modules|targets|archives|catalogs)|all four modules" over the repository, without .build, Upstream and .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

Checks

  • make lint passes. It lints Swift, which this pull request does not change, so the full swift test was not run.
  • make docs on this branch exits 0. The built front page says "All five modules in one index", and its documentation/ folder holds the five modules' folders.
  • This pull request runs Documentation (Tools/docs/** and docs.yml), CI (files other than Markdown) and Fixtures (the Makefile is in its paths).
  • No em dashes. Each changed line is no longer than before.

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

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

🟡 Changes recommended

The coverage claim remains false, and equivalent stale deployment wording remains in the workflow header.

Review effort: Balanced
Findings: 2 Low severity

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.

Comment thread docs/development.md Outdated
Comment thread docs/development.md
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>
@alaineid
alaineid merged commit 70d0126 into main Oct 6, 2026
7 checks passed
@alaineid
alaineid deleted the docs-docc-five-modules branch October 6, 2026 16:21
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.
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