Skip to content

fix: address sync review followups - #1996

Closed
stranske wants to merge 1 commit into
mainfrom
sync-review-comments-1836
Closed

fix: address sync review followups#1996
stranske wants to merge 1 commit into
mainfrom
sync-review-comments-1836

Conversation

@stranske

@stranske stranske commented May 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • clarify draft keepalive disposition comments when no checklist items exist or ready-for-review conversion fails
  • remove unused App-token, checkout, setup-api-client, and write permissions from the autofix dispatcher
  • keep source/template/docs aligned for the consolidated Gate follow-up path

Validation

  • node --test .github/scripts/tests/keepalive-orchestrator-gate-runner.test.js
  • python scripts/validate_workflow_yaml.py .github/workflows/agents-autofix-dispatcher.yml templates/consumer-repo/.github/workflows/agents-autofix-dispatcher.yml
  • python scripts/validate_template_sync.py

Addresses sync-generated review feedback from stranske/Inv-Man-Intake#351.

Copilot AI review requested due to automatic review settings May 4, 2026 08:36
@stranske
stranske temporarily deployed to agent-high-privilege May 4, 2026 08:36 — with GitHub Actions Inactive
@stranske-keepalive

stranske-keepalive Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Automated Status Summary

Head SHA: 9c72fdd
Latest Runs: ⏳ pending — Gate
Required contexts: Gate / gate, Health 45 Agents Guard / guard
Required: core tests (3.12): ⏳ pending, core tests (3.13): ⏳ pending, docker smoke: ⏳ pending, gate: ⏳ pending

Workflow / Job Result Logs
(no jobs reported) ⏳ pending

Coverage Overview

  • Coverage history entries: 0

Failure triage

Detected failure types: pytest.

  • error_type: pytest
    root_cause: Pytest reported failing tests.
    suggested_fix: Inspect failing tests in health-76-codex-cli-freshness.yml and fix the regression or update expectations.
    relevant_files: health-76-codex-cli-freshness.yml
    playbook_url: docs/INTEGRATION_GUIDE.md#scenario-1-tests-failing

Updated automatically; will refresh on subsequent CI/Docker completions.


Keepalive checklist

Scope

No scope information available

Tasks

  • No tasks defined

Acceptance criteria

  • No acceptance criteria defined

@stranske
stranske temporarily deployed to agent-high-privilege May 4, 2026 08:39 — with GitHub Actions Inactive
@stranske
stranske temporarily deployed to agent-standard May 4, 2026 08:39 — with GitHub Actions Inactive
@stranske
stranske temporarily deployed to agent-standard May 4, 2026 08:40 — with GitHub Actions Inactive

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: be026b7405

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

owner,
repo,
prNumber,
labels: [NEEDS_ATTENTION_LABEL, NEEDS_HUMAN_LABEL, PAUSE_LABEL],

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve explicit keepalive pause labels on draft recovery

When a draft PR is auto-converted to ready, this cleanup set removes agents:paused unconditionally along with routing labels. If a maintainer intentionally applied agents:paused to stop keepalive activity, this path silently unpauses the PR and allows later automation rounds to resume against operator intent. Consider only clearing pause when provenance indicates automation added it, or leave pause untouched and clear only agent:needs-attention/needs-human.

Useful? React with 👍 / 👎.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses sync-review follow-ups by simplifying legacy autofix dispatch handling, improving keepalive draft-disposition behavior and messaging, and updating workflow documentation to reflect the consolidated Gate follow-up path.

Changes:

  • Simplify agents-autofix-dispatcher.yml (and its consumer template) to a no-permissions acknowledgement step, removing checkout/App token minting and the legacy workflow dispatch.
  • Enhance keepalive Gate runner draft handling: scope checklist evaluation to Tasks/Acceptance sections, improve disposition comments/reasons, clear routing labels after draft conversion, and reduce duplicate comment scanning.
  • Update workflow docs to describe the consolidated autofix/keepalive flow (but some updated doc statements are currently inconsistent with actual workflow behavior).

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
templates/consumer-repo/.github/workflows/agents-autofix-dispatcher.yml Removes write permissions/App token/checkout and leaves an informational acknowledgement for consolidated autofix handling.
templates/consumer-repo/.github/scripts/keepalive_orchestrator_gate_runner.js Refines draft disposition logic (scoped checklist parsing, improved comments, label cleanup, comment scanning helper).
docs/WORKFLOW_GUIDE.md Updates workflow inventory descriptions for consolidated autofix flow and maintenance workflows.
docs/ci/WORKFLOWS.md Updates CI/workflow topology documentation for consolidated autofix and related maintenance/health workflows.
.github/workflows/agents-autofix-dispatcher.yml Same dispatcher simplification as the consumer template.
.github/scripts/keepalive_orchestrator_gate_runner.js Same keepalive draft disposition improvements as the consumer template.
.github/scripts/tests/keepalive-orchestrator-gate-runner.test.js Adds/updates tests to cover the new draft-disposition paths and comment/GraphQL edge cases.

}

if (typeof github.paginate?.iterator !== 'function') {
return hasExistingDraftDispositionComment(await loadIssueComments());
}

if (typeof github.paginate?.iterator !== 'function') {
return hasExistingDraftDispositionComment(await loadIssueComments());
Comment thread docs/ci/WORKFLOWS.md

* Gate's `summary` job now emits the consolidated PR comment, uploads `gate-summary.md`, and publishes `gate-coverage.json` / `gate-coverage-delta.json` for downstream consumers.
* [`maint-sync-env-from-pyproject.yml`](../../.github/workflows/maint-sync-env-from-pyproject.yml) keeps `pyproject.toml`, templates, and `requirements.lock` aligned to the canonical `autofix-versions.env` file.
* [`maint-sync-env-from-pyproject.yml`](../../.github/workflows/maint-sync-env-from-pyproject.yml) syncs dev tool versions from `pyproject.toml` to `autofix-versions.env` after Dependabot merges.
Comment thread docs/ci/WORKFLOWS.md
* [`maint-51-dependency-refresh.yml`](../../.github/workflows/maint-51-dependency-refresh.yml) regenerates `requirements.lock` using `uv pip compile`, validates tool-pin alignment, and opens a refresh pull request when dependency updates are detected (dry-run friendly).
* [`maint-39-test-llm-providers.yml`](../../.github/workflows/maint-39-test-llm-providers.yml) verifies LLM provider API keys (GitHub Models, OpenAI) are configured correctly for task completion analysis.
* [`maint-sync-env-from-pyproject.yml`](../../.github/workflows/maint-sync-env-from-pyproject.yml) syncs `pyproject.toml`, templates, and direct `requirements.lock` pins from the canonical `autofix-versions.env` file after source pin changes land.
* [`maint-sync-env-from-pyproject.yml`](../../.github/workflows/maint-sync-env-from-pyproject.yml) syncs dev tool version pins from `pyproject.toml` to `autofix-versions.env` after Dependabot updates land.
Comment thread docs/ci/WORKFLOWS.md
@@ -186,7 +186,6 @@ Scheduled health jobs keep the automation ecosystem aligned:
* [`health-73-template-completeness.yml`](../../.github/workflows/health-73-template-completeness.yml) validates that consumer-intended workflows exist in the template directory and sync manifest - prevents workflows from being added to .github/workflows/ without being synced to consumer repos (PR, push on workflow/template changes).
* [`health-74-template-drift.yml`](../../.github/workflows/health-74-template-drift.yml) checks for drift between main workflows and their consumer repo templates - warns when templates are significantly out of sync with their source workflows (PR, push on workflow/template changes).
* [`health-75-api-rate-diagnostic.yml`](../../.github/workflows/health-75-api-rate-diagnostic.yml) monitors API rate limit utilization across PATs and GitHub Apps - alerts when usage exceeds 85% and provides load balancing analysis (scheduled every 4 hours, manual dispatch).
Comment thread docs/ci/WORKFLOWS.md
Comment on lines 156 to 159
* [`agents-dedup.yml`](../../.github/workflows/agents-dedup.yml) detects duplicate issues using semantic similarity analysis and posts findings as a comment.
* [`agents-verify-to-issue-v2.yml`](../../.github/workflows/agents-verify-to-issue-v2.yml) creates follow-up issues from verification feedback when PRs receive CONCERNS or FAIL verdicts using the enhanced LangChain analyzer. (Legacy `agents-verify-to-issue.yml` has been removed.)
* [`agents-verify-to-new-pr.yml`](../../.github/workflows/agents-verify-to-new-pr.yml) creates a follow-up issue from verification feedback, enforces the follow-up chain-depth limit, emits verifier follow-up ledger records, and kicks off a new PR when policy allows it.
* [`agents-verify-to-new-pr.yml`](../../.github/workflows/agents-verify-to-new-pr.yml) creates a follow-up issue from verification feedback and emits metadata to kick off a new PR.
* [`maint-dependabot-auto-label.yml`](../../.github/workflows/maint-dependabot-auto-label.yml) automatically applies the `agents:allow-change` label to Dependabot PRs.
Comment thread docs/ci/WORKFLOWS.md
* [`maint-dependabot-auto-lock.yml`](../../.github/workflows/maint-dependabot-auto-lock.yml) automatically regenerates requirements.lock when dependabot updates pyproject.toml.
* [`maint-dependabot-weekly-sweep.yml`](../../.github/workflows/maint-dependabot-weekly-sweep.yml) sweeps registered consumer repos weekly to enable Dependabot auto-merge and merge eligible PRs when checks are green.
* [`agents-verifier.yml`](../../.github/workflows/agents-verifier.yml) runs when `verify:*` labels are applied to a pull request (or via manual dispatch) to assemble acceptance/task context, execute LLM-based verifier modes, and post a verdict. `checkbox` mode uses the Codex CLI to drive checklist-style verification, while `evaluate` and `compare` run non-Codex verifier flows. In `compare` mode, two LLM providers (gpt-5.4 + claude-sonnet-4-6) evaluate independently with unanimous-PASS consensus. On CONCERNS or FAIL, maintainers (or follow-up automation) can apply the `verify:create-new-pr` label to trigger `agents-verify-to-new-pr.yml`, which uses a 4-round LLM pipeline to generate a follow-up issue when chain-depth policy allows it. Follow-up chain depth must not exceed 2; the workflow records policy/disposition metadata and applies `needs-human` at the limit. See [`docs/analysis/verify-compare-40pr-evaluation-feb-2026.md`](../analysis/verify-compare-40pr-evaluation-feb-2026.md) for the Feb 2026 evaluation baseline.
* [`agents-verifier.yml`](../../.github/workflows/agents-verifier.yml) runs when `verify:*` labels are applied to a pull request (or via manual dispatch) to assemble acceptance/task context, execute LLM-based verifier modes, and post a verdict. `checkbox` mode uses the Codex CLI to drive checklist-style verification, while `evaluate` and `compare` run non-Codex verifier flows. In `compare` mode, two LLM providers (gpt-5.4 + claude-sonnet-4-6) evaluate independently with unanimous-PASS consensus. On CONCERNS or FAIL, maintainers (or follow-up automation) can apply the `verify:create-new-pr` label to trigger `agents-verify-to-new-pr.yml`, which uses a 4-round LLM pipeline to generate a follow-up issue. Follow-up chain depth should not exceed 2; automated enforcement is pending. See [`docs/analysis/verify-compare-40pr-evaluation-feb-2026.md`](../analysis/verify-compare-40pr-evaluation-feb-2026.md) for the Feb 2026 evaluation (40-PR sample, 35% first-fix rate, 2.7 avg chain depth).
Comment thread docs/WORKFLOW_GUIDE.md
- **`maint-50-tool-version-check.yml`** — Weekly/manual tool-version audit that reads `autofix-versions.env`, hits PyPI to detect drifts, and files/refreshes the maintenance issue via the default token + load-balanced helper (no extra App mint).
- **`maint-51-dependency-refresh.yml`** — Twice-monthly/manual dependency snapshot refresh that compiles `requirements.lock`, verifies tool pins, and opens a helper PR using the default workflow token (no extra App mint).
- **`maint-52-sync-dev-versions.yml`** — Fans out to each registered consumer repo (or a supplied subset), reports `autofix-versions.env` freshness for visibility, then syncs the dev-dependency pins using the PAT provided via `REPO_TOKEN`; now reuses `scripts/list_registered_consumer_repos.py` and avoids redundant GitHub App token mints.
- **`maint-52-sync-dev-versions.yml`** — Fans out to each registered consumer repo (or a supplied subset) after verifying `autofix-versions.env` is current, then syncs the dev-dependency pins using the PAT provided via `REPO_TOKEN`; now reuses `scripts/list_registered_consumer_repos.py` and avoids redundant GitHub App token mints.
@stranske

Copy link
Copy Markdown
Owner Author

Closing as superseded by current main. The docs directionality / health inventory / chain-depth comments are already reflected in current docs, and the helper/pause-label concerns apply to code paths that are not present on current main. Keeping this dirty branch open would reintroduce stale workflow edits.

@stranske stranske closed this May 14, 2026
@stranske
stranske deleted the sync-review-comments-1836 branch May 14, 2026 23:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants