docs: restructure policies into layered invariant model + bump filter-chain#147
Conversation
…er-chain
- Rewrite project_policies.md from v1.3 prose to v2.0 schema-driven rules
- Split soft-gate invariants into docs/policies/{process,boundary,resource,sync,liveness}.md
- Define three-tier enforcement: hard gates (clang-format, clang-tidy, Semgrep) vs soft gates (this doc)
- Adopt rule schema with Guard/Safety/Escapes/Locked/Free fields and <LAYER>.<scope>.<seq> IDs
- ROADMAP: mark visual-regression infra done (14 upstream presets, golden CI lane)
- ROADMAP: trim compositor protocol list to what is actually planned, mark Layer Shell done
- ROADMAP: record latency known issues (per-frame device.waitIdle, missing Presentation Time loop)
- ROADMAP: drop cpptrace integration item
- Bump filter-chain submodule to e9ce587 (visual capture, shader-fetch, 14/14 upstream golden coverage)
Pre-existing stale lock on main breaks CI's `pixi install --locked` on a
clean checkout ("lock-file not up-to-date with the workspace"). Regenerated
with CI-pinned pixi v0.65.0; transitive patch bump only. Included so this
PR's CI can pass (identical change rides on the P5 PR; whichever merges first
lands it, the other no-ops).
|
Warning Review limit reached
More reviews will be available in 34 minutes and 59 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (8)
✨ 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 |
Code Review by Qodo
1. Headless init policy mismatch
|
PR Summary by Qodo
Docs: layered policy invariants + roadmap refresh; bump filter-chain submodule
📝 Documentation⚙️ Configuration changes🕐 40+ MinutesWalkthroughs
User Description
Splits the documentation/policy work out of the P5 fix PR (#146) into its own PR, as requested.
Contents
docs/project_policies.mdrestructured into a layered invariant model.docs/policies/{process,boundary,resource,sync,liveness}.md.ROADMAP.mdupdated to match.pixi.locksynced with the manifest (see below).CI note (pre-existing main breakage)
CI's
Setup Pixirunspixi install --lockedon a clean checkout and currently fails onmainwith "lock-file not up-to-date with the workspace" — the committed lock pinnedlibxkbcommon 1.13.1, which no longer matches the manifest resolution. This is pre-existing onmainand independent of this PR's content (a cleanorigin/maincheckout reproduces it under both pixi v0.65.0 and v0.67.2; the green checks onmainare stale, predating the drift).The
pixi.locksync commit here regenerates it with the CI-pinned pixi v0.65.0 — a single transitive patch bump (libxkbcommon 1.13.1 → 1.13.2), no manifest/dependency-intent change. The identical sync rides on #146; whichever merges first lands it, the other becomes a no-op.🤖 Generated with Claude Code
AI Description
Diagram
High-Level Assessment
The following are alternative approaches to this PR:
1. Keep a single policies document with per-layer sections
2. Generate docs from a structured rule source (YAML/JSON) + renderer
Recommendation: The PR’s approach (Markdown per-layer files plus a canonical overview and rule schema) is the best near-term tradeoff: it improves navigability and makes the invariant model explicit without introducing extra tooling. Consider adding lightweight link-checking (or a small script) later if cross-file references/IDs start to drift.
File Changes
Documentation (7)
Other (1)