Skip to content

🌱 sync: top up v5 into v6 (31 commits since f0307339f) - #12903

Merged
clubanderson merged 67 commits into
v6from
sync/v5-to-v6
Oct 19, 2026
Merged

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

Conversation

@hivecommons-hive

@hivecommons-hive hivecommons-hive Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

The automated v6 Top-up workflow on v5 (run https://github.com/hivecommons/hive/actions/runs/39115606063) stopped with "v5 -> v6 forward-merge conflicts and needs a human". This PR is the manual forward-merge it asked for: git checkout -B sync/v5-to-v6 origin/v6 && git merge --no-ff --signoff origin/v5 (31 v5 commits since merge-base f0307339f), conflicts resolved, merge commit DCO-signed. Precedents: #7199, #8854, #8886, #12835.

No new changelog fragment: the 31 v5 commits already carry theirs.

Conflicted files (49) and how they were resolved

Policy mirrors (30 files) — src/policies/{architect,ci-maintainer,guide,scanner,sec-check,strategist}-*.md and their src/pkg/policies/defaults/ mirrors. v6 reworded the park bullet (hive-open-issue comment … --needs-decision); v5 renamed the issue park stage 085 → stage/045-needs-decision (#12856) and added the "Owner rule for Hive-authored issues" paragraph (#12852). Resolution keeps v6's wording with the 045 label plus v5's owner rule and needs-human bullet. Each hunk was resolved by a script that asserted the expected base/ours/theirs shape. src/policies/*.md and src/pkg/policies/defaults/*.md are byte-identical (checked with cmp; only README differs, as on v6).

src/pkg/config/config.go — v6 split this file. Kept v6's config.go and ported v5's hunks into the split files:

  • project_config.go: AgentIssueDecisionPolicy, ProjectAgentIssueDecision*, EffectiveAgentIssueDecisionPolicy.
  • review_config.go: AutoMergeConfig.ContributorTier, ContributorTierAutoMergeConfig and its default/Effective…/Validate, and the MigrateReviewFixHumanPRs comment/log wording.
  • validate.go had already auto-merged.

Dashboard Go/JS (bands.go, api_hive_advice.go, overview_status.go, overview_export_9102_test.go, static/index.html) — kept v6's structure (v6 removed the advisor Blocked/NeedsDecision/Discussing fields and redesigned the parked band) and ported 045:

  • Issue waiting labels are now needs-human, stage/045, stage/085 (pre-045), needs-direction, needs-decision, needs-spec, blocked, identical in Go, the REPO_ISSUE_BAND_DEFAULTS copy in index.html, the test, and the dashboard.md example.
  • prHumanGateLabels uses prNeedsDecisionLabel.
  • Outside breakdown text names 045.

src/pkg/scheduler/kickmessage.go — v6's refsOnly ...bool signature combined with v5's prListItemsForAgent (held PRs in reviewer kicks, #12873).

src/pkg/github/*:

  • client.go: v6 RepoWorkIssue fields + v5 Children.
  • issue_unpark_command.go: v6 implementation (configured parking labels, blocked, /hive done, renderUnparkLabelDrivenReply), with v5's pre-045 stage/085 (legacyIssueNeedsDecisionStageLabel) added to issueParkingLabels/unparkRemovableLabels, and comments updated to 045.
  • issue_request_watcher.go: v6 issueOwnerStepBody wrapping v5's createBody (decision downgrade). The owner-step marker is applied only when the park was not downgraded. v5's agent_issue_decision_policy gate (✨ Let Hive agents resolve non-risk engineering questions instead of parking issues #12852) was also extended to v6's comment --needs-decision park path via a new issueDecisionDowngradeForComment: under the default resolve policy a Hive-authored non-risk comment no longer adds the park label or the owner-step marker and instead records the decision in the comment. v6's comment-park tests were pinned to escalate so they keep asserting the park; new tests cover the downgrade. The changelog fragment changed-agent-issue-decision-policy.md was reworded to name the comment path.
  • issue_request_needs_decision_test.go: union of v6 comment-park tests and v5 resolve-policy tests. v5's helper was adapted to v6's []issueCreatePayload server.

bin/contributor-relay.js:

  • advanceActiveHub: v6's two-pass open-socket preference, with v5's hubHasSelectedWork as the eligibility test.
  • auth_ok: v6 declareStandby(hub) followed by v5's repo-scope negotiation.

Docs (dashboard.md, dashboard-sections.md, labels-and-control-signals.md, maintainer-commands.md, running-at-level-6.md, scale-envelope.md, design/agent-turn-model.md) — kept v6 text and folded in v5's 045 rename, the decision-policy paragraph, and the DCO-rehome wording. Line citations follow v6's split file layout; scale-envelope.md RankActionableIssues was re-pointed to client.go:4096-4106. server.go was not touched, so the API-reference citation fixer was not needed.

Small follow-on edits tied to the merge

  • dashboard/ownership.go: the decision parking bucket also matches stage/085-needs-decision. Without this, a 085 PR, which v6 read as a parked decision, would fall through to "gated by label" once the default bucket became 045. This also keeps the existing "waiting labels = parking labels + blocked" test invariant.
  • dashboard/bands.go issueLabelChip: a pre-045 085 issue shows the DECISION chip.
  • bin/contributor-relay.js maybeAskActiveHubForWork: new STANDBY_MODE early return. It bridges v6's declareStandby with v5's repo-scope negotiation so the repo_scope_ack and profile-reload paths cannot leak a ready from a standby relay (v6's guard lived only in auth_ok).
  • github/issue_request_watcher.go issueDecisionDowngradeForCreate / issueDecisionDowngradeForComment: a request carrying a typed owner step (req.OwnerStep != nil, a v6 concept) is never downgraded, because it proposes an action only an owner can take.
  • github/issue_request_watcher.go removeDecisionParkLabels: now iterates a dedicated issueDecisionParkLabels list instead of issueParkingLabels. v6 added blocked to issueParkingLabels, so the v5 downgrade helper would otherwise strip blocked before the reserved-label check and silently accept a stage/045-needs-decision + blocked label request that both branches refuse on their own. Regression tests: TestIssueRequestWatcher_LabelDowngradeKeepsBlockedReserved, TestRemoveDecisionParkLabelsKeepsOwnerHolds.

Needs reviewer attention

  • src/pkg/github/issue_request_watcher.go: the comment --needs-decision downgrade, the owner-step exemption and the removeDecisionParkLabels narrowing above are behaviour changes written during the merge rather than on either branch. The comment-path downgrade changes v6's default comment-park behaviour for Hive-authored non-risk questions (it matches what v5 ✨ Let Hive agents resolve non-risk engineering questions instead of parking issues #12852 does on the issue and label paths); reviewers who prefer v6's unconditional park should say so.
  • src/pkg/dashboard/ownership.go / bands.go: the stage/085 handling described above is new code written during the merge.
  • src/pkg/config/project_config.go / review_config.go: these are hand-ported from v5's monolithic config.go.

Not run locally: CI validates. Only gofmt -l (clean) and node --check bin/contributor-relay.js were run.

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

clubanderson and others added 30 commits October 18, 2026 01:38
Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
…ct HIVE_REPO_SCOPE docs (#12854)

FindHive returned the first NormalizeHiveID error for any candidate, so a
single legacy profile with a compose/k8s-style host (ws://hive_hub:8080)
made EnsureHive fail for every unrelated onboarding target. Legacy profiles
that cannot normalize can never match a canonical origin; skip them.

hivectl.md described HIVE_REPO_SCOPE as ';'-joined IDs, but the projection
joins per-hub entries with ',' (aligned with HIVE_HUB) and repositories
within one hub with ';'. Document the real on-disk form with a valid
four-segment example.

Refs #12804

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Owner decision: issues must not park at stage/085-needs-decision any
more. Add the issue-side stage stage/045-needs-decision (between 040 and
the PR stages) and make 085 PR-only.

- stagelabels: IssueNeedsDecision (045, issue-only); NeedsDecision (085)
  PR-only; Stage.For clamps 085 -> 045 for issues; leaving 045 is never a
  regression; StageBySlugFor for the shared slug.
- issue derivation: needs-human and every park label derive 045, never
  085; a stale 085 is swapped for 045 in the same write
  (NeedsDecisionRestaged). PR derivation untouched (still 085, never 045).
- un-park (/hive approve, /hive decision) clears 045 and a pre-045 085,
  adds approved-direction, keeps needs-human (#12715).
- one-shot startup sweep MigrateIssueNeedsDecisionStage re-stages open
  issues still wearing 085 (issues only; PRs and the 085 definition are
  left alone), marker /data/issue-needs-decision-stage-v1.done.
- config default NeedsDecisionLabel -> 045, PRNeedsDecisionStageLabel ->
  085; hard-suppress bucket, gfi exclusions, label relay (agents may add
  either park; reconcilers clamp by kind), dashboard bands/presets/
  tracker (045 lights Actionable with 'Needs human decision', counts as
  needs-attention), docs and ADR-0019 amendment.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
…iffs and opt-in follow policy (#12853)

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: hanthor <5840441+hanthor@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ls (#12860)

Decision B on #12787. The busy-no-activity stall restart (#12523) runs at
2x busy_no_activity_threshold, but the kick_failed_repeatedly self-report
fired at 1x, so fleet issues were filed for stalls that then recovered on
their own.

The restart loop now marks the attempt on the AgentProcess before the
teardown resets the busy counters; markKickUndeliverableLocked only
observes the class while that marker is set (or when the restart itself
errors), and a delivered kick clears both the marker and the tracker
condition. The 30m condition stays a dashboard busy condition and a
warning log line.

Fixes #12787

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
…ever mark them stalled (#12863)

A parent the scanner split into relay-filed children (native GitHub
sub-issues) sat at stage/010-actionable after every child had merged,
then got stage/stalled because its own timeline was quiet, and had to
be closed by hand (#12361).

The enumerator now keeps GitHub's sub_issues_summary off the list
payload (next to issue_dependencies_summary) and falls back to the
split-parents ledger and a new <!-- hive:parent N --> body marker the
relay writes into each child it links. The issue stage sweep reads
it: all children closed -> re-read live, strip stage/* labels, close
the parent as completed with one budgeted comment naming each child
and its closing PR; any child open -> keep the stage, never stalled,
existing stage/stalled removed. Parents never go to stage/090.

Fixes #12857

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
…arking issues (#12852)

* ✨ Let Hive resolve non-risk issue decisions

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

* 📖 Refresh issue ranking citation

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

* 🐛 Keep retired decision labels refused

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

* 🐛 Keep issue decision policy in client constructor

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

* 🐛 Downgrade legacy issue park stage requests

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

* 🐛 Update issue-stage guard tests

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

* ✅ Cover decision policy branches

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

---------

Signed-off-by: Andy Anderson <andy@clubanderson.com>
* docs: document HIVE_REPO_SCOPE in env-var references

The rows planned in the closed-by-sweep PR were never added. Closes the
remaining gap on the repository-selection issue.

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

* changelog: fragment for #12867

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>

---------

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Fixes #12819

Require hive fix-pr pushes to carry matching Signed-off-by trailers, distinguish hive-authored unsigned DCO commits from contributor/unknown commits, and route already-adopted PRs to in-place rewrite or re-home repair accordingly.

Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
…ub/workflows/ (#12872)

canPushToPRBranch chose in-place adoption from head identity and maintainer_can_modify alone. GitHub rejects an App-token push that creates or updates a workflow file without the workflows permission, so a base-sync across a .github/workflows/ change was undeliverable. Compare head...base first and supersede when workflows changed or the compare fails (#6985 stays open).

Fixes #12865

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
…e false positives (#12861)

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
…promotion (#12877)

The contributor-lane merged-history ratchet ran for any author the
registry/claim path had not admitted, including one the operator had set
to the revoked tier, and its revert check only looked at the author's own
PR titles, so PRs a maintainer later reverted still counted as clean.

Skip the ratchet when the registry tier is revoked, and index merge-commit
SHAs and quoted titles from every merged revert PR in the window so a
reverted history blocks promotion the way the audit comment says it does.

Fixes #12874

Signed-off-by: sec-check <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: sec-check <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* 🐛 fix(escalation): require independent shared-CI control

Hive-Run: tuna-os#2
Hive-Plan: Upstream repo-wide CI control
Hive-Spec: escalation-circuit-breaker#shared-ci-control
Signed-off-by: James Reilly <jreilly1821@gmail.com>

* 🧪 test(escalation): keep staleness fixture PR-local

Use a distinct failing check on the human PR so the staleness test does not intentionally trigger the new independent-control shared-CI classification.\n\nHive-Run: tuna-os#2\nHive-Plan: Upstream repo-wide CI control\nHive-Spec: escalation-circuit-breaker#shared-ci-control

Signed-off-by: James Reilly <jreilly1821@gmail.com>

---------

Signed-off-by: James Reilly <jreilly1821@gmail.com>
…d head (#12879)

* 🐛 fix(stage-labels): post the 085/090 entry comment once per stage and head

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>

* 🐛 fix(stage-labels): give once-per-head entry comment test a head the verdict stub recognises

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>

---------

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

  VERSION=18.12.1
  SHA256_AMD64=16181401e616d7d895bae31fa97476f1513d4080807d60d3a1a04006191a1bb3
  SHA256_ARM64=16545d7e747b31dbc66f2bcd63f24f12dc1dc7e944767b09b0df6591bf826a93

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>
…2884)

When a revisit was in flight and its TTL expired, the planner cleared every pending entry for the head and re-kicked the full perspective set. Expiry already drops only the timed-out entries, so keep the rest and re-ask only the missing perspectives.

Closes #12883

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Hive-Run: #12821
Hive-Plan: issue-12821 offline-grace example correction
Hive-Spec: StageLabelsConfig#EffectiveContributorGraceOffline

Signed-off-by: Karibhou <157208370+Karibhou@users.noreply.github.com>
Co-authored-by: Karibhou <157208370+Karibhou@users.noreply.github.com>
Negotiate per-Hive repository selections before polling and decline stale or unknown assignments before credentials or quota accounting. Expose unsupported subscriptions in hivectl and preserve legacy projections.

Hive-Run: #12806
Hive-Plan: issue-12806-relay-scope
Hive-Spec: issue-12570#4

Signed-off-by: Karibhou <157208370+Karibhou@users.noreply.github.com>
Co-authored-by: Karibhou <157208370+Karibhou@users.noreply.github.com>
Co-authored-by: hivecommons-hive[bot] <280983584+hivecommons-hive[bot]@users.noreply.github.com>
…at (#12886)

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
… per self sweep (#12895)

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
…et (#12896)

The Tagged Release workflow's 'Compile changelog.d fragments' step rejects
changelog.d/changed-repo-scope-env-rows.md because a fragment must begin
with a '- ' entry bullet. Prefix the single entry so the release derivation
on v5 goes green again.

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Co-authored-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
Signed-off-by: Andy Anderson <andy@clubanderson.com>
* 🐛 fix(review): stop unsafe contributor follow-up pushes

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

* 🐛 fix(review): keep non-app review prompts comment-only

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

---------

Signed-off-by: Andy Anderson <andy@clubanderson.com>
Forward-merge of the v5 commits that landed after the #12903 merge base
(v5.186.0–v5.186.4). Conflicts:

- src/pkg/config/config.go: v6 split this file; v5's FixHumanPRs /
  FixHumanPRsEnabled comment rewording (#12897) ported into review_config.go.
- src/go.sum: x/net 0.61.0 + x/text 0.43.0 from v5; `go mod tidy` pulled
  x/sync 0.24.0 as x/net's requirement.
- src/pkg/review/dispatch_test.go: both-added tests kept (v6
  TestRejectVerdictProducesHold, v5
  TestPlanDispatchFixesKnownHiveNormalizedAggregateDespiteStaleHumanHold).
- changelog.d/changed-agent-issue-decision-policy.md: deleted (released in
  v5.186.0); the v6-only comment-path extension gets its own fragment.

Also folds in the docs-currency review on #12903: hive-open-issue.md,
agent-configuration.md and operator-reference.md now name the
`comment --needs-decision` path and the typed owner-step exemption.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
v6 moved 12 commits while #12903 was open. Conflicts in
src/pkg/review/review.go and collect_merge_test.go: v5's
retainsOverIncomplete guard (#12909/#12914) and v6's FirstRecordedAt
preservation (#12960) both live in CollectAndMerge; kept both, the
incomplete-coverage `continue` runs before the first-recorded carry-over.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 19, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author
750b523

ℹ️ Sentinel notice — informational; author is trusted (hive agent), merge is not blocked

Hive flagged this PR (author @hivecommons-hive[bot], head 750b5239b70a) because it matches behaviors that can override security controls, escalate privileges or damage the codebase. This is a heuristic, not an accusation — a maintainer should confirm the change is intended before it merges.

  • sensitive_path — changes 55 sensitive path(s) (Touches a sensitive path (OWNERS, workflows, policies, hive config, security docs, …))
    • .github/workflows/coverage-hourly.yml
    • src/Dockerfile
    • src/Dockerfile.contributor
    • src/go.mod
    • src/pkg/policies/defaults/architect-full.md
    • src/pkg/policies/defaults/architect-holdgated.md
    • src/pkg/policies/defaults/ci-maintainer-advisory.md
    • src/pkg/policies/defaults/ci-maintainer-full.md
    • src/pkg/policies/defaults/ci-maintainer-holdgated.md
    • src/pkg/policies/defaults/ci-maintainer.md
    • src/pkg/policies/defaults/dedupe-issues.md
    • src/pkg/policies/defaults/guide-full.md
    • src/pkg/policies/defaults/guide-holdgated.md
    • src/pkg/policies/defaults/guide-issues.md
    • src/pkg/policies/defaults/guide.md
    • src/pkg/policies/defaults/outreach-full.md
    • src/pkg/policies/defaults/quality-full.md
    • src/pkg/policies/defaults/quality-holdgated.md
    • src/pkg/policies/defaults/quality-measured.md
    • src/pkg/policies/defaults/scanner-advisory.md
    • src/pkg/policies/defaults/scanner-automerge.md
    • src/pkg/policies/defaults/scanner-full.md
    • src/pkg/policies/defaults/scanner-holdgated.md
    • src/pkg/policies/defaults/scanner-issues.md
    • src/pkg/policies/defaults/scanner.md
    • src/pkg/policies/defaults/sec-check-full.md
    • src/pkg/policies/defaults/sec-check-holdgated.md
    • src/pkg/policies/defaults/strategist-full.md
    • src/pkg/policies/defaults/strategist-holdgated.md
    • src/pkg/policies/source_sync_test.go
    • src/policies/architect-full.md
    • src/policies/architect-holdgated.md
    • src/policies/ci-maintainer-advisory.md
    • src/policies/ci-maintainer-full.md
    • src/policies/ci-maintainer-holdgated.md
    • src/policies/ci-maintainer.md
    • src/policies/dedupe-issues.md
    • src/policies/guide-full.md
    • src/policies/guide-holdgated.md
    • src/policies/guide-issues.md
    • src/policies/guide.md
    • src/policies/outreach-full.md
    • src/policies/quality-full.md
    • src/policies/quality-holdgated.md
    • src/policies/quality-measured.md
    • src/policies/scanner-advisory.md
    • src/policies/scanner-automerge.md
    • src/policies/scanner-full.md
    • src/policies/scanner-holdgated.md
    • src/policies/scanner-issues.md
    • src/policies/scanner.md
    • src/policies/sec-check-full.md
    • src/policies/sec-check-holdgated.md
    • src/policies/strategist-full.md
    • src/policies/strategist-holdgated.md

Hive did not add the sentinel-alert label because this author is trusted. The finding remains recorded for audit and the dashboard Security tab; set sentinel.trusted_authors_block: true to require the blocking label for trusted authors too.

@hivecommons-hive hivecommons-hive Bot added stage/050-review-pending Review swarm requested; awaiting a verdict for the current head stage/070-fixing Hive-authored PR: CI red, changes requested or needs rebase; a hive agent is fixing it and removed dco-signoff: yes Indicates the PR's author has signed the DCO. stage/085-needs-decision A human decision is owed: sentinel alert, hold/needs-decision label, human-only rule or parked issue stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 19, 2026
The v5->v6 merge bumped golang.org/x/sync to v0.24.0 in src/go.mod; the
NOTICE drift check compares byte-for-byte, so update the two version lines.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 19, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: pushed ce00e9b refreshing NOTICE (golang.org/x/sync v0.23.0 → v0.24.0, the only drift reported by NOTICE matches the module graph). The probot DCO action_required is the usual forward-merge state (31 upstream v5 commits); the merge commit itself is signed. 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

@hivecommons-hive hivecommons-hive Bot added stage/050-review-pending Review swarm requested; awaiting a verdict for the current head and removed dco-signoff: yes Indicates the PR's author has signed the DCO. stage/070-fixing Hive-authored PR: CI red, changes requested or needs rebase; a hive agent is fixing it labels Oct 19, 2026
@clubanderson

Copy link
Copy Markdown
Member

Hub-admin audit of this forward-merge (same method as #12835), plus the top-up the owner asked for.

Audit of the agent's merge 2f25ee393 (parents v6 09eb3c29e / v5 8a65ee422): git merge-tree of the parents vs the merge differs in 52 files = the 49 conflict files + config/project_config.go, config/review_config.go, dashboard/ownership.go. The two config files are the hand-port from v5's monolithic config.go into v6's split files — verified symbol-for-symbol (AgentIssueDecisionPolicy, ProjectAgentIssueDecision*, ContributorTierAutoMergeConfig, DefaultContributorTierAutoPromoteAfterMerged = 5); ownership.go is the documented stage/085 bucket addition. src/policies/*.md ↔ pkg/policies/defaults/*.md identical. Docs citations: 1342 verified.

Decision on the open requires_human question (as hub admin, for @clubanderson): the agent_issue_decision_policy=resolve downgrade does apply to the v6 comment --needs-decision path. The merged full-tier policies tell agents to park via hive-open-issue comment … --needs-decision, so without it #12852's owner rule would never fire on v6's primary route. It uses the same !class.Escalate semantics as v5's issue/label paths (consistent, not a new fail-open class); typed --step-kind owner steps are exempt and always park. The ci-maintainer's "fail closed on unclassified text" request is a cross-path policy change that belongs on v5 first — filed as a follow-up rather than widening this merge further.

Top-up pushed to this branch (v5 had moved 28 commits, v6 12):

  • 4217e9732 merge of v5 90f63e8ad (--no-ff -s): conflicts in config/config.go (FixHumanPRs comment rewording [scanner] review-fix kick pushes bot-signed commits onto contributor PRs, which 'Sign-off survives the squash' rejects #12897 ported into review_config.go), go.sum (x/net 0.61.0, x/text 0.43.0; go mod tidy pulled x/sync 0.24.0 as x/net's requirement), review/dispatch_test.go (both added tests kept), the released changed-agent-issue-decision-policy.md fragment deleted and a v6-only fragment changed-12903-comment-needs-decision-policy.md added for the comment-path extension. Also folds in the docs-currency review: hive-open-issue.md, agent-configuration.md, operator-reference.md now name the comment path and the owner-step exemption.
  • 750b5239b merge of v6 5a129354b: review.go/collect_merge_test.go — v5's retainsOverIncomplete guard and v6's FirstRecordedAt carry-over both kept in CollectAndMerge.
  • Head now contains both origin/v5 and origin/v6 tips (0 behind each).

Local gates at head: TestShippedTemplatesFitUnderCap ok; coverage vs floors — agent 88.9/88, dashboard 86.9/84, github 90.2/88, automerge 90.3/90, hub 88.8/87, scheduler 93.5/90, review 94.2/80, config 90.6/90, decisionpolicy 96.6/90. CI: 54 pass, only arm64 build still running; probot DCO red is the usual forwarded-commit artefact (prow dco passes).

/lgtm
/approve

@kubestellar-prow kubestellar-prow Bot added the lgtm Indicates that a PR is ready to be merged. label Oct 19, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

LGTM label has been added.

DetailsGit tree hash: ed717a13cec4a987bdd1e80ef0e54bc885266f81

@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: clubanderson

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

The pull request process is described 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 approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 19, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author
ce00e9b

ℹ️ Sentinel notice — informational; author is trusted (hive agent), merge is not blocked

Hive flagged this PR (author @hivecommons-hive[bot], head ce00e9b7eab2) because it matches behaviors that can override security controls, escalate privileges or damage the codebase. This is a heuristic, not an accusation — a maintainer should confirm the change is intended before it merges.

  • sensitive_path — changes 55 sensitive path(s) (Touches a sensitive path (OWNERS, workflows, policies, hive config, security docs, …))
    • .github/workflows/coverage-hourly.yml
    • src/Dockerfile
    • src/Dockerfile.contributor
    • src/go.mod
    • src/pkg/policies/defaults/architect-full.md
    • src/pkg/policies/defaults/architect-holdgated.md
    • src/pkg/policies/defaults/ci-maintainer-advisory.md
    • src/pkg/policies/defaults/ci-maintainer-full.md
    • src/pkg/policies/defaults/ci-maintainer-holdgated.md
    • src/pkg/policies/defaults/ci-maintainer.md
    • src/pkg/policies/defaults/dedupe-issues.md
    • src/pkg/policies/defaults/guide-full.md
    • src/pkg/policies/defaults/guide-holdgated.md
    • src/pkg/policies/defaults/guide-issues.md
    • src/pkg/policies/defaults/guide.md
    • src/pkg/policies/defaults/outreach-full.md
    • src/pkg/policies/defaults/quality-full.md
    • src/pkg/policies/defaults/quality-holdgated.md
    • src/pkg/policies/defaults/quality-measured.md
    • src/pkg/policies/defaults/scanner-advisory.md
    • src/pkg/policies/defaults/scanner-automerge.md
    • src/pkg/policies/defaults/scanner-full.md
    • src/pkg/policies/defaults/scanner-holdgated.md
    • src/pkg/policies/defaults/scanner-issues.md
    • src/pkg/policies/defaults/scanner.md
    • src/pkg/policies/defaults/sec-check-full.md
    • src/pkg/policies/defaults/sec-check-holdgated.md
    • src/pkg/policies/defaults/strategist-full.md
    • src/pkg/policies/defaults/strategist-holdgated.md
    • src/pkg/policies/source_sync_test.go
    • src/policies/architect-full.md
    • src/policies/architect-holdgated.md
    • src/policies/ci-maintainer-advisory.md
    • src/policies/ci-maintainer-full.md
    • src/policies/ci-maintainer-holdgated.md
    • src/policies/ci-maintainer.md
    • src/policies/dedupe-issues.md
    • src/policies/guide-full.md
    • src/policies/guide-holdgated.md
    • src/policies/guide-issues.md
    • src/policies/guide.md
    • src/policies/outreach-full.md
    • src/policies/quality-full.md
    • src/policies/quality-holdgated.md
    • src/policies/quality-measured.md
    • src/policies/scanner-advisory.md
    • src/policies/scanner-automerge.md
    • src/policies/scanner-full.md
    • src/policies/scanner-holdgated.md
    • src/policies/scanner-issues.md
    • src/policies/scanner.md
    • src/policies/sec-check-full.md
    • src/policies/sec-check-holdgated.md
    • src/policies/strategist-full.md
    • src/policies/strategist-holdgated.md

Hive did not add the sentinel-alert label because this author is trusted. The finding remains recorded for audit and the dashboard Security tab; set sentinel.trusted_authors_block: true to require the blocking label for trusted authors too.

@clubanderson
clubanderson merged commit b69e47c into v6 Oct 19, 2026
79 of 81 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the sync/v5-to-v6 branch October 19, 2026 15:22
@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

@hivecommons-hive hivecommons-hive Bot removed role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. author/hive This repository's own hive (the App or one of its agent lanes) authored this PR copilot dco All commits are DCO signed-off lgtm Indicates that a PR is ready to be merged. 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.

4 participants