Skip to content

🌱 Forward-merge v5 into v6 (45 commits) - #12306

Merged
clubanderson merged 46 commits into
v6from
sync/v5-to-v6
Oct 16, 2026
Merged

clubanderson merged 46 commits into
v6from
sync/v5-to-v6

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Forward-merge v5 β†’ v6 (#7563, Track 7), resolved by hand.

The v6 Top-up job (run https://github.com/hivecommons/hive/actions/runs/38870849213, job 116874317657) stopped on this merge with "v5 -> v6 forward-merge conflicts and needs a human (see #7199 for the precedent)". This PR is that merge (git checkout -B sync/v5-to-v6 origin/v6 && git merge --no-ff --signoff origin/v5) with every conflict resolved.

Carries 45 commit(s) from v5 onto v6:

Conflicted files and how each was resolved (20)

  • src/README.md β€” kept v6's Experiment Lab paragraph (links docs/experiment-lab.md) and prepended v5's "Formerly called the Strategy Lab." note.
  • src/docs/api-reference.md β€” took v5's side (adds the GET /api/evidence/summary row); all other conflicts were line-number drift only, so every pkg/<file>:<line> route citation was recomputed against the merged tree (123 rewritten, 0 unresolved).
  • src/docs/dashboard-sections.md β€” kept v6's Experiment Lab text (L3+ visibility, experiment-lab.md link) plus v5's "(formerly the Strategy Lab)" wording.
  • src/docs/dashboard.md β€” merged: v5's fuller deprecated-alias explanation for dashboard.strategy_lab plus v6's link to experiment-lab.md.
  • src/docs/documentation-map.md β€” kept v6 (links experiment-lab.md, which v6 introduced).
  • src/docs/labels-and-control-signals.md β€” union: v6's split-config citations and blocked-by row text, plus v5's needs-human explicit-marker wording, new hive/handoff row, hard-suppress lift on blocked, and the shared-CI rerun sentence; v6's hive-ci-external marker bullet kept. defaults.go citations shifted for the lines ported below.
  • src/docs/operator-reference.md β€” v5's row wording ("Experiment Lab (formerly Strategy Lab)"); the deprecated-alias row is identical on both sides.
  • src/docs/scale-envelope.md β€” RankActionableIssues citation recomputed against the merged client.go (3910-3920).
  • src/docs/strategy-lab.md β€” kept v6's redirect stub; v5's content edits are already in v6's experiment-lab.md.
  • src/hive.yaml.example β€” v6's Experiment Lab comment and docs/experiment-lab.md link, plus v5's "Formerly the Strategy Lab." line.
  • src/internal/testutil/dashboard_import_allowlist.txt β€” union (v6 pkg/escalation + v5 pkg/evidence).
  • src/pkg/config/config.go β€” kept v6's split file (🌱 refactor(config): split v6 config.go into topical files (#9309)Β #9386); v5's SharedCIRerun field auto-merged into Config, and the rest of v5's config.go additions were moved into the topical files: SharedCIRerunConfig β†’ review_config.go; exported DefaultGitHubAPIReserve/Critical and DefaultEvalInterval*/DefaultConserveIntervalMultiplier/DefaultOptionalSweepEveryNCycles plus the bead-synth MaxAPICallsPerCycle default β†’ defaults.go; DefaultProviderBudgetProbeIntervalS β†’ provider_rotation.go; EffectiveAIAuthor now uses the lock-safe GitHubAppAuthoredPRsEnabled() in forge_config.go.
  • src/pkg/dashboard/import_count_test.go β€” union of both comments; ratchet set to 56, the count of distinct internal packages the merged pkg/dashboard actually imports (v6's 55 + pkg/evidence).
  • src/pkg/dashboard/settings_parity_allowlist.txt β€” took v5's removals (the governor sensing/thresholds and review.* keys are now exposed by v5's parity batches carried in index.html).
  • src/pkg/dashboard/static/index.html β€” Experiment Lab hunks kept v6 (v5's were a backport of v6 πŸ› dashboard: give the Experiment Lab configuration dialog breathing roomΒ #12033). Also dropped v5's duplicate backport copies of the .nous-lab-* CSS blocks and the colourless trustSteps. v5's settings-search rows (eval loop pacing, auto-merge label, claims/rotation keywords), Forge App GitHub settings, and eval-loop pacing UI kept.
  • src/pkg/dashboard/status_builder.go β€” same code on both sides; kept v5's explanatory comment.
  • src/pkg/dashboard/status_builder_test.go β€” kept v6 (superset: includes the alias assertion plus TestBuildFrontendStatusPublishesStandbyPauseFacts).
  • src/pkg/dashboard/webstatic/static_index_test.go β€” v6's TestStaticNoStrategyLabCopy ("(nous)" copy) and research-question/type-chip tests, plus v5's TestStaticExperimentLabDialogShell (all its strings are present in the merged index.html). v5's duplicate TestStaticNoStrategyLabCopy was dropped.
  • src/pkg/dashboard/webstatic/style_ratchet_test.go β€” operator index.html baselines set to the merged file's measured counts (style=1568, colors=138, font-size=651, padding=212, border-radius=181).
  • src/pkg/dashboard/webstatic/testdata/settings_search_scenarios.js β€” kept v6's 'experiment_lab' query, which matches v6's two Experiment Lab search rows.

Needs reviewer attention

  • src/pkg/dashboard/webstatic/style_ratchet_test.go: I took these baselines from a re-implementation of the test's regexes, not from running the Go test. If CI reports a count one or two off, set the baseline to the reported number.
  • Changelog fragments: v5's release commits had deleted some changelog.d/ fragments that v6 still had, and the merge carries those deletions (standard merge behaviour, no conflict).

CI is the verdict; the coverage gate has per-package floors that forward-merges sometimes undercut β€” if a package drops below its floor the follow-up is to add tests in that package, not to lower the floor.

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

clubanderson and others added 30 commits October 16, 2026 01:18
…config dialog breathing room (#12236)

Backport of the user-visible parts of v6 #11715 and #12033 to v5.

The Nous βš™οΈ dialog on v5 was still titled "Strategy Lab Configuration"
and rendered its content directly inside the zero-padding dialog shell:
the title, Trust Ladder, section headings, inputs and dividers all ran
flush against the dialog edges. It is now built on the wide fixed-size
modal recipe (.nous-lab-dialog): a sticky header with its own Close Γ—,
the body as the single scroller, a footer for Cancel/Save, every
section a padded card with eyebrow + heading + description, the Trust
Ladder an equal-cell segmented control with tint-based active state
driven by [data-step] rules instead of inline styles, checkbox rows as
real flex rows, Repo Targets as a keyboard-togglable chip list with a
watched-count summary and an empty state, and the ≀768px / landscape
tiers fold rows and the ladder to one column. The overlay moves to the
.config-overlay z-layer so the fixed navbar no longer draws over the
dialog header. Style ratchet baselines go down.

All user-facing copy (sidebar, section header, gear tooltip, settings
toggle, settings search, empty state, docs, hive.yaml.example) now says
"Experiment Lab". Mirroring v6, the config key becomes
dashboard.experiment_lab with dashboard.strategy_lab kept as a
deprecated alias for one release: it enables the panel, logs a one-line
deprecation at load and is folded into the new key so the next save
writes the documented key. /api/status features carries experiment_lab
plus the strategy_lab alias; the SPA gates on experiment_lab.
/api/nous/* and the nous-section id are unchanged.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
#12238)

Agent gh/curl calls relayed by the proxy are recorded into the same
restaccounting store as daemon traffic. Right after a restart some of
those responses carry GitHub's per-IP unauthenticated bucket headers
(X-RateLimit-Limit 60, remaining 10-58). record() trusted them, so
CoreRateLimitSnapshot() reported <60 remaining, APIBudgetMode flipped
normal->critical, and the proxy reserve floor (400) answered every
agent read with 429 plus a one-per-hour 'stop polling GitHub' nudge,
making the scanner abandon GitHub work for the rest of its kick.

Only accept core observations whose limit is above the unauthenticated
60 and, for agent-attributed callers, matches the daemon's own limit.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
… Core remaining) (#12233)

* ✨ dashboard: add hover help to GitHub API budget rows

Explain what "ETag hit rate" and "Core remaining" measure on the GitHub API
budget panel with the same β“˜ portal tooltip the Overview and PRT metric
labels use. Copy mirrors pkg/github/etagcache.go (304 Not Modified via
If-None-Match is free against the core limit; counters are process-lifetime)
and pkg/github/apibudget.go (conserve/critical thresholds).

Signed-off-by: Andrew Anderson <andy@clubanderson.com>

* fix: reword budget tooltip so it does not name hive.yaml leaves

TestSettingsDialogReferencesEveryHiveYAMLLeaf treats a literal
github.api_reserve / github.api_critical in index.html as a Settings UI
reference; those keys stay allowlisted under #11854, so describe the
thresholds in prose instead.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>

---------

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
* ✨ keep unstick steps running in conserve API budget mode

Split optional eval steps into unstick (skipped only in critical) and
enrichment (skipped in conserve) tiers and expose both in api_budget.

Refs #12005

Hive-Run: #12005
Hive-Plan: tiered optional steps (item 2)
Hive-Spec: api-budget#tiered-steps

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
(cherry picked from commit 920cb06)
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* πŸ“ document unstick/enrichment tiers in operator reference

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* πŸ“ drop ungated steps from APIBudgetUnstickSteps

closing_keyword_post_check and reporter_trust run unconditionally; no
code path checks SkipUnstick for them, so listing them in unstick_steps
and the changelog overstated what the budget controls.

Hive-Fix-Attempt: 2/6

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

---------

Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
…#12242)

* ✨ hub: owner-only cross-hive evidence view feeding the Fleet quadrant

Adds the heartbeat evidence summary, GET /api/hub/evidence (admin), and
Trust/Efficiency/Satisfaction criteria derived from it.

Hive-Run: #12080
Hive-Plan: hub evidence view (first slice: payload, endpoint, quadrant criteria)
Hive-Spec: rfc-12062#12080

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* πŸ§ͺ hub: cover GET /api/hub/evidence handler and family sanitizer

Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* πŸ“ docs: refresh hub route citations in api-reference after server.go shift

Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

---------

Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>
Co-authored-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* ✨ feat(evidence): add GET /api/evidence/summary

Read-only aggregate over evidence bundles and reviewer accuracy. No change
to auto-merge behaviour.

Hive-Run: #12063
Hive-Plan: evidence-summary-endpoint
Hive-Spec: evidence-pipeline-rfc#12062

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* πŸ“ docs: refresh api-reference citations after rebase onto v5

Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* 🌱 dashboard: raise internal import ratchet to 46 for pkg/evidence (#12063)

Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* 🌱 evidence summary: document GET /api/evidence/summary in openapi.json and allowlist pkg/evidence import

Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

---------

Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>
Co-authored-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* πŸ› evidence: capture CI conclusion at merge-eligibility time

Hive-Run: #12066
Hive-Plan: evidence pipeline (RFC #12062)
Hive-Spec: evidence#ci-captured-at

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* πŸ› evidence: keep ci.status through the merge-time capture

Review fixes for #12079:
- The merge-time capture replaced the bundle's CI with a summary that
  had no status, so a normally merged bundle ended with ci.status empty.
  evidenceCIFromRuns now derives the gate's verdict from the runs, and
  the merge path keeps the eligibility-time status when one was captured.
- Cover recordReviewEvidenceCI: first capture, write-only-on-change,
  never touching a merged bundle, never starting one, disabled config.
- Document ci.status and the eligibility-time capture in review-evidence.md.

Hive-Run: #12066
Hive-Fix-Attempt: 1/6

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: ci-maintainer <ci-maintainer@hive.kubestellar.io>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* πŸ› evidence: admit ci.status in schema v1 and stop URL-only CI snapshot churn

Review fixes for #12079:
- schema/v1.json declares ci with additionalProperties:false, so every
  bundle carrying the new ci.status failed the published schema. Add
  status (enum success/failure/pending) and set it in the test fixture
  so TestBundleMatchesSchema exercises it.
- sameEvidenceChecks compared URLs, which differ between the GraphQL
  batch source (details_url) and the REST fallback (html_url); a cache
  hit/miss flip between polls resealed the bundle with a new hash.
  Compare on name and conclusion only, with a test.
- Warn when the signing key cannot be loaded before writing the CI
  snapshot unsigned, matching the other evidence writers.

Hive-Run: #12066
Hive-Fix-Attempt: 2/6

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: ci-maintainer <ci-maintainer@hive.kubestellar.io>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* πŸ“ docs: refresh RankActionableIssues citation after client.go shift

Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

---------

Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>
Signed-off-by: ci-maintainer <ci-maintainer@hive.kubestellar.io>
Co-authored-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: ci-maintainer <ci-maintainer@hive.kubestellar.io>
…ate-limit snapshot (#12246)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
…ls.md (#12245)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Expose review.post_comments, event_driven, pending_ttl, max_redispatch, max_reviews_per_head, revise_verdicts_before and the out-of-scope backlog keys in Settings -> Features -> Review gate, add YAML-key hints to the existing review controls, and drop the 21 keys from the settings parity allow-list. List-typed review keys stay yaml-only.

Refs #11854

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
…Mu across fetchPR (#12251)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
* πŸ› Stop task-list sweep hard-parking issues on prose needs-human

Prose remainders now yield the soft hive/handoff label; only the explicit
Refs #N (needs-human: ...) marker applies needs-human.

Hive-Run: #12002
Hive-Plan: issue item 1 (task_list_sweep.go)
Hive-Spec: issue-12002#1

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
(cherry picked from commit 85b4e9f)
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

* docs: document hive/handoff label in labels-and-control-signals

Add the soft hive/handoff row (applied by the task-list sweep from
remainder prose, not a hold or enumeration filter) and note that the
issue needs-human row now applies only via the explicit marker.

Hive-Fix-Attempt: 1/6
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>

---------

Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Signed-off-by: Andrew Anderson <clubanderson@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Automated release commit. Compiles changelog.d/ fragments and moves
the CHANGELOG.md Unreleased section into a dated v5.176.0 entry.
See src/docs/releases.md.

Signed-off-by: hive-release-bot <actions@github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
…r bead synthesizer (#12258)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
#12257)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
…CI incident (#12260)

* feat(github): re-run failed jobs on PRs stamped by a closed shared-CI incident

When a [shared-ci] incident issue closes, re-run the failed jobs of every open PR whose newest <!-- hive-shared-ci-<n> --> marker names it, once per PR per incident (recorded with <!-- hive-shared-ci-rerun-<n> -->). Runs as an unstick step; disable with shared_ci_rerun.enabled: false.

Closes #12253. Refs #12005.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>

* fix: disambiguate ListOptions.Page selector in pagination loop

Signed-off-by: scanner <scanner@hive.kubestellar.io>

---------

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix(github): reuse labelPresent in hasIssueNeedsHumanLabel

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* changelog: fragment for #12256

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: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>

* chore: drop duplicate changelog fragment (bot fragment carries the entry)

Signed-off-by: scanner <scanner@hive.kubestellar.io>

---------

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Signed-off-by: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Automated release commit. Compiles changelog.d/ fragments and moves
the CHANGELOG.md Unreleased section into a dated v5.177.0 entry.
See src/docs/releases.md.

Signed-off-by: hive-release-bot <actions@github.com>
…n lapses (#12261)

* fix(github): lift hive-applied hold/blocked labels once their reason lapses

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>

* fix: disambiguate ListOptions.Page selector in pagination loop

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* docs: refresh RankActionableIssues citation in scale-envelope.md

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* fix: use opts.Page on the plain ListOptions pager in hardSuppressMergedPRSince

Only the IssueListByRepoOptions loop embeds ListOptions; the timeline
pager at hard_suppress_reconcile.go:192 is already a *gh.ListOptions, so
the selector must be opts.Page.

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* fix: vet-clean default-label assertion, allowlist new issues.* settings, valid timestamps in reconcile test fakes

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* docs: use symbolic cites for SHA-hold in labels-and-control-signals (Closes #12265)

Signed-off-by: scanner <scanner@hive.kubestellar.io>

---------

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Automated release commit. Compiles changelog.d/ fragments and moves
the CHANGELOG.md Unreleased section into a dated v5.177.1 entry.
See src/docs/releases.md.

Signed-off-by: hive-release-bot <actions@github.com>
…eatedly reports (#12271)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
#12276)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Automated release commit. Compiles changelog.d/ fragments and moves
the CHANGELOG.md Unreleased section into a dated v5.177.2 entry.
See src/docs/releases.md.

Signed-off-by: hive-release-bot <actions@github.com>
…merge.bot_takeover keys) (#12274)

* feat(dashboard): settings parity batch 6 β€” expose github, good_first_issue and auto_merge.bot_takeover keys

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>

* fix(dashboard): drop direct pkg/gfi import and refresh style ratchet baseline

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* fix(dashboard): use card-inset/subsection-title classes for new GitHub settings panels

TestStyleRatchet: the batch-6 panels added 5 inline style= attributes
(and raw font-size/padding/border-radius) to the operator index.html.
Replace them with the existing card-inset, mt-5 and
settings-subsection-title classes plus a break-all utility, and lower
the stale contributor-landing rawFontSizes baseline to 197.

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* fix(hub): sync components.css mirror with dashboard source

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* fix(dashboard): address review on settings parity batch 6

- github.api_reserve/api_critical: accept 0 as "restore default" and
  compare the critical < reserve bound with the same default substitution
  config.Validate performs at boot, so clearing a field in the Forge App
  tab restores 800/250 instead of returning 400, and an api_critical that
  would fail the next boot is rejected now. Exports
  config.DefaultGitHubAPIReserve/Critical for that.
- Forge App tab: add settingHelpMark docs links to the five numeric
  inputs and three toggles (operator-reference / github-app-setup).
- Good first issue: fix the stale "Scoring knobs ... stay yaml-only" note
  under the new Scorer tuning group; only exclude_labels and repos do.

Hive-Fix-Attempt: 1/6
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>

---------

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
hivecommons-hive Bot and others added 15 commits October 16, 2026 05:38
…backend-auth defects (#12282)

* πŸ› fix(dashboard): don't report inference-blocked agents as hive-code backend-auth defects

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* changelog: fragment for #12282

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: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>

* changelog: drop duplicate non-bullet fragment for #12281

Signed-off-by: scanner <scanner@hive.kubestellar.io>

---------

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Signed-off-by: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Automated pin bump (#8419). Digests recomputed from the downloaded
release artifacts by src/scripts/cli-pin-bump.sh:

  VERSION=0.163.0

Signed-off-by: hive-release[bot] <hive-release@hive.kubestellar.io>
Signed-off-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Co-authored-by: hive-release[bot] <hive-release@hive.kubestellar.io>
Automated pin bump (#8419). Digests recomputed from the downloaded
release artifacts by src/scripts/cli-pin-bump.sh:

  VERSION=1.3.0

Signed-off-by: hive-release[bot] <hive-release@hive.kubestellar.io>
Signed-off-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Co-authored-by: hive-release[bot] <hive-release@hive.kubestellar.io>
Automated pin bump (#8419). Digests recomputed from the downloaded
release artifacts by src/scripts/cli-pin-bump.sh:

  VERSION=2.1.301

Signed-off-by: hive-release[bot] <hive-release@hive.kubestellar.io>
Signed-off-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Co-authored-by: hive-release[bot] <hive-release@hive.kubestellar.io>
…code backend-auth defect (#12289)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
* docs(dashboard): refresh cli_models.go CLI-version comment

Signed-off-by: scanner <scanner@hive.kubestellar.io>

* changelog: fragment for #12291

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: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>

---------

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Signed-off-by: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Automated release commit. Compiles changelog.d/ fragments and moves
the CHANGELOG.md Unreleased section into a dated v5.177.3 entry.
See src/docs/releases.md.

Signed-off-by: hive-release-bot <actions@github.com>
…laims and rotation keys) (#12292)

* [scanner] feat(dashboard): settings parity batch 7 β€” expose governor keys in Settings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>

* fix(dashboard): restore deduped tooltip marks and define yamlHint for governor threshold hints

Signed-off-by: scanner <scanner@hive.kubestellar.io>

---------

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
) (#12297)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
… it (#12299)

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: scanner <scanner@hive.kubestellar.io>
Automated release commit. Compiles changelog.d/ fragments and moves
the CHANGELOG.md Unreleased section into a dated v5.177.4 entry.
See src/docs/releases.md.

Signed-off-by: hive-release-bot <actions@github.com>
Pin src/Dockerfile (agent-go, builder), src/Dockerfile.contributor and
src/Dockerfile.hub to the golang:1.27-alpine index digest whose image
config reports GOLANG_VERSION=1.27.2 on amd64 and arm64. The previous
digest resolved to 1.27.1; govulncheck ./... in src/ reports twelve
reachable standard-library advisories (net/http, http2, httputil,
textproto, crypto/tls, html/template) that 1.27.2 fixes.

Fixes #12301

Signed-off-by: sec-check <sec-check@hive.kubestellar.io>
Co-authored-by: sec-check <sec-check@hive.kubestellar.io>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 16, 2026
@clubanderson
clubanderson merged commit 468480d into v6 Oct 16, 2026
32 of 34 checks passed
@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 kellyaa 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

@clubanderson
clubanderson deleted the sync/v5-to-v6 branch October 16, 2026 08:30
@github-actions

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

@kubestellar-prow kubestellar-prow Bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Oct 16, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: CI pending β€” sweep will merge when green.


🐝 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

@github-actions

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v6

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

No conflicting open PRs or same-file overlaps were found.

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

Labels

copilot dco-signoff: yes Indicates the PR's author has signed the DCO. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants