Skip to content

πŸ› ci: repair v5 baseline (openapi, hermetic promotion test, collapsed-summary assert, style ratchet) - #10612

Merged
clubanderson merged 4 commits into
v5from
fix/feedback-login-regexp
Oct 5, 2026
Merged

clubanderson merged 4 commits into
v5from
fix/feedback-login-regexp

Conversation

@clubanderson

@clubanderson clubanderson commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Repairs the remaining v5 baseline failures after this morning's red merges (the regexp lookahead panic from #10593 was fixed separately in #10617; this PR is rebased on top of it).

  1. πŸ› feedback: attribute dashboard feedback issues to the submitterΒ #10593 registered GET /api/feedback/status without documenting it β†’ TestOpenAPISpecCoversEveryRegisteredRoute. Added the entry to dashboard/openapi.json.
  2. πŸ› release: make stable chase candidate by 24 hoursΒ #10587 TestStableNextPromotionAtUnknownWhenNothingQueued hit live GHCR/GitHub β†’ stubbed ghcrTagGeneration and stablePromotionFetchRuns so the test is hermetic.
  3. ✨ dashboard: add collapsed project repo pillsΒ #10616 rewrote the collapsed-summary condition to cover repos-section β†’ updated TestAgentsCollapsedSummaryRendersPerAgentTiles's expected string.
  4. 🌱 dashboard: make hive-vs-human a throughput tileΒ #10622 added raw padding:1px 16px 1px 6px β†’ TestStyleRatchet (230 > 229). Tokenized to --sp-*; lowered the font-size baseline 667 β†’ 666 as the ratchet demands.

Refs #10639 (v5 branch protection only requires gate, so these landed red).

@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign clubanderson for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Changelog: this PR changes code but carries no changelog entry
(no changelog.d/ fragment and no CHANGELOG.md edit).

If it is user-visible β€” a feature, a fix an operator would notice, a
security change, a migration, a deprecation, or anything breaking β€”
please add a fragment file changelog.d/<category>-<pr-or-slug>.md
containing exactly your entry (see changelog.d/README.md; the
category is one of added/changed/deprecated/fixed/security). Please
do not append to CHANGELOG.md's ## Unreleased directly β€” that
shared section is the merge-conflict generator fragments replaced
(#5675). If it is a refactor, a test-only change, or dependency
churn, no entry is needed and you can ignore this.

This is a reminder, not a gate; it never blocks a merge.

@kubestellar-prow kubestellar-prow Bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Oct 5, 2026
clubanderson added a commit that referenced this pull request Oct 5, 2026
Generated by changelog-fragment-guard from the PR title (#5675).
Edit the wording freely, or replace this file with the no-changelog
label if the change is not user-visible.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: clubanderson <407614+clubanderson@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

PR Title Relation Files
#10632 ✨ dashboard: Agents sidebar link + up-next agent tiles in top navbar same files src/pkg/dashboard/agent_collapsed_tiles_test.go
src/pkg/dashboard/static/index.html
#10602 ✨ feat: label-driven repos skip un-park notice and keep needs-human same files changelog.d/fixed-10612.md
dashboard/openapi.json
src/changelog.d/fixed-v5-baseline-openapi-and-promotion-test.md
src/pkg/dashboard/agent_collapsed_tiles_test.go
src/pkg/hub/heartbeat_upgrade_policy_test.go
#10638 πŸ› dashboard: Overview open-issue/PR totals explain their gap to the forge counts same files src/pkg/dashboard/static/index.html
#10619 ✨ dashboard: move project actions to toolbar same files src/pkg/dashboard/static/index.html
#10589 πŸ› fix: route reporter-trust waits through poller relay same files dashboard/openapi.json
src/pkg/dashboard/agent_collapsed_tiles_test.go
src/pkg/dashboard/static/index.html
src/pkg/dashboard/webstatic/style_ratchet_test.go
#10618 ✨ Improve collapsed Advisory and ACMM headers same files dashboard/openapi.json
src/pkg/dashboard/agent_collapsed_tiles_test.go
src/pkg/dashboard/static/index.html
src/pkg/dashboard/webstatic/style_ratchet_test.go
#10611 πŸ› dashboard: remove unlabelled collapsed sparklines CONFLICT src/pkg/dashboard/agent_collapsed_tiles_test.go
src/pkg/dashboard/webstatic/style_ratchet_test.go
#10606 ✨ dashboard: upgrade bee animation in the top navbar; sidebar pill no longer clips same files src/pkg/dashboard/static/index.html
#10613 ✨ dashboard: Review Queue collapsed row shows a priority-split history sparkline same files src/pkg/dashboard/static/index.html
#10614 ✨ dashboard: Audit Log collapsed row shows entry rate, last entry, today's count and sensitive-action chip same files src/pkg/dashboard/static/index.html
#10594 πŸ§ͺ test: restore pkg/github coverage floor after reporter-trust wait same files changelog.d/fixed-10612.md
dashboard/openapi.json
src/changelog.d/fixed-v5-baseline-openapi-and-promotion-test.md
src/pkg/dashboard/agent_collapsed_tiles_test.go
src/pkg/hub/heartbeat_upgrade_policy_test.go
#10640 πŸ› dashboard: surface alerts section at top of page same files src/pkg/dashboard/static/index.html
#10604 πŸ› hub dashboard: NPS section header matches sibling section styling same files dashboard/openapi.json
src/pkg/dashboard/agent_collapsed_tiles_test.go
src/pkg/dashboard/static/index.html
src/pkg/dashboard/webstatic/style_ratchet_test.go
src/pkg/hub/heartbeat_upgrade_policy_test.go
#10633 ✨ dashboard: expose Wavefront (Crustify) work source in settings same files src/pkg/dashboard/static/index.html

@github-actions github-actions Bot added the conflicts-with-open-pr Open PR has a merge conflict with another open PR label Oct 5, 2026
@clubanderson clubanderson changed the title πŸ› feedback: drop unsupported regexp lookahead that panicked at init πŸ› ci: restore green v5 baseline (regexp lookahead, openapi parity, hermetic promotion test) Oct 5, 2026
@kubestellar-prow kubestellar-prow Bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Oct 5, 2026

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conclusion: the three fixes look correct to me and this is the PR that should land to restore the v5 baseline. One body claim is inaccurate (low impact), and #10617 conflicts on the same lines.

Read: src/pkg/dashboard/feedback.go:80, src/pkg/hub/feedback.go:378, src/pkg/hub/heartbeat_upgrade_policy_test.go:210-219, and the dashboard/openapi.json entry. The ghcrTagGeneration / stablePromotionFetchRuns hooks are the existing package vars, so stubbing them makes TestStableNextPromotionAtUnknownWhenNothingQueued hermetic as described.

Body vs. code (low): the body says the new regexp was "verified same acceptance set". It is not quite: the original's {0,38} bounded single characters (39-char cap); the replacement (?:-?[A-Za-z0-9]){0,38} bounds 2-char iterations, so e.g. a-a-a-…-a at 77 characters now matches (checked with Go's regexp; a 40-char aaaa… is still rejected). Consequence is just an over-long @mention in a feedback issue β€” the character class stays tight, so nothing injectable β€” but the claim should be corrected or the cap enforced outside the regexp as #10617 does (len(strings.TrimSuffix(login, "[bot]")) > 39).

Conflict, not duplicate: #10617 rewrites the same two declarations with a different pattern plus an explicit length check and tests. It also carries ~830 unrelated lines for #10615, so I've recommended there that this PR merge first and #10617 rebase down to the length cap + tests. If a maintainer agrees, nothing further is needed here.

relative links and anchors resolve fails identically on v5; #10608 addresses it, as the body notes.

β€” hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88

@kubestellar-prow kubestellar-prow Bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 5, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor

hive/awaiting-ci: pushed cdc8627 β€” refreshes the 259 src/docs/api-reference.md line citations that #10593's new api.go route shifted (the relative links and anchors resolve job runs check-api-reference-citations.sh). With #10616's test follow-up already on this branch, this PR now carries every v5-baseline fix (RE2 regexp panic in pkg/dashboard + pkg/hub, /api/feedback/status OpenAPI entry, collapsed-summary assertion, citation drift). CI pending β€” sweep will merge when green. #10608 becomes redundant once this lands.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: unknown

β€” hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

clubanderson and others added 4 commits October 5, 2026 12:47
Generated by changelog-fragment-guard from the PR title (#5675).
Edit the wording freely, or replace this file with the no-changelog
label if the change is not user-visible.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: clubanderson <407614+clubanderson@users.noreply.github.com>
…motion test

Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
…chet to 666

Signed-off-by: Andy Anderson <andy@clubanderson.com>
@clubanderson
clubanderson force-pushed the fix/feedback-login-regexp branch from 1ae7ce3 to 2237fe9 Compare October 5, 2026 16:48
@clubanderson clubanderson changed the title πŸ› ci: restore green v5 baseline (regexp lookahead, openapi parity, hermetic promotion test) πŸ› ci: repair v5 baseline (openapi, hermetic promotion test, collapsed-summary assert, style ratchet) Oct 5, 2026
@kubestellar-prow kubestellar-prow Bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Oct 5, 2026
@github-actions github-actions Bot added the conflicts-with-open-pr Open PR has a merge conflict with another open PR label Oct 5, 2026
@clubanderson
clubanderson merged commit 6552932 into v5 Oct 5, 2026
62 of 66 checks passed
@clubanderson
clubanderson deleted the fix/feedback-login-regexp branch October 5, 2026 17:00

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conclusion: the four repairs do what the body says and look correct to me. Two small things to fix before merge, both verified:

  1. Stale changelog fragment. changelog.d/fixed-10612.md reads "feedback: drop unsupported regexp lookahead that panicked at init (#10612)" β€” but this PR contains no regexp change (the body itself says that landed in #10617). This is the guard's title-generated autofix from before the rebase. changelog.d/ is the directory the fragment guard reads (changelog-fragment-guard.yml:51,156), so this is the text that will ship in the changelog. Suggest rewriting it to describe what's actually here (openapi entry, hermetic promotion test, collapsed-summary assert, style tokenization) β€” or move the content of src/changelog.d/fixed-v5-baseline-openapi-and-promotion-test.md into it, since that one already says the right thing.

    • Open question for a maintainer: is src/changelog.d/ still read by anything? It has 91 entries on v5 while the guard only watches changelog.d/**; if it's legacy, the new fragment there is dead.
  2. gofmt β€” src/pkg/dashboard/webstatic/style_ratchet_test.go:31 changed rawFontSizes: 667, β†’ rawFontSizes: 666, and lost the column alignment; gofmt -l flags the file. Not CI-blocking (no gofmt gate in v2-ci.yml/v2-tests.yml that I could find), just a one-space fix.

What I checked:

  • heartbeat_upgrade_policy_test.go:213-219 β€” ghcrTagGeneration (channel_targeting.go:204) and stablePromotionFetchRuns (stable_promotion.go:145) are both package-level var … = func on v5, so the stub/restore pattern compiles and is hermetic. Correct approach; note #10589 removes the lookup from stableNextPromotionAt instead, so the two conflict and a maintainer should pick one.
  • agent_collapsed_tiles_test.go:35 β€” the expected string matches what #10616 put in visualSectionSummary.
  • index.html:1413 β€” padding:1px 16px 1px 6px β†’ var(--sp-1) var(--sp-6) var(--sp-1) var(--sp-3) removes the raw-padding hit; rawPadding baseline stays 229.
  • dashboard/openapi.json β€” /api/feedback/status GET entry added; field names match #10593's status payload as described in the body.

I have not changed anything on this PR.

β€” hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

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

Labels

conflicts-with-open-pr Open PR has a merge conflict with another open PR dco-signoff: yes Indicates the PR's author has signed the DCO. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant