Skip to content

release: nightly schema audit - #155

Merged
MrRefactoring merged 1 commit into
masterfrom
develop
Jul 20, 2026
Merged

release: nightly schema audit#155
MrRefactoring merged 1 commit into
masterfrom
develop

Conversation

@MrRefactoring

Copy link
Copy Markdown
Owner

Promotes develop to master. One commit: the nightly schema audit
(#154).

Why this needs to reach master

schema-audit.yml runs on schedule and workflow_dispatch, and
GitHub reads both from the default branch only. Until the workflow is on
master it cannot fire on its own and cannot be dispatched by hand — so
the audit exists but has never run.

What happens on merge

release.yml fires and, seeing a pending changeset, opens a "Version
Packages" PR for 3.0.1 rather than publishing. Nothing reaches npm until
that PR is merged, and there is no hurry: the change is patch and
alters nothing for callers — validation stays loose, the published
declarations are byte-identical, and the audit is inert unless
AUDIT_SCHEMAS=true.

Expect the first audit run to be red

It reports 161 undocumented fields across 93 endpoints. That is
Atlassian's spec having fallen behind its own API, not breakage — the
suite itself passes 493/493. Failing on drift was a deliberate choice
over baselining what is already known.

* feat: nightly schema audit against the live API

Adds `audit:schemas` and a nightly workflow that asks a question the
existing live run cannot: not "does the library still work", but "do the
schemas still describe what Confluence actually sends".

Kept as a separate workflow rather than folded into live-tests, because
the two report different things. A field that vanished breaks consumers;
a field that appeared is documentation debt. Mixing them would bury the
first under a pile of the second, and a nightly run nobody reads is worth
nothing.

The report aggregates by field rather than by occurrence, and collapses
array indices and resource ids — `results.0._links.self` and
`results.1._links.self` are one gap in one schema, and
`/attachments/att17105305` names an id that existed for the length of one
run. Without that the summary lists the same finding dozens of times and
cannot be compared between runs.

First run: 161 undocumented fields across 93 endpoints, concentrated —
`_links.base` alone accounts for 77 of them, and thirteen fields cover
most of the rest. The suite itself passes 493/493, so a red run here now
means either real breakage or new drift, and the summary says which.

* chore: add a changeset for the schema audit
@MrRefactoring
MrRefactoring merged commit 3deb39e into master Jul 20, 2026
7 checks passed
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