You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs: one-page how-it-works guide for the Hub team, and trim the Hub guides - #711
We are handing this generator over to the Hub team. The existing guides are long and written for the people who built the generator. This PR gives the Hub team one short page to start from, shortens the three Hub guides, and adds one rule about coverage floors.
What to look at
docs/how-it-works.md (new): one page. What runs, what you will see in Slack and on PRs, a "when X happens, do Y" table, who owns what, and a glossary. The ownership split is a proposal: please check it first.
README.md: the top box sends the Hub team to the new page and says the rest is for people changing the generator.
The three Hub guides are shorter. PR check guide: about 3,975 to 2,645 words. The nightly and coverage guides shrank less, because most of what is in them is what a Hub engineer reads.
AGENTS.md, configs/camunda-hub/coverage-floors.json (the $comment only), and the coverage and PR-check guides: a floor may be lowered by exactly what a deliberate skip for a tracked Hub bug removes, with the Hub issue linked. The PR that re-enables the test raises it back.
What changed
Docs only. No code, workflow or config values change.
Detail that only the people who built the generator need (how the PR check is built, the workflow dependencies, how the weekly report job runs) was removed from the guides. It is not moved to a docs/maintainers/ folder: an earlier version of this PR did that, and the folder was dropped on purpose.
File names and the anchors used by code and tests are unchanged: #adding-or-changing-an-endpoint-in-hub-do-you-need-a-generator-pr, #keeping-track-of-pending-generator-fixes, #closing-a-gap.
I could not run vitest with the default config in my environment: its global spec-drift check fails there (pinned baseline mismatch), unrelated to Markdown. The tests that mention these docs only assert URL strings in code. I checked all anchors between the docs by script.
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. 1 out of 2 committers have signed the CLA.
✅ esraagamal6 ❌ claude You have signed the CLA already but the status is still pending? Let us recheck it.
… define both generator-gap outcomes
Two open review threads:
- The pin bump command in the PR-check guide is the Hub-specific merge
order, but `npm run bump-spec-pin` defaults to camunda-oca
(scripts/bump-spec-pin.ts, configs.json), so following it literally
moved the wrong pin. It now passes `--config camunda-hub`.
- The glossary defined a generator gap only as a wrong generated test,
while the "Unmapped operation" entry says a new endpoint with no test
is also reported as a generator gap. The definition now names both
outcomes, so the two entries no longer disagree.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012DmUo6ubcUqqVwM6kJGHDj
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The new overview contains two misleading statements about coverage gaps and spec-pin updates.
0 open findings
Previously missed (2)
In code that hasn't changed since last review
Clarify coverage gaps can fail invariants without failing API tests
docs/how-it-works.md:79
This is too broad: an unmapped operation or a response/request coverage gap can fail this repository's response coverage does not regress invariant (and the PR-check job's coverage step), even though it does not fail a generated API test. Clarify that distinction so readers do not treat coverage gaps as incapable of affecting CI.
Clarify that alerts open bump PRs rather than moving pins directly
docs/how-it-works.md:82
The alert itself does not move the pin. Clean drift opens a bump PR, and the pin changes only when that PR is merged; blocked or failed checks leave it unchanged. The current wording contradicts the three outcomes documented earlier on this page.
Clarify coverage gaps can fail checks without API-test failures
docs/how-it-works.md:80
This overstates the meaning of a coverage gap. An unmapped operation makes _hub-suite-run.yml exit nonzero, and a floor regression fails the response coverage does not regress invariant, even though neither is a generated API-test failure. Distinguish the API-test result from the coverage gates so readers do not infer that gaps can never make checks red.
Clarify pin changes require merging the spec-bump PR
docs/how-it-works.md:83
The alert does not move the pin itself. The spec-bump workflow opens or updates a draft PR, and the pin changes only after a person merges that PR, as the action table above correctly explains.
hub-ondemand-test calls _hub-suite-run.yml, which generates and runs the live suites plus the unmapped-operation check; it never invokes the Layer-3 invariant tests. Claiming that this run validates invariants can make reviewers skip the separate CI/Vitest invariant check.
The parenthetical is not true for all bot-created Hub PRs: hub-reenable-check.sh adds only nightly-api-fix, while spec-bump-open-pr.sh adds spec-drift and auto-generated. Those Hub-scoped PRs can therefore lack hub, so the ownership checklist should tell the team to add it when automation did not.
Clarify tracked bugs may still count as nightly failures
docs/hub-nightly-cookbook.md:14
A tracked Hub bug can still be a failing nightly test until its suppress PR is merged; the known-issue row below explicitly covers that case and may link a newly opened suppress PR. Only bugs already represented by a merged skip or partial-check entry are excluded from the failure count, so the blanket statement is misleading.
Use the full Hub PR image reference via HUB_IMAGE
docs/hub-pr-check-cookbook.md:163
HUB_IMAGE_TAG is expanded by docker/start-hub.sh to camunda/hub:pr-<sha>, but Hub PR images are published as registry.camunda.cloud/team-hub/hub-restapi-self-managed:pr-<sha> (the same full ref used by hub-pr-check.yml). Following this command therefore pulls the wrong repository instead of the PR image. Pass the full image through HUB_IMAGE.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Several operational statements conflict with the workflows, including invariant execution, spec-bump updates, and automated labeling.
0 open findings
Previously missed (3)
In code that hasn't changed since last review
Hub automation PRs and issues may lack the hub label
docs/how-it-works.md:63
The automation does not consistently add hub: re-enable PRs are created with only nightly-api-fix (hub-reenable-check.sh:221-226), while Hub spec-bump PRs and issues receive spec-drift and auto-generated only (spec-bump-open-pr.sh:136-137, spec-bump-report.sh:116-120). As written, Hub work can be omitted from hub-label views unless someone adds the label manually.
Open bump PRs can become stale without an update
docs/hub-nightly-cookbook.md:147
Later spec-bump runs do not update an open bump PR. spec-bump-open-pr.sh:43-62 explicitly leaves it unchanged to preserve reviewer edits, then considers fresh drift only after that PR is merged or closed. The current wording may make reviewers assume an old open PR contains the latest upstream changes.
On-demand Hub tests omit the Layer-3 invariant suite
docs/hub-pr-check-cookbook.md:86
hub-ondemand-test does not run the Layer-3 invariant suite. Its reusable workflow generates and runs the live suites and checks coverage.json for unmapped operations (_hub-suite-run.yml:262-344); the invariant Vitest command exists only in CI (ci.yml:268-273). Saying this run validates invariants can lead reviewers to merge without that check.
#711 (the docs rewrite this branch was stacked on) was squash-merged to
main as a single new commit, so main and this branch carried the same
doc changes under different SHAs. That is what made the PR un-mergeable.
Resolution:
- docs/how-it-works.md, hub-pr-check-cookbook.md, hub-nightly-cookbook.md,
hub-response-coverage-report.md: kept this branch's version. Its content
is #711's final docs plus this branch's ping edits; a diff of main vs this
branch confirmed the only delta is the intended ping/wording changes, so
nothing from #711 is lost.
- .github/workflows/spec-bump-check.yml: combined both independent
additions to the drift-alert text — main's "View run" link (RUN_URL) and
this branch's hub-medic ping (HUB_MEDIC). Both env vars are now passed and
both appear in the Slack text.
- All other files auto-merged (main's oca config, materializer, triage
scripts and new tests alongside this branch's changes).
Validation: biome check clean; 711 tests pass across tests/triage and
tests/request-validation with CONFIG=camunda-hub, including the spec-pin
global setup, the PR-check ping tests, and the spec-bump run-link test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HDibXpu9gUa1QVj38Qzn2x
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
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.
In plain words
We are handing this generator over to the Hub team. The existing guides are long and written for the people who built the generator. This PR gives the Hub team one short page to start from, shortens the three Hub guides, and adds one rule about coverage floors.
What to look at
docs/how-it-works.md(new): one page. What runs, what you will see in Slack and on PRs, a "when X happens, do Y" table, who owns what, and a glossary. The ownership split is a proposal: please check it first.README.md: the top box sends the Hub team to the new page and says the rest is for people changing the generator.AGENTS.md,configs/camunda-hub/coverage-floors.json(the$commentonly), and the coverage and PR-check guides: a floor may be lowered by exactly what a deliberate skip for a tracked Hub bug removes, with the Hub issue linked. The PR that re-enables the test raises it back.What changed
docs/maintainers/folder: an earlier version of this PR did that, and the folder was dropped on purpose.#adding-or-changing-an-endpoint-in-hub-do-you-need-a-generator-pr,#keeping-track-of-pending-generator-fixes,#closing-a-gap.Details
🤖 Generated with Claude Code
https://claude.ai/code/session_01G3526HsTZMmihMi94p34Pr