feat: living document freshness automation - #841
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (13)
📝 WalkthroughWalkthroughThis pull request introduces a living document reconciliation framework consisting of new tooling, Make targets, and documentation standards. It also updates multiple Dockerfiles with environment variable renames and dependency additions, enhances Chrome extension rendering logic, improves git-based validation, and refreshes production audit dashboard and tracker metadata with reconciliation outcomes. Changes
Sequence DiagramsequenceDiagram
actor CLI as CLI (main)
participant Repo as Repository
participant Parser as Parser
participant Checker as Freshness Checker
participant Writer as Dashboard Writer
participant Report as Report Generator
CLI->>Repo: git branch, rev-list, log
Repo-->>CLI: Git state (SHA, date, commits_behind)
CLI->>Parser: parse_dashboard_metadata()
Parser-->>CLI: DashboardMeta (commit, date, branch)
CLI->>Parser: parse_tracker_items()
Parser-->>CLI: List[TrackerItem]
CLI->>Parser: get_submodule_status()
Parser->>Repo: git config --file .gitmodules
Repo-->>Parser: Submodule SHAs
Parser-->>CLI: Dict[submodule, SHA]
CLI->>Checker: check_freshness(meta, git_state)
Checker-->>CLI: List[Finding] (stale_commit, stale_date)
CLI->>Checker: check_tracker_staleness(items, submodules)
Checker-->>CLI: List[Finding] (tracker issues)
alt --update mode
CLI->>Writer: reconcile_dashboard(git_state)
Writer->>Repo: Write updated metadata
Repo-->>Writer: Diff
Writer-->>CLI: Diff or None
end
CLI->>Report: print_report(ReconcileReport)
Report-->>CLI: Human-readable or JSON output
CLI-->>CLI: Exit code (0=fresh, 1=stale, 2=error)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
Add _SAFE_VID_RE.match(video_id) check on video IDs extracted from Hi-RAG search results before passing to supa_get(). Prevents query injection via crafted video_id values. Closes P2 #7. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add post-install pip overrides for 4 Trivy-flagged CVEs: - archon: crawl4ai>=0.8.0 (CVE-2026-26216), langchain-core>=1.2.5 (CVE-2025-68664) - deepresearch: ray>=2.52.0 (CVE-2025-62593), vllm>=0.14.1 (CVE-2026-22778) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- options.js: Replace innerHTML template literal with DOM API (textContent) to eliminate XSS vector - mock-server.js: Guard routes[key] lookup with Object.hasOwn() to prevent prototype chain access Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All 7 reported P1 submodule issues from Phase C audit (2026-02-16) verified already fixed on PMOVES.AI-Edition-Hardened branches. Added individual verification entries with evidence paths to Closed Issues table. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update executive summary and latest changes to reflect tracker reconciliation: all 7 Phase C P1 submodule findings verified fixed on Hardened branches. Add changelog entry with evidence summary. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Checks and updates dashboard commit SHA/date metadata and flags stale P2 tracker items whose submodules have advanced. Supports --check (CI-safe read-only), --update (write metadata), and --json output. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds docs-reconcile, docs-reconcile-check, docs-reconcile-json targets. Integrates non-blocking docs-reconcile-check into audit-layers-static. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Provides CLI-invocable skill for living document reconciliation with check, update, and JSON modes. Cross-links audit-layers and sign-trail. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Directs agents to run docs-reconcile after audit/security work or submodule gitlink updates. Lists the two living documents and rules. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Dashboard: normalize runner status to "0/4 offline" (was contradictory) - Dashboard: clarify P2 count "15 open" as pre-triage snapshot - Dashboard: fix "3 of 4" → "4 of 4" P2 items verified - Dashboard: AB-9 blocker detail REGRESSED (was stale RESOLVED) - Dashboard: Docker Bench row reflects AB-9 regression - Dockerfiles: pin exact CVE versions (>=→==) for crawl4ai, langchain-core, ray, vllm - BuildKit migration plan: add archival banner (implemented in PR #838) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
47f9872 to
e457473
Compare
Docker Hardening ValidationHardening Validation ReportValidated: Mon Mar 9 20:36:44 UTC 2026Services CheckedPMOVES.AI Docker Hardening Validation[INFO] Checking: pmoves/docker-compose.hardened.yml [INFO] Validating: hi-rag-gateway-v2 [INFO] Validating: extract-worker [INFO] Validating: langextract [INFO] Validating: presign [INFO] Validating: render-webhook [INFO] Validating: retrieval-eval [INFO] Validating: pdf-ingest [INFO] Validating: jellyfin-bridge [INFO] Validating: invidious-companion-proxy [INFO] Validating: ffmpeg-whisper [INFO] Validating: media-video [INFO] Validating: media-audio [INFO] Validating: hi-rag-gateway-v2-gpu [INFO] Validating: hi-rag-gateway-gpu [INFO] Validating: deepresearch [INFO] Validating: supaserch [INFO] Validating: publisher-discord [INFO] Validating: mesh-agent [INFO] Validating: nats-echo-req [INFO] Validating: nats-echo-res [INFO] Validating: publisher [INFO] Validating: analysis-echo [INFO] Validating: graph-linker [INFO] Validating: comfy-watcher [INFO] Validating: grayjay-plugin-host [INFO] Validating: agent-zero [INFO] Validating: archon [INFO] Validating: channel-monitor [INFO] Validating: pmoves-yt [INFO] Validating: notebook-sync [INFO] Validating: supabase_service_role_key [INFO] Validating: supabase_jwt_secret ====================================== |
Summary
docs-reconcilescript, Make targets, skill command)Note:
PMOVES-Archonsubmodule gitlink bump is intentional — it points to the Dockerfile fix commit (MCP_CONFIG_PATH rename + USER directive). This is a security fix, not scope creep.Supersedes: #839 (closed), #840 (closed) — all commits from both PRs are included here.
CodeRabbit Resolution
All 7 findings from #839/#840 reviews addressed in
fix(review)commit:>=pins → exact==pins in DockerfilesTest plan
grep -c "3 of 4" pmoves/docs/PRODUCTION_AUDIT_DASHBOARD.md→ 0grep "1/4 self-hosted" pmoves/docs/PRODUCTION_AUDIT_DASHBOARD.md→ no matchesgrep ">=0.8.0\|>=1.2.5\|>=2.52.0\|>=0.14.1" pmoves/services/*/Dockerfile→ no matches🤖 Generated with Claude Code