Skip to content

CNTRLPLANE-3734: Add docs for Agentic SDLC, architecture and contributing - #945

Closed
tchap wants to merge 2 commits into
openshift:mainfrom
tchap:contextification
Closed

CNTRLPLANE-3734: Add docs for Agentic SDLC, architecture and contributing#945
tchap wants to merge 2 commits into
openshift:mainfrom
tchap:contextification

Conversation

@tchap

@tchap tchap commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Add AGENTS.md, ARCHITECTURE.md, CLAUDE.md, and CONTRIBUTING.md with verified codebase documentation. Move OTE test instructions from README.md into CONTRIBUTING.md to avoid duplication.

Created as a draft to prevent unnecessary CI runs until accepted.

Summary by CodeRabbit

  • Documentation
    • Added new project documentation covering operator conventions, contribution guidelines, and development “rules.”
    • Introduced an end-to-end architecture overview, including observed configuration flow, startup sequence, and key design decisions.
    • Added/updated repository onboarding files (including a reference link between documentation pages).
    • Reworked the main README with a streamlined Quick Start, simplified testing instructions, and refreshed Metrics/Documentation/Related Repositories sections.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 26, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 26, 2026

Copy link
Copy Markdown

@tchap: This pull request references CNTRLPLANE-3734 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Add AGENTS.md, ARCHITECTURE.md, CLAUDE.md, and CONTRIBUTING.md with verified codebase documentation. Move OTE test instructions from README.md into CONTRIBUTING.md to avoid duplication.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 26, 2026
@openshift-ci

openshift-ci Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci

openshift-ci Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign flavianmissi for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Walkthrough

Adds documentation covering operator architecture, agent and contributor guidance, testing workflows, and README navigation.

Changes

Repository documentation

Layer / File(s) Summary
Operator architecture and control flow
ARCHITECTURE.md
Documents static-pod management, configuration observation and rendering, certificate and signer rotation, recovery, supporting controllers, and design decisions.
Agent and contributor guidance
AGENTS.md, CLAUDE.md, CONTRIBUTING.md
Adds repository guidance, coding conventions, testing expectations, pull request and review practices, and OTE instructions.
Quick-start and documentation navigation
README.md
Reorganizes build, testing, verification, development, metrics, documentation, and related-repository content.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: gangwgr

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main documentation additions and related contribution guidance in the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR only changes markdown docs; no Go/Ginkgo test files or test titles were added or edited.
Test Structure And Quality ✅ Passed PASS — This PR only changes docs (AGENTS.md, ARCHITECTURE.md, README.md); no Ginkgo test files or test code were modified, so the test-quality check is not applicable.
Microshift Test Compatibility ✅ Passed No Ginkgo e2e test code was added; the PR only changes Markdown docs, so MicroShift API compatibility is not implicated.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR only changes markdown docs; no Go/e2e/Ginkgo test files were added or modified, so the SNO test-compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Commit only changes markdown docs; no manifests, operator code, or controllers were modified, so no topology-sensitive scheduling constraints were introduced.
Ote Binary Stdout Contract ✅ Passed The PR is docs-only; no process-level OTE binary code changed, and the current main entrypoint has no stdout writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR only changes markdown docs; no new Ginkgo e2e tests or network-sensitive test code were added.
No-Weak-Crypto ✅ Passed PR only adds/rewrites docs; changed files contain no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB or secret-compare code.
Container-Privileges ✅ Passed Only Markdown docs changed; no container/K8s manifests or privilege flags were introduced.
No-Sensitive-Data-In-Logs ✅ Passed PR only updates docs; no log statements or examples emitting passwords, tokens, PII, or internal hostnames were added.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 (1)
ARCHITECTURE.md (1)

1-155: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Rename this file to lowercase.

ARCHITECTURE.md violates the repo rule that all filenames must be lowercase. As per coding guidelines, All filenames should be lowercase.

🤖 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 `@ARCHITECTURE.md` around lines 1 - 155, Rename the ARCHITECTURE.md document to
use a lowercase filename to match the repository naming rule. Update the
documentation file itself and any references that point to it so the lowercase
name is used consistently, ensuring the architecture content remains unchanged
while the identifier complies with the repo-wide lowercase filename convention.

Source: Coding guidelines

🤖 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 `@CONTRIBUTING.md`:
- Around line 69-71: The new documentation filenames violate the lowercase
filename rule in CONTRIBUTING.md, so update the docs naming to comply or
explicitly document an exception for instruction files. Make the fix in the
places that introduce AGENTS.md, CLAUDE.md, and CONTRIBUTING.md, and ensure the
guidance in the repository’s docs policy clearly states whether standard
instruction docs are exempt from the lowercase requirement.

---

Outside diff comments:
In `@ARCHITECTURE.md`:
- Around line 1-155: Rename the ARCHITECTURE.md document to use a lowercase
filename to match the repository naming rule. Update the documentation file
itself and any references that point to it so the lowercase name is used
consistently, ensuring the architecture content remains unchanged while the
identifier complies with the repo-wide lowercase filename convention.
🪄 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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: ddf468f3-cc1e-4427-bb71-667c75d375c8

📥 Commits

Reviewing files that changed from the base of the PR and between c35307f and bd48be8.

📒 Files selected for processing (5)
  • AGENTS.md
  • ARCHITECTURE.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • README.md

Comment thread CONTRIBUTING.md
@tchap
tchap force-pushed the contextification branch from bd48be8 to cc89d7a Compare June 26, 2026 13:19

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
CONTRIBUTING.md (1)

69-71: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Keep the docs filename policy consistent.

CONTRIBUTING.md still conflicts with the repo rule that all filenames should be lowercase. If standard instruction docs are meant to be exempt, state that explicitly here; otherwise rename them to match the policy.

🤖 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 `@CONTRIBUTING.md` around lines 69 - 71, The filename policy in CONTRIBUTING.md
conflicts with the stated lowercase-only rule, so update the docs guidance to be
consistent. Either explicitly add an exception for standard documentation
filenames like CONTRIBUTING.md in the filename policy, or change the policy text
so it applies uniformly and no longer contradicts existing docs file names; use
the CONTRIBUTING.md section that lists filename conventions as the place to make
this clarification.

Source: Coding guidelines

🤖 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.

Duplicate comments:
In `@CONTRIBUTING.md`:
- Around line 69-71: The filename policy in CONTRIBUTING.md conflicts with the
stated lowercase-only rule, so update the docs guidance to be consistent. Either
explicitly add an exception for standard documentation filenames like
CONTRIBUTING.md in the filename policy, or change the policy text so it applies
uniformly and no longer contradicts existing docs file names; use the
CONTRIBUTING.md section that lists filename conventions as the place to make
this clarification.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2f3b604c-442e-40f2-a452-a87f21a5c8ff

📥 Commits

Reviewing files that changed from the base of the PR and between bd48be8 and cc89d7a.

📒 Files selected for processing (5)
  • AGENTS.md
  • ARCHITECTURE.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • README.md
✅ Files skipped from review due to trivial changes (3)
  • CLAUDE.md
  • AGENTS.md
  • ARCHITECTURE.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

Add AGENTS.md, ARCHITECTURE.md, CLAUDE.md, and CONTRIBUTING.md with
verified codebase documentation. Move OTE test instructions from
README.md into CONTRIBUTING.md to avoid duplication.
@tchap
tchap force-pushed the contextification branch from cc89d7a to 4209066 Compare July 7, 2026 09:57
@tchap

tchap commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

/retitle CNTRLPLANE-3734: Add docs for Agentic SDLC, architecture and contributing

@openshift-ci openshift-ci Bot changed the title CNTRLPLANE-3734: Add project documentation and consolidate OTE instructions CNTRLPLANE-3734: Add docs for Agentic SDLC, architecture and contributing Jul 7, 2026
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
putComment timed out

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
README.md (1)

65-85: 🩺 Stability & Availability | 🔵 Trivial

Document the cleanup step for CVO overrides.

These commands leave the operator Deployment unmanaged by CVO. Add the inverse operation to remove the override and restore normal CVO reconciliation after testing; otherwise developers can unintentionally leave upgrade management disabled.

🤖 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 `@README.md` around lines 65 - 85, Update the custom operator image
instructions after the deployment patch to document cleanup: remove the
kube-controller-manager-operator entry from spec.overrides using the appropriate
ClusterVersion patch, restoring CVO management and normal reconciliation after
testing.
🤖 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 `@AGENTS.md`:
- Line 84: Update the testing guidance in AGENTS.md to require unit tests for
behavior or implementation changes, with E2E tests for significant features.
Explicitly state the expected validation for documentation-only changes, without
requiring unit tests for them.

In `@CONTRIBUTING.md`:
- Line 91: Update the documentation link in the unit-testing guidance in
CONTRIBUTING.md from the internal cmd/go test package URL to the public cmd/go
documentation URL, leaving the surrounding testing instructions unchanged.

In `@README.md`:
- Around line 87-103: Remove the duplicated OTE command instructions from the
README Tests section and replace them with a concise reference directing
contributors to the canonical OTE guidance in CONTRIBUTING.md. Ensure only one
location remains authoritative for these test commands.

---

Nitpick comments:
In `@README.md`:
- Around line 65-85: Update the custom operator image instructions after the
deployment patch to document cleanup: remove the
kube-controller-manager-operator entry from spec.overrides using the appropriate
ClusterVersion patch, restoring CVO management and normal reconciliation after
testing.
🪄 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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4536a6d5-3ff7-4c8e-b37a-89d3ed7a69d2

📥 Commits

Reviewing files that changed from the base of the PR and between cc89d7a and 5db520b.

📒 Files selected for processing (5)
  • AGENTS.md
  • ARCHITECTURE.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • README.md

Comment thread AGENTS.md Outdated
Comment thread CONTRIBUTING.md
Comment thread README.md Outdated
…penshift#944

- AGENTS.md: add Critical Rules and What NOT to Do sections
- ARCHITECTURE.md: add Design Decisions section (8 items)
- README.md: streamline with Quick Start, concise sections, doc links
@tchap
tchap force-pushed the contextification branch from 5db520b to ed53fca Compare July 20, 2026 09:45

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
README.md (1)

65-78: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Document how to restore CVO management after debugging.

This procedure sets the operator deployment to unmanaged: true, but never instructs contributors to remove that override afterward. Users can leave the operator permanently outside CVO reconciliation, causing drift or upgrade/recovery issues. Add cleanup instructions that remove only this override while preserving any unrelated overrides.

🤖 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 `@README.md` around lines 65 - 78, Extend the custom operator image procedure
after the override command with cleanup instructions for restoring CVO
management. Document removing only the matching kube-controller-manager-operator
override, preserving any unrelated entries in spec.overrides, and show the
command or established mechanism contributors should use to perform that
targeted removal.
🤖 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.

Outside diff comments:
In `@README.md`:
- Around line 65-78: Extend the custom operator image procedure after the
override command with cleanup instructions for restoring CVO management.
Document removing only the matching kube-controller-manager-operator override,
preserving any unrelated entries in spec.overrides, and show the command or
established mechanism contributors should use to perform that targeted removal.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 56a66483-11ea-40b0-864a-056062fa57d1

📥 Commits

Reviewing files that changed from the base of the PR and between 5db520b and ed53fca.

📒 Files selected for processing (3)
  • AGENTS.md
  • ARCHITECTURE.md
  • README.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • AGENTS.md
  • ARCHITECTURE.md

@tchap

tchap commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Closing since there is #944 already.

@tchap tchap closed this Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants