Uh oh!
There was an error while loading. Please reload this page.
feat(automation): run psychometrics-commons hourly NVIDIA NIM review repair - #1092
feat(automation): run psychometrics-commons hourly NVIDIA NIM review repair#1092seonghobae wants to merge 7 commits into
Conversation
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
Warning Review limit reached
Next review available in:5 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
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.
Pull request overview
OpenCode could not approve from deterministic current-head evidence because GitHub Checks have failed.
Findings
1. HIGH Current-head GitHub Checks - Fix failed required checks before approval
- Problem: Failed same-head checks remain for
4648bb69f01b9bb3882fdfd931e49d80b94e1791. - Root cause: The model-unavailable evidence fallback is allowed only when peer GitHub Checks are complete and clean.
- Fix: Read and fix the failed check logs below, then rerun the current-head checks.
- Regression test: Keep the model-unavailable fallback gated on an empty failed-check rollup.
Failed checks:
- CodeQL PR/CodeQL compatibility analysis (actions): CANCELLED (https://github.com/ContextualWisdomLab/.github/actions/runs/32010475485/job/95332004052)
- CodeQL PR/CodeQL compatibility analysis (python): CANCELLED (https://github.com/ContextualWisdomLab/.github/actions/runs/32010475485/job/95332004159)
- CodeQL compatibility analysis (actions) check run: cancelled (https://github.com/ContextualWisdomLab/.github/actions/runs/32010475485/job/95332004052)
- CodeQL compatibility analysis (python) check run: cancelled (https://github.com/ContextualWisdomLab/.github/actions/runs/32010475485/job/95332004159)
- Python Security/pip-audit (Python dependency audit): CANCELLED (https://github.com/ContextualWisdomLab/.github/actions/runs/32010475510/job/95331789708)
- coverage-source-tree check run: cancelled (https://github.com/ContextualWisdomLab/.github/actions/runs/32010475558/job/95331822993)
- pip-audit (Python dependency audit) check run: cancelled (https://github.com/ContextualWisdomLab/.github/actions/runs/32010475510/job/95331789708)
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (2 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow (2 files)"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (4 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (4 files)"]
R2 --> V2["required checks"]
Evidence --> S3["Docs: psychometrics-commons-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs: psychometrics-commons-hourly-review-caller.md"]
R3 --> V3["docs review"]
Evidence --> S4["Test: test_psychometrics_commons_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_psychometrics_commons_hourly_review_caller.py"]
R4 --> V4["targeted test run"]
OpenCode Review Overview
Pull request overviewOpenCode reviewed the current-head mergeability evidence and changed-file flow before approval, then found merge conflicts on the affected path. Findings1. HIGH Merge Conflict Guidance - Resolve the PR branch against the latest base branch
gh pr checkout 1092 --repo ContextualWisdomLab/.github
git fetch origin main
git merge --no-ff origin/main # or: git rebase origin/main
git status --short
# resolve files, then git add <resolved-files># merge path: git commit# rebase path: git rebase --continue
git push origin HEAD:feat/psychometrics-commons-hourly-nvidia-nim-review-repair
# rebase path only: git push --force-with-lease origin HEAD:feat/psychometrics-commons-hourly-nvidia-nim-review-repair
Merge Conflict Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (2 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: psychometrics-commons-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_psychometrics_commons_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (2 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: psychometrics-commons-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_psychometrics_commons_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
Merge Conflict Guidance
gh pr checkout 1092 --repo ContextualWisdomLab/.github
git fetch origin main
git merge --no-ff origin/main # or: git rebase origin/main
git status --short
# resolve files, then git add <resolved-files># merge path: git commit# rebase path: git rebase --continue
git push origin HEAD:feat/psychometrics-commons-hourly-nvidia-nim-review-repair
# rebase path only: git push --force-with-lease origin HEAD:feat/psychometrics-commons-hourly-nvidia-nim-review-repair |
4648bb6 to
c94df37Compareseonghobae
commented
Aug 19, 2026
Rebased onto current |
c94df37 to
ba9025bCompareseonghobae
commented
Aug 19, 2026
ba9025b to
53b189cCompareseonghobae
commented
Aug 20, 2026
Rebased psychometrics-commons hourly caller onto current main@c47bee59 and preserved current Quarantine plus psychometrics quality paths. Exact head: ba9025b. Evidence: 6 caller tests passed, actionlint, compileall, no conflict markers, and diff check passed. |
seonghobae
commented
Aug 20, 2026
…repair Add a thin minute-9 caller so hosted measurement pull requests receive the same exact-head RCA repair heartbeat as other CWL products without copying scheduler, model, or credential logic.
53b189c to
6bb0d99Compareseonghobae
commented
Aug 20, 2026
@opencode-agent review the exact current head $head_oid against protected base 2cce96f. Rebased this hourly caller onto current main; contract tests, changed-workflow actionlint, and diff --check were run on the exact rebased source. The caller keeps explicit target identity, bounded dispatch/retry, OIDC/approved secret scope, and no COPILOT token forwarding. Treat predecessor reviews/checks as historical and do not approve from queued or status-only evidence. |
seonghobae
commented
Aug 20, 2026
@opencode-agent Please review exact current HEAD |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
seonghobae
commented
Aug 20, 2026
Resolved the Keep-a-Changelog categorization/duplication finding in exact-head commit
Hosted exact-head workflows are newly queued and remain non-passing until completion. |
seonghobae
commented
Aug 21, 2026
Current-head merge repair pushed normally at |
| # Minute 9 avoids pg-llm-batch (1), aFIPC (2), kaefa (3), LineageWeave (4), | ||
| # codec-carver (5), life-os (6), Wardnet (7), mightyETL (8), naruon (11), | ||
| # pg-erd-cloud (13), orchestrator (17), noema (19), Clearfolio (23), | ||
| # Keyverse (29), Scopeweave (31), DiskSage (37), Appguardrail (41), | ||
| # newsdom-api (43), Inkspan (47), fast-mlsirm (49), BandScope (53), | ||
| # and semantic-data-portal (59). |
There was a problem hiding this comment.
📝 Info: Schedule comment omits OriginWeave (minute 10)
The scheduling comment in psychometrics-commons-hourly-review-repair.yml jumps from mightyETL (8) directly to naruon (11), omitting OriginWeave (10). Sibling callers list OriginWeave at minute 10 (e.g. nonnest2-hourly-review-repair.yml:7 reads psychometrics-commons (9), OriginWeave (10), naruon (11)). This is a purely cosmetic documentation inconsistency with no functional impact — minute 9 does not collide with minute 10 — but the reservation table is now inconsistent across callers.
Was this helpful? React with 👍 or 👎 to provide feedback.
| # Keyverse (29), Scopeweave (31), DiskSage (37), Appguardrail (41), | ||
| # newsdom-api (43), Inkspan (47), fast-mlsirm (49), BandScope (53), | ||
| # and semantic-data-portal (59). | ||
| - cron: "9 * * * *" |
There was a problem hiding this comment.
📝 Info: Minute 9 cron slot is unique across all callers
The new caller uses cron: "9 * * * *". I verified against every other scheduled workflow in .github/workflows/ that minute 9 is not otherwise claimed, and the existing OriginWeave caller comment (.github/workflows/originweave-hourly-review-repair.yml:7) already reserves minute 9 for psychometrics-commons, so the cadence choice is consistent and collision-free.
Was this helpful? React with 👍 or 👎 to provide feedback.
| def test_focused_quality_workflow_tracks_psychometrics_commons_contracts() -> None: | ||
| """Caller, test, and doctoring edits always rerun the focused gate.""" | ||
| quality = _read(QUALITY_WORKFLOW) | ||
| pull_request_paths = _yaml_path_entries(_trigger_path_block(quality, "pull_request")) | ||
| push_paths = _yaml_path_entries(_trigger_path_block(quality, "push")) | ||
| compileall_paths = _yaml_path_entries(_compileall_block(quality)) | ||
| caller = ".github/workflows/psychometrics-commons-hourly-review-repair.yml" | ||
| doctoring = "docs/doctoring/psychometrics-commons-hourly-review-caller.md" | ||
| contract = "tests/test_psychometrics_commons_hourly_review_caller.py" | ||
| assert caller in pull_request_paths | ||
| assert doctoring in pull_request_paths | ||
| assert contract in pull_request_paths | ||
| assert caller in push_paths | ||
| assert doctoring in push_paths | ||
| assert contract in push_paths | ||
| assert contract in compileall_paths | ||
| assert caller not in compileall_paths | ||
| assert doctoring not in compileall_paths |
There was a problem hiding this comment.
📝 Info: Contract tests align with the added workflow/doctoring content
The new contract test parses the pull_request/push path blocks and the compileall argument list of hourly-nvidia-nim-review-repair.yml, and asserts the caller, doctoring, and test paths were added. I confirmed the workflow diff adds all three paths under both triggers and adds only the test file under compileall, and that every phrase asserted in test_psychometrics_commons_doctoring_records_measurement_activation (e.g. 'operational-PII mask', 'true-parameter recovery', 'protected-main operational acceptance') is present in the new doctoring file, so the tests should pass.
Was this helpful? React with 👍 or 👎 to provide feedback.
seonghobae
commented
Aug 21, 2026
Exact-head lock repair pushed as 6c330db from 82e2fae. Updated the hashed pip audit runtime from pip 26.1.2 to pip 26.2.1 with exact hashes, without changing the hourly caller implementation. pyenv pip-audit reported no known vulnerabilities and git diff check passed locally. Hosted checks and exact-head approval must be re-evaluated; no bypass or force push was used. |
| pip==26.2.1 \ | ||
| --hash=sha256:71138adf1f4ca900cdb7d289c21b7494329f2332b6d85f0e1c42108c0384ed3e \ | ||
| --hash=sha256:f6ad667e89a1fe78046c8f13232b247200f5258d7828f3f7883d660878e0813f |
There was a problem hiding this comment.
📝 Info: Unrelated pip hash bump bundled in PR
requirements-pip-audit-ci-hashes.txt bumps pip 26.1.2 to 26.2.1, unrelated to the psychometrics-commons caller. It does not affect this PR's workflow, but bundling an unrelated dependency change complicates review and rollback.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head mergeability evidence and changed-file flow before approval, then found merge conflicts on the affected path.
Findings
1. HIGH Merge Conflict Guidance - Resolve the PR branch against the latest base branch
- Problem: GitHub reports mergeStateStatus
DIRTYfor this pull request. - Root cause: Branch
feat/psychometrics-commons-hourly-nvidia-nim-review-repaircannot be merged cleanly intomain; the changed-file flow below shows which review/runtime path is blocked by the conflict. - Fix: Merge or rebase the latest
mainintofeat/psychometrics-commons-hourly-nvidia-nim-review-repair, resolve conflict markers in the PR branch, rerun the focused checks, and push the same branch. - Repair commands:
gh pr checkout 1092 --repo ContextualWisdomLab/.github
git fetch origin main
git merge --no-ff origin/main # or: git rebase origin/main
git status --short
# resolve files, then git add <resolved-files># merge path: git commit# rebase path: git rebase --continue
git push origin HEAD:feat/psychometrics-commons-hourly-nvidia-nim-review-repair
# rebase path only: git push --force-with-lease origin HEAD:feat/psychometrics-commons-hourly-nvidia-nim-review-repair- Regression test: Keep OpenCode approval gated on mergeability so model-output failures cannot approve a conflicted PR.
Merge Conflict Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (2 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: psychometrics-commons-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_psychometrics_commons_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
- Result: REQUEST_CHANGES
- Reason: mergeStateStatus is
DIRTY; mergeable isCONFLICTING. - Head SHA:
6c330dbfbede45acb41972f1d384ef586b83c2b8 - Workflow run: 33011071889
- Workflow attempt: 1
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow (2 files)"]
S1 --> I1["GitHub Actions review job"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["required checks"]
Evidence --> S3["Docs: psychometrics-commons-hourly-review-caller.md"]
S3 --> I3["operator or user guidance"]
I3 --> Conflict["Merge conflict blocks this path"]
Conflict --> V3["docs review"]
Evidence --> S4["Test: test_psychometrics_commons_hourly_review_caller.py"]
S4 --> I4["regression suite"]
I4 --> Conflict["Merge conflict blocks this path"]
Conflict --> V4["targeted test run"]
Summary
A buyer of hosted psychometric assessment would feel live
ContextualWisdomLab/psychometrics-commonsheads stalling while hourly NVIDIA NIM review-repair only scanned Clearfolio, DiskSage, and fast-mlsirm. This increment adds a thin minute-9 caller that names the exact repository and protectedmain, dispatches at most one exact-head repair, and keeps the product-neutral scheduler free of product literals.Live heads that never entered the older callers include ContextualWisdomLab/psychometrics-commons#244, ContextualWisdomLab/psychometrics-commons#242, ContextualWisdomLab/psychometrics-commons#240, and ContextualWisdomLab/psychometrics-commons#237.
Contract
9 * * * *,cancel-in-progress: false,max_dispatches: 1,retry_hours: 2contents: read; job-scopedid-token: writePR_REVIEW_MERGE_TOKENandOPENCODE_APPROVE_TOKENNVIDIA_NIM_API_KEYorCOPILOT_GITHUB_TOKENpr-review-fix-scheduler.ymlTest plan
coverage run -m pytest tests && coverage report --show-missingtwice (1122 passed, 100%)interrogatetwice (100%)