Repository navigation
receipt(OMN-13046): bind docs-dirty-alert dod_evidence to omniclaude PR #1814 - #3248
Conversation
|
Warning Review limit reached
More reviews will be available in 47 minutes and 24 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?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 credits. 🚦 How do rate 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 see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughAdds the ChangesOMN-13046 Contract and DoD Receipts
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
0506621 to
e10b347
Compare
e10b347 to
a9e971d
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
drift/dod_receipts/OMN-13046/dod-skill-and-node-exist/command.yaml (1)
51-59: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAlign the description with the probe.
Line 52-54 says
SKILL.mdis part of the evidence, but Lines 57-59 never check it. Either add that file to the command or remove it from the receipt text so the proof matches the claim.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@drift/dod_receipts/OMN-13046/dod-skill-and-node-exist/command.yaml` around lines 51 - 59, The receipt description currently claims SKILL.md is part of the evidence, but the probe in the command does not verify it. Update the command in the relevant receipt so the checked files and the receipt text match by either adding SKILL.md to the probe or removing it from the description; use the command definition that builds the evidence set and ensure the claim aligns with what the probe actually tests.drift/dod_receipts/OMN-13046/dod-quality-gate/command.yaml (1)
69-76: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winRun the full quality gate you describe.
Line 71 says
ruff format,ruff check, andmypy --strictall passed, but Lines 74-76 only runruff check. Expand the probe to cover formatting and typing, or trim the description to the single gate actually verified.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@drift/dod_receipts/OMN-13046/dod-quality-gate/command.yaml` around lines 69 - 76, The quality gate description and the actual probe are inconsistent: the summary claims formatting and typing checks passed, but the probe only runs ruff check. Update the command in the quality gate workflow to include the full set of verified checks (ruff format, ruff check, and mypy --strict), or else shorten the description so it only mentions the single check actually executed. Use the existing quality gate command block in command.yaml to keep the description and probe aligned.drift/dod_receipts/OMN-13046/dod-cron-wired/command.yaml (1)
61-68: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAssert the 30-minute schedule, not just the name.
Line 62-64 claims the CronCreate entry runs every 30 minutes, but Lines 67-68 only check that
docs-dirty-alertappears anywhere inscripts/setup-session-crons.sh. Tighten the probe to include the*/30 * * * *schedule fragment.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@drift/dod_receipts/OMN-13046/dod-cron-wired/command.yaml` around lines 61 - 68, The cron assertion is too loose because it only checks that docs-dirty-alert exists in scripts/setup-session-crons.sh instead of verifying the intended schedule. Update the probe in the CronCreate check to match both the entry name and the 30-minute schedule fragment, using the setup-session-crons.sh definition so it explicitly asserts */30 * * * * for docs-dirty-alert.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@drift/dod_receipts/OMN-13046/dod-occ-self/command.yaml`:
- Around line 4-6: The receipt’s probe in the command check only validates a
local contract file and does not prove the claimed OCC PR `#3248` binding. Update
the probe used by this receipt to a PR-binding lookup via the GitHub CLI (for
example in the command definition for dod-occ-self), and make sure the
associated actual_output matches the PR lookup result rather than file contents.
---
Outside diff comments:
In `@drift/dod_receipts/OMN-13046/dod-cron-wired/command.yaml`:
- Around line 61-68: The cron assertion is too loose because it only checks that
docs-dirty-alert exists in scripts/setup-session-crons.sh instead of verifying
the intended schedule. Update the probe in the CronCreate check to match both
the entry name and the 30-minute schedule fragment, using the
setup-session-crons.sh definition so it explicitly asserts */30 * * * * for
docs-dirty-alert.
In `@drift/dod_receipts/OMN-13046/dod-quality-gate/command.yaml`:
- Around line 69-76: The quality gate description and the actual probe are
inconsistent: the summary claims formatting and typing checks passed, but the
probe only runs ruff check. Update the command in the quality gate workflow to
include the full set of verified checks (ruff format, ruff check, and mypy
--strict), or else shorten the description so it only mentions the single check
actually executed. Use the existing quality gate command block in command.yaml
to keep the description and probe aligned.
In `@drift/dod_receipts/OMN-13046/dod-skill-and-node-exist/command.yaml`:
- Around line 51-59: The receipt description currently claims SKILL.md is part
of the evidence, but the probe in the command does not verify it. Update the
command in the relevant receipt so the checked files and the receipt text match
by either adding SKILL.md to the probe or removing it from the description; use
the command definition that builds the evidence set and ensure the claim aligns
with what the probe actually tests.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ab58974c-92d8-4a02-a62b-063c6d859377
📒 Files selected for processing (6)
contracts/OMN-13046.yamldrift/dod_receipts/OMN-13046/dod-cron-wired/command.yamldrift/dod_receipts/OMN-13046/dod-occ-self/command.yamldrift/dod_receipts/OMN-13046/dod-quality-gate/command.yamldrift/dod_receipts/OMN-13046/dod-skill-and-node-exist/command.yamldrift/dod_receipts/OMN-13046/dod-tests-pass/command.yaml
…untracked docs files (OmniNode-ai#1814) ## Summary Implements **C-5** retro action item (PROCESS_FAILURE_RETRO.md §3.C): alert when untracked \`docs/{handoffs,evidence,plans,deep-dives}\` files in \`omni_home\` exceed a count threshold or any file is older than 4 hours. Before this, 518 dirty-entry states went undetected for days. - \`src/omniclaude/nodes/node_skill_docs_dirty_alert_orchestrator/check.py\` — scan logic using \`git status --porcelain\`; writes friction YAML to \`\$ONEX_STATE_DIR/friction/\` on alert (exit 0=clean, 1=alert) - \`plugins/onex/skills/docs_dirty_alert/SKILL.md\` — skill description and invocation docs - \`src/omniclaude/nodes/node_skill_docs_dirty_alert_orchestrator/\` — thin orchestrator node + \`contract.yaml\` with event-bus topics - \`tests/skills/test_docs_dirty_alert.py\` — 14 unit tests covering count threshold, age threshold, clean state, and friction YAML schema (all pass) - \`scripts/setup-session-crons.sh\` — \`docs-dirty-alert\` cron added (every 30 min) to session bootstrap; closes C-5 gap - \`contracts/OMN-13046.yaml\` — OCC contract with \`dod_evidence\` ## Evidence-Source OCC Receipt PR: OmniNode-ai/onex_change_control#3248 DoD evidence: - 14 unit tests pass: \`uv run pytest tests/skills/test_docs_dirty_alert.py -v\` → 14 passed - Skill exists at \`src/omniclaude/nodes/node_skill_docs_dirty_alert_orchestrator/check.py\` - Node exists at \`src/omniclaude/nodes/node_skill_docs_dirty_alert_orchestrator/contract.yaml\` - CronCreate entry in \`scripts/setup-session-crons.sh\` (\`docs-dirty-alert\`, \`*/30 * * * *\`) - \`ruff check\` and \`mypy --strict\` pass on all new files - Pre-existing test failures (5 total) confirmed pre-existing on \`origin/main\`; no regressions introduced ## Test plan - [ ] CI: \`Quality Gate\`, \`Tests Gate\`, \`Security Gate\` all green - [ ] \`uv run pytest tests/skills/test_docs_dirty_alert.py -v\` → 14 passed - [ ] Manual: \`OMNI_HOME=... ONEX_STATE_DIR=... uv run python -m omniclaude.nodes.node_skill_docs_dirty_alert_orchestrator.check\` exits 0 on clean repo, 1 when docs threshold exceeded Evidence-Source: OCC#3261 Evidence-Ticket: OMN-13046 Implementation-Head: 0622285c1cbf2f5f3040ad38ce490e75fdab3a79 OCC-Receipt-PR: OmniNode-ai/onex_change_control#3248 --------- Co-authored-by: jonahgabriel <jonahgabriel@users.noreply.github.com>
Summary
OCC receipt for OMN-13046. Binds
dod_evidenceto omniclaude PR #1814.DoD evidence
tests/skills/test_docs_dirty_alert.pypass (count threshold, age threshold, clean state, friction YAML schema)plugins/onex/skills/docs_dirty_alert/_lib/check.py, node atsrc/omniclaude/nodes/node_skill_docs_dirty_alert_orchestrator/contract.yamldocs-dirty-alertCronCreate entry at*/30 * * * *inscripts/setup-session-crons.shCloses C-5 retro item: 518-dirty-entry state in omni_home docs now surfaces within 30 min via CronCreate-scheduled alert, not days.
Summary by CodeRabbit