release: nightly schema audit - #155
Merged
Merged
Conversation
* 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
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.
Promotes
developtomaster. One commit: the nightly schema audit(#154).
Why this needs to reach master
schema-audit.ymlruns onscheduleandworkflow_dispatch, andGitHub reads both from the default branch only. Until the workflow is on
masterit cannot fire on its own and cannot be dispatched by hand — sothe audit exists but has never run.
What happens on merge
release.ymlfires and, seeing a pending changeset, opens a "VersionPackages" PR for 3.0.1 rather than publishing. Nothing reaches npm until
that PR is merged, and there is no hurry: the change is
patchandalters 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.