Skip to content

render_parity_page.py renders from a local checkout where its two siblings render at the pinned tag #26

Open

Description

@samuelduchesne

What happens

Running the three governance renderers in sequence, two of them name the tag they read and one names a path:

rewrote docs/explanation/parity.md from /Users/.../idfkit-conformance/governance/parity.toml (35 capabilities)
rewrote docs/explanation/naming-map.md from governance/naming.toml at governance-2026.22 in /Users/.../idfkit-conformance (275 entries)
rewrote docs/explanation/consumers.md from governance/consumers.toml at governance-2026.22 in /Users/.../idfkit-conformance (9 consumers)

render_naming_map.py and render_consumers_page.py read at governance-2026.22. render_parity_page.py read the working tree.

Why it matters

The parity page is the one that states, for every capability, which languages have it. It is the artifact Principle III exists to produce. Rendered from a working tree, it can assert a capability state that no tag carries.

The failure is silent and local. My checkout happened to sit on a branch that touches tools/ and not governance/, so the output was correct, and I only noticed because the three lines disagreed about what they had read. A contributor whose conformance checkout sits on a branch with parity.toml edits would render unreleased state, check-generated-pages would compare the page against that same tree and pass, and the difference would only surface in CI, which checks out at the tag.

That last part is the mitigation and the reason this is not urgent: CI is correct today. It is the local loop that can produce a page nobody can reproduce.

Suggested fix

Have render_parity_page.py read through scripts/_governance_source.py at [tool.idfkit.governance] level, as the other two do, and print the tag it read. If a local-tree mode is wanted for developing against an uncut level, make it an explicit flag that announces itself, which is the pattern idfkit/src/idfkit/codegen/generate_epw_sentinels.py uses for --ref and the parity gate uses for --governance-dir.

Seen on

2026-09-24, while advancing the pins to governance-2026.22 for #24.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions