Skip to content

Build the site against idfkit 1.0.0-rc.5 - #21

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
bump-idfkit-1.0.0-rc.5
Closed

github-actions[bot] wants to merge 1 commit into
mainfrom
bump-idfkit-1.0.0-rc.5

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

idfkit 1.0.0-rc.5 was released, so
[tool.idfkit.library] and the pinned dependency advance from
1.0.0-rc.4.

Opened automatically by notify-downstream.yml in idfkit. Nobody
asked for it, which is the point: a release that renames a documented
interface makes pages wrong the moment it ships.

The checks on this pull request decide whether the pages survive
the new version.
If they are red, a page describes something this
release no longer has under that name. Fix the page. Do not relax the
check, do not pin the level back, and do not merge past it.

Statements of unavailability this adoption closes

statements surfaced by python 1.0.0-rc.4 -> 1.0.0-rc.5 (governance-2026.17 -> governance-2026.18): 0

None.

The consumer register

Nothing to record: a bump changes nothing the register holds.

samuelduchesne added a commit that referenced this pull request Sep 25, 2026
The bump checks out idfkit-conformance into governance/ to read the consumer
register, then stages everything, so the checkout lands as a gitlink at
a3dddc36 with no .gitmodules entry beside it. Nothing on main has ever carried
it and nothing reads it: the governance tag is pinned in pyproject.toml and
fetched by scripts/_governance_source.py at build time.

Merged as it stood, main would gain a submodule reference that resolves for
nobody, and every later bump would carry it forward. Both open bump pull
requests, #21 and #23, have it, which places the fault in the workflow rather
than in either run.
@samuelduchesne

Copy link
Copy Markdown
Contributor

Superseded by #23, which pins 1.0.0-rc.6. rc.5 was never pinned here and pinning it now would be a step backwards from the released library.

Note for whoever reads this next: this pull request also carried the stray governance gitlink that #23 had, added by the bump workflow's git add after it checks out idfkit-conformance to read the consumer register. It is removed on #23 and the workflow still produces it.

samuelduchesne added a commit that referenced this pull request Sep 25, 2026
* chore: build the site against idfkit 1.0.0-rc.6

* Drop the stray governance gitlink the bump workflow swept in

The bump checks out idfkit-conformance into governance/ to read the consumer
register, then stages everything, so the checkout lands as a gitlink at
a3dddc36 with no .gitmodules entry beside it. Nothing on main has ever carried
it and nothing reads it: the governance tag is pinned in pyproject.toml and
fetched by scripts/_governance_source.py at build time.

Merged as it stood, main would gain a submodule reference that resolves for
nobody, and every later bump would carry it forward. Both open bump pull
requests, #21 and #23, have it, which places the fault in the workflow rather
than in either run.

* Give idfkit.scene a reference page, which rc.6 needs and never had

The strict build fails on 1.0.0-rc.6 with three warnings, all the same one:
idfkit/geometry.py:628 documents translate_to_world by pointing at
idfkit.scene.get_scene, and mkdocstrings cannot resolve a target on a module the
site renders no page for.

idfkit.scene ships publicly. get_scene, Scene, ResolvedSurface, SceneBounds and
the rest are exported from the package root, and every other public module has a
page under api/. This one was missed when geometry extraction landed, so the
corrected resolution shipped to PyPI with its reference unreachable. Principle V
requires the reference to be generated rather than written; here it was not
generated at all.

The page is the ordinary shape: a short description of what the module does and
the mkdocstrings directive. The one thing it says beyond that is where the
resolution came from, because a reader arriving at get_scene from
translate_to_world is owed the reason the two now agree.

Verified: the three autorefs warnings are gone. The local build still reports
cairosvg failures, which are this machine having no cairo installed and not
something this change touches; CI reported exactly the three warnings above and
nothing else.

* Stop the engine-asset gate reporting the search index as a stray binary

The gate failed the strict build with:

  Built site: 70,502,285 bytes, 0 WebAssembly file(s).
  hosts a 8,391,969-byte binary: search/search_index.json

Both lines are from the same run. It found no WebAssembly and then reported a
stray binary, which is the shape of a false positive rather than a finding.

TEXT_SUFFIXES held html, js, css and mjs, so the search index counted as
non-text and fell under LARGE_BINARY_BYTES once it passed 8 MB. mkdocs writes
that file from every page's text, so its size measures how much documentation
the site has. Adding a reference page for idfkit.scene was enough to cross the
threshold, which means the gate was already within one page of firing on any
change that added prose.

The constant's own comment draws the right distinction and the suffix set did
not implement it: the 28 MB generated HTML page is called out as "a real problem
and a different one", and the search index is that same category. Engine bytes
cannot hide behind this: BINARY_SUFFIXES catches .wasm and .wat at any size, and
the size rule is a backstop for something arriving under another name, which
JSON is not.

Verified: the gate passes on the built site and still reports 0 WebAssembly
files.

---------

Co-authored-by: idfkit-bot[bot] <284417662+idfkit-bot[bot]@users.noreply.github.com>
Co-authored-by: Samuel Letellier-Duchesne <sam@carbonsignal.com>
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.

1 participant