Skip to content

πŸ› competitor report: stop the publication gate rejecting Discord formatting (2026-11-09 report missing) - #17705

Merged
hivecommons-hive[bot] merged 2 commits into
v5from
fix/competitor-report-discord-gate
Nov 11, 2026
Merged

hivecommons-hive[bot] merged 2 commits into
v5from
fix/competitor-report-discord-gate

Conversation

@clubanderson

Copy link
Copy Markdown
Member

Problem

The Discord "Hive weekly competitor report - 2026-11-09" never appeared. The scheduled run https://github.com/hivecommons/hive/actions/runs/42622204563 ran, the agent produced a full report, but the safe_outputs job failed at Validate source grounding before any report publication:

Competitor report grounding FAILED: ValueError: ValueError('Discord and GitHub reports differ (ledger belongs only on GitHub)')

so post_to_discord was skipped (the add_comment to #14613 was also withheld).

Root cause

#16251 (merged 2026-11-02 20:39Z, after the 11-02 run at 13:04Z) added competitor_report.py validate, which required the Discord message to be byte-identical to the GitHub visible report. The prompt in weekly-competitor-report.md tells the agent the opposite: bold headings instead of ###, the "Who does what" table as a fenced code block (Discord has no Markdown tables), <url> links, and no "Sources and queries" <details> on Discord. The agent followed the prompt; the gate rejected it. 11-09 was the first scheduled run with the gate, so it was guaranteed to fail.

Fix

  • check_discord_matches() normalises the Discord-only formatting the prompt asks for (headings β†’ bold, <url> / Markdown links β†’ bare URL, drop <details>), then requires the prose outside the "Who does what" section to match after whitespace collapsing.
  • The "Who does what" section is checked structurally: GitHub must have a Markdown table, Discord a fenced block containing every project from the GitHub table, and every note under the GitHub table must appear in the Discord section.
  • Replayed the real 11-09 agent_output.json artifact through the new check: passes. Fixture updated (GitHub ### + Markdown table, Discord bold + fenced block + Owners note) and three regression tests added (allowed formatting differences; prose drift rejected; dropped project / dropped note rejected).
  • docs/weekly-competitor-report.md updated to describe the gate.

No change to the .md prompt or .lock.yml, so no recompile needed.

Follow-up

After merge, a workflow_dispatch catch-up run will post this week's report.

Refs #14613

…formatting

The 2026-11-09 scheduled run (actions/runs/42622204563) failed in the
safe_outputs grounding step with 'Discord and GitHub reports differ'. The
validator added in #16251 required byte-equal bodies, while the prompt asks
the agent to format the Discord post differently (bold headings, the project
table as a fenced code block, <url> links, no Sources details). Normalise
those differences before comparing prose, and check the Discord table by
project names and notes instead.

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 Nov 11, 2026
@clubanderson

Copy link
Copy Markdown
Member Author

/lgtm

@clubanderson

Copy link
Copy Markdown
Member Author

/approve

@kubestellar-prow

Copy link
Copy Markdown
Contributor

@clubanderson: you cannot LGTM your own PR.

Details

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@kubestellar-prow kubestellar-prow Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Nov 11, 2026
@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 Nov 11, 2026
@github-actions

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.

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

@hivecommons-hive
hivecommons-hive Bot merged commit 19479a3 into v5 Nov 11, 2026
81 of 82 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the fix/competitor-report-discord-gate branch November 11, 2026 17:09
@hivecommons-hive

Copy link
Copy Markdown
Contributor

Hive status β€” updated in place; edits do not notify. Full history is in the Activity Monitor.

Evidence bundle `#17705ea9b321` sha256:d23d11229bf3ee6961d659ad35d54b75155e50867c153e45008660f4ade20a41 β€” download from the dashboard or `hivectl review evidence #17705`.

@hivecommons-hive

Copy link
Copy Markdown
Contributor

merged by Hive trusted-author auto-merge: author @clubanderson holds role owner and GitHub permission admin on repo; CI green at ea9b321.

@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

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. dco-signoff: yes Indicates the PR's author has signed the DCO. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant