fix(sync): make sync rationale checks self-validating - #3203
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (7)
Included review availability: 0 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour. 📝 WalkthroughWalkthroughThe change updates sync manifest state, separates template-drift metadata, derives consumer repositories from the workflow manifest, removes stale workflow exclusions, and adds self-checks for these conditions. ChangesSync surface validation
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🟡 Moderate · up to The PR adds self-checks for manifest citations and fleet registry sourcing, but current validation can still allow malformed or mixed issue references and does not prove consumers cannot retain duplicated hard-coded lists. This leaves a bounded risk that stale references or fleet drift could pass CI, so merge should wait for those checks to be tightened or explicitly accepted by the owner. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
🤖 Keepalive Loop StatusPR #3203 | Agent: Codex | Iteration 8/12 Current State
Last Codex Run
To retry:
🔍 Failure Classification| Error type | infrastructure | |
Keepalive Work Log (click to expand)
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 07b1fbc205
ℹ️ 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".
| from typing import Any | ||
|
|
||
| from jsonschema import Draft202012Validator | ||
| from scripts.list_registered_consumer_repos import extract_repos |
There was a problem hiding this comment.
Keep the LangSmith script executable by file path
When the checked Maint 80 and Maint 85 workflows invoke python scripts/langsmith_fleet.py, Python places the scripts/ directory—not the repository root—at the front of sys.path, so this package-qualified sibling import raises ModuleNotFoundError: No module named 'scripts'. Both scheduled workflows therefore stop before producing or validating their fleet reports once jsonschema is installed; use an import strategy compatible with the existing direct entry point or change every caller to module execution.
Useful? React with 👍 / 👎.
| from pathlib import Path | ||
| from typing import NamedTuple | ||
|
|
||
| from scripts.list_registered_consumer_repos import extract_repos |
There was a problem hiding this comment.
Preserve direct execution of the label cleanup utility
The documented commands run this file directly (python scripts/cleanup_labels.py, or from scripts/ as python cleanup_labels.py), and in either case this package-qualified import cannot resolve because the repository root is absent from the script's import path. The utility now exits with ModuleNotFoundError before argument parsing or its optional PyGithub dependency handling, so all audit and cleanup modes are unusable through their documented entry point.
Useful? React with 👍 / 👎.
|
Runner dispatch state for autofix on PR #3203. Do not edit. |
|
Resolved the integration corruption on exact head b27a4af: removed committed conflict markers from Validated locally: |
Closer recovery — test-quality + direct script entry points (head
|
3e2b87c to
181e8c7
Compare
Closer rebase onto main (head
|
|
Runner dispatch state for codex on PR #3203. Do not edit. |
|
Autofix updated these files:
|
a84f2f1 to
a70c22a
Compare
|
Closer pushed exact head Review disposition and validation:
A new seven-minute post-push review window began on this exact head. Do not merge until that window completes, required checks are green, and active non-outdated review threads are zero. |
|
Closer CI continuation pushed exact head 5a2aff7.\n\nSelftest CI identified the remaining deterministic blocker: Black would reformat tests/scripts/test_sync_manifest_docs.py and tests/scripts/test_template_drift_allowlist.py. Both files are now formatted with the repository's line length.\n\nValidation:\n- Black check over the full repository: 590 files unchanged.\n- Focused tests: 4 passed, 1 expected no-token skip.\n- Ruff, Gate diff-quality, and git diff whitespace checks: passed.\n\nA new seven-minute post-push review window begins on this exact head. Do not merge until the head remains unchanged, required checks pass, and active non-outdated review threads are zero. |
Exact-head evidence: manifest issue check runs in Gate with tokenRe: active thread on whether the manifest issue guard skips in normal Gate CI. Static enforcement (no token): Live open-issue enforcement (token required): env:
GH_TOKEN: ${{ github.token }}
run: python -m pytest tests/scripts/test_sync_manifest_docs.py -qThis is separate from the reusable Python CI job that only receives markers/coverage/PYTHONPATH. Exact head The reviewer concern about the generic Python CI path is accurate for that path alone; the PR's CI-enforced alternative is the dedicated Gate step above plus the static stateful-citation guard. |
Wire both GH_TOKEN and GITHUB_TOKEN in the dedicated Gate step so the manifest open-issue pytest cannot skip when only GITHUB_TOKEN is consulted. Co-authored-by: Cursor <cursoragent@cursor.com>
…EN export The GITHUB_TOKEN export on the live sync-manifest pytest guard changed the normalized main workflow hash; refresh pair.19 so Health 74 Template Drift passes without widening consumer divergence. Co-authored-by: Cursor <cursoragent@cursor.com>
Approval decision brief
|
Provider Comparison ReportProvider Summary
📋 Full Provider Details (click to expand)openai
anthropic
Agreement
Disagreement
Unique Insights
🔍 LangSmith Traces |
Closes #3183
Summary
WORKFLOWS_ONLYself-validating, removed stale exclusions, and routed LangSmith/label fleet consumers through Maint 68’s single registry.divergence,divergence_reviewed, andfingerprint_refreshed, including concrete rationales for the former placeholders.Validation
pytestfocused gates: 4 passed.python scripts/validate_template_completeness.py --strict: passed.python scripts/check_template_drift.py: 3 in sync, 16 allowlisted, 0 unallowlisted.git diff --check: passed.Deliberate-break evidence
#2158citation producedAssertionError: manifest references closed issue #2158; restoration passed.maint-post-ci.ymlproducedExtra items in the right set: maint-post-ci.yml; restoration passed.CONSUMER_REPOSproducedLeft contains one more item: stranske/Orchestrator; restoration passed.Existing reviewed baseline driftin the assertion failure; restoration passed.Summary by CodeRabbit
Documentation
Improvements
Tests