Repository navigation
feat(readme-refresh): discover & document reporting/dashboard workflows - #1245
Conversation
Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reached
Next review available in: 55 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (11)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the README refresh prompt and script to support discovering and documenting scheduled reporting and dashboard workflows. It adds a new "Reporting & Dashboards" section to the prompt instructions and updates the fact-gathering script to parse workflow files for a # readme-report: marker. A review comment suggests using the GitHub API's raw media type header instead of decoding base64 content to avoid portability issues with the base64 command on macOS and Linux.
There was a problem hiding this comment.
Pull request overview
Adds first-class discovery and README documentation rules for “reporting/dashboard” workflows by introducing a self-describing # readme-report: <one-line> marker and wiring it into the README refresh facts bundle + prompt.
Changes:
- Extend
gather_factsto emit a new “Reporting & dashboard workflows” section by scanning local.github-privateworkflows and fetching.githubworkflows via API. - Update the README refresh prompt rules to include a “Reporting & Dashboards” section with visibility rules for public vs member-only targets.
- Tag 9 existing reporting workflows in this repo with
# readme-report:markers.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| scripts/aw-readme-refresh.sh | Adds reporting-workflow discovery and facts emission (local + .github via API). |
| prompts/aw/readme-refresh.md | Updates prompt rules to include reporting/dashboard workflows and visibility constraints. |
| .github/workflows/token-report.yml | Adds # readme-report: marker for README discovery. |
| .github/workflows/skill-eval-report.yml | Adds # readme-report: marker for README discovery. |
| .github/workflows/reviewer-report.yml | Adds # readme-report: marker for README discovery. |
| .github/workflows/premature-closure-audit.yml | Adds # readme-report: marker for README discovery. |
| .github/workflows/docs-health-check.yml | Adds # readme-report: marker for README discovery. |
| .github/workflows/daily-pr-review-health.yml | Adds # readme-report: marker for README discovery. |
| .github/workflows/content-twin-audit.yml | Adds # readme-report: marker for README discovery. |
| .github/workflows/auto-rebase-health.yml | Adds # readme-report: marker for README discovery. |
| .github/workflows/actions-fleet-monitor.yml | Adds # readme-report: marker for README discovery. |
Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
donpetry-bot
left a comment
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: MEDIUM
Reviewed commit: 07c26963937fa1a0e9292a5bd175c1c717589ef9
Review mode: triage-approved (single reviewer)
Summary
Confirms the triage assessment: this PR adds README-refresh discovery of reporting/dashboard workflows via an opt-in # readme-report: <one-line> marker. 9 workflow files gain a single comment line each (no behavioral change to any workflow), the readme-refresh prompt gains a "Reporting & Dashboards" rule (with the "never invent" rule extended to reporting workflows), and scripts/aw-readme-refresh.sh gains two discovery loops: a local glob over .github/workflows/*.yml and an API loop over the org .github repo using a sorted --jq list fed to while IFS= read -r with the raw media type header. Both are best-effort (|| true), so fetch failures degrade to fewer facts rather than aborting. I specifically verified that the [ -n "$rdesc" ] && printf pattern as the last loop command cannot trip set -euo pipefail (bash exempts non-final commands in an AND list, and the loop inherits that status safely — confirmed empirically).
Both prior bot review threads (gemini: base64 portability; Copilot: word-splitting/non-deterministic ordering) were addressed in commits 91aeb26 and 07c2696, and both threads are resolved. CodeRabbit approved after re-review. No human-reviewer questions are outstanding.
Minor non-blocking nit: discovery only matches .yml (not .yaml) — acceptable since markers are opt-in and all tagged files use .yml.
Linked issue analysis
No linked closing issues. The PR is a self-contained follow-up to the subtopics work; the companion org-level markers live in combsmith/.github#730, and discovery here is explicitly best-effort until that merges — a sound sequencing decision.
Findings
No blocking findings.
- Workflow file changes are comment-only markers; header constraints in the touched workflows (checkout ref, template-sync exceptions) are untouched.
- Script changes: filenames interpolated into
gh apipaths come from the org's own.githubrepo listing and are properly quoted — no shell-injection surface. - Secret scan: the
run_secret_scanningMCP tool was not available in this session; the gitleaks CI check is green and the diff introduces no credential-like content.
CI status
All substantive checks green: shellcheck (×3), bats, unit-tests, CodeQL, Agent Security Scan, AgentShield, gitleaks, SonarCloud, gh-aw-compile, workflow/agent/persona validation, template-drift, holdout-guard, Lint. Cancelled entries (dev-lead / dispatch, review / review, ci-relay) are superseded runs of the review orchestration itself, not code checks; dependency-audit jobs skipped (no matching ecosystems).
Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ws (#1245) * feat(readme-refresh): discover & document reporting/dashboard workflows Reporting workflows (dashboards and audit reports posted as issues / run summaries for maintainers) were invisible to the README chain — gather_facts sourced repos, standards, agents, and frameworks, but never workflows. Mechanism mirrors the agent pattern (dynamic discovery of self-describing files): a reporting workflow opts in with a `# readme-report: <desc>` marker. - gather_facts now emits a "Reporting & dashboard workflows" facts section, discovering markers in .github-private workflows (local) and .github workflows (via API); both best-effort so a fetch failure never aborts. - Prompt gains rule 5: add a "Reporting & Dashboards" section (full list for the member-only/.github-private READMEs; only .github-tagged entries for the public/.github READMEs). Rule 3 "never invent" extended to reporting workflows. - Tagged the 9 reporting workflows in this repo with markers. .github's 3 org-level reporting workflows are tagged in a companion PR; they appear here once that merges (discovery is best-effort until then). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): fetch .github workflows via raw media type Addresses Gemini review on #1245: the reporting-workflow API fetch used `--jq '.content' | base64 -d`, which is non-portable (macOS base64 uses -D). Switch to `-H "Accept: application/vnd.github.v3.raw"`, matching the standards fetch already in this function. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(readme-refresh): deterministic order for .github reporting discovery Addresses Copilot review on #1245: replace `for wf in $(...)` (word-splitting, SC2046) with a `while IFS= read -r` loop fed by a sorted `--jq` list, so the .github reporting workflows appear in stable order and don't churn the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>



What & why
Follow-up to the subtopics work. Reporting workflows — dashboards and audit reports posted as issues / run summaries for maintainers (Token Cost Report, Skill Eval Report, Reviewer Scorecard, Daily PR Review Health, Actions Fleet Monitor, Docs Health Check, …) — were invisible to the README chain:
gather_factssourced repos, standards, agents, and frameworks, but never workflows.Mechanism (mirrors the agent pattern)
Dynamic discovery of self-describing files: a reporting workflow opts in with a
# readme-report: <one-line>marker. No central registry to drift, no noisy heuristic.gather_factsemits a new Reporting & dashboard workflows facts section, discovering markers in.github-privateworkflows (local) and.githubworkflows (via API). Both best-effort (|| true) so a fetch failure degrades gracefully, never aborts..github-privateREADMEs; only(.github)-tagged entries for the public READMEs. Rule 3 ("never invent") extended to reporting workflows.Scope
Member-only + org (per design decision). The 3 org-level markers live in companion combsmith/.github#730; they surface here once that merges (discovery is best-effort until then).
Validation
bash -n✅🤖 Generated with Claude Code