Repository navigation
docs(standards): add CI/CD Standards document [OMN-2224] - #511
Conversation
Create docs/standards/CI_CD_STANDARDS.md with: - Tier system (A-Org, A-Runtime, B, C) - Repo classifications (library-core, toolchain, deployable-service, infrastructure-as-code) - Gate check_name contract (Quality Gate, Tests Gate, Security Gate, CI Summary) - required-checks.yaml v2 schema with gates as only operational contract - All four invariants (check name stability, single source of truth, path-filtered checks, CI Summary requirement condition) - Branch protection migration safety procedure
📝 WalkthroughWalkthroughTwo documentation files were updated: Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
No actionable comments were generated in the recent review. 🎉 🧹 Recent nitpick comments
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@docs/standards/CI_CD_STANDARDS.md`:
- Around line 297-312: The table cell for checks[].gate is being incorrectly
split because the pipe in "string | null" is interpreted as a column delimiter;
update the table row for checks[].gate to prevent Markdown splitting by either
wrapping the entire type in code ticks (e.g., `string | null`) or escaping the
pipe as "string \| null" so the pipe is rendered literally and the table columns
remain correct.
- Around line 160-167: The fenced diagram block uses an unlabeled
triple-backtick fence; update the opening fence to include the language label
"text" (i.e., change ``` to ```text) so markdownlint stops flagging it and
rendering remains identical—modify the diagram block that begins with the triple
backticks and the lines "Branch Protection Gate (aggregator)
Individual Checks" / "requires: "Tests Gate" --> tests-gate job" to use ```text.
- Around line 454-474: The CI Summary pseudo-code block uses an unlabeled fenced
code block which triggers MD040; update the fence to specify a language by
changing the opening fence from ``` to ```text for the block starting with "For
each gate in required-checks.yaml.gates:" so the snippet is labeled and
preserves formatting; ensure only the fence is changed (no other content edits)
so the block becomes ```text ... ``` and commit that change.
…languages [OMN-2224] - Escape pipe in `checks[].gate` table cell (`string \| null`) to fix column overflow - Add `text` language label to diagram fenced code block (line 160) - Add `text` language label to CI Summary pseudo-code block (line 454)
Summary
docs/standards/CI_CD_STANDARDS.md— the org's CI/CD normative speccheck_namecontract: "Quality Gate", "Tests Gate", "Security Gate", "CI Summary" (API-stable)required-checks.yamlv2 schema withgatesas only operational contractdocs/INDEX.mdto include new standards entryDocumentation only — no CI workflow changes.
Closes OMN-2224
Test plan
Summary by CodeRabbit