Skip to content

HYPERFLEET-760 - docs: standardize headers and reorganize repository structure#114

Merged
openshift-merge-bot[bot] merged 8 commits intoopenshift-hyperfleet:mainfrom
rh-amarin:HYPERFLEET-760
Mar 27, 2026
Merged

HYPERFLEET-760 - docs: standardize headers and reorganize repository structure#114
openshift-merge-bot[bot] merged 8 commits intoopenshift-hyperfleet:mainfrom
rh-amarin:HYPERFLEET-760

Conversation

@rh-amarin
Copy link
Copy Markdown
Collaborator

@rh-amarin rh-amarin commented Mar 27, 2026

https://redhat.atlassian.net/browse/HYPERFLEET-760

The changes to every file are mostly to add standard headers, now all docs start with GitHub metadata format and have an overview at the beginning

The changes include:

  • Adding/standardizing metadata headers across all documents
  • Reorganizing structure
    • moving MVP, deployment, legacy adapter docs into deprecated/
  • Adding new content:
    • api-service.md
    • broker.md
    • sentinel.md
    • glossary.md
  • Adding
    • CONTRIBUTING.md
    • adr/README.md
  • Updating CLAUDE.md, README.md, and all standards docs

Summary by CodeRabbit

  • New Features

    • Added API Service and Message Broker documentation, Glossary, ADRs, and a CONTRIBUTING guide.
  • Documentation

    • Reorganized repository layout and centralized deprecated content.
    • Standardized metadata to YAML front-matter and added Overview sections across docs.
    • Enforced doc acceptance rules (use only Active pages; ignore deprecated paths) and updated navigation.
    • Updated commit-message format and linked commit guidance.

…structure

The changes include:
  - Adding/standardizing metadata headers across all documents
  - Reorganizing structure (moving MVP, deployment, legacy adapter docs
into deprecated/)
  - Adding new content to api-service.md, broker.md, sentinel.md,
glossary.md
  - Adding CONTRIBUTING.md, adr/README.md, deprecated/README.md
  - Updating CLAUDE.md, README.md, and all standards docs
@openshift-ci openshift-ci bot requested review from Mischulee and jsell-rh March 27, 2026 08:00
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 27, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

This pull request standardizes and reorganizes the HyperFleet Architecture documentation. It replaces the prior architecture/ layout with hyperfleet/README.md, adds hyperfleet/adr/ and hyperfleet/deprecated/, and removes several legacy folders. Most Markdown files were converted to use YAML front-matter (Status, Owner, Last Updated) and “Overview” section headings; document acceptance rules were tightened to prefer active pages and exclude deprecated paths. New docs include CONTRIBUTING.md, a glossary, ADR guidance, component pages (e.g., api-service.md, broker.md), and many updated internal link paths.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and directly describes the main changes: standardizing documentation headers and reorganizing the repository structure, which are the core objectives of this PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 12

🧹 Nitpick comments (2)
hyperfleet/components/adapter/framework/adapter-design-decisions.md (1)

16-16: Consider restoring this related document entry as a link.

adapter-config-template-MVP.yaml is now plain text; making it a relative link improves navigation in the “Related Documentation” section.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet/components/adapter/framework/adapter-design-decisions.md` at line
16, The "Related Documentation" entry for adapter-config-template-MVP.yaml was
converted to plain text; revert it to a relative Markdown link by replacing the
backticked filename `adapter-config-template-MVP.yaml` with a proper Markdown
link (link text "adapter-config-template-MVP.yaml" pointing to the correct
relative path to that file) in the adapter-design-decisions.md "Related
Documentation" section so readers can click through to the document.
hyperfleet/docs/pull-secret-service-ddr.md (1)

11-13: Remove the duplicated horizontal separator at the top.

Line 11 adds --- immediately before another existing --- on Line 13, which creates avoidable visual noise.

As per coding guidelines, "Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet/docs/pull-secret-service-ddr.md` around lines 11 - 13, Remove the
duplicated YAML/Markdown document separator by deleting the extra leading '---'
so there is only a single top-of-file separator; locate the two consecutive
'---' lines at the top of the hyperfleet/docs/pull-secret-service-ddr.md and
remove the first one to eliminate the redundant horizontal separator and clean
up the document header.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CLAUDE.md`:
- Around line 35-37: The policy that "Unless asked explicitly otherwise, discard
any document with `Status` field different than `Active`" wrongly removes ADRs;
update the rule to only apply to standards/docs pages and explicitly exempt ADRs
by adding an exception for the `hyperfleet/adr/` path (and/or files matching ADR
naming), and keep the separate "deprecated" name/folder rule but likewise scope
it so it does not apply to `hyperfleet/adr/`; locate the text containing the
`Status` rule and the "deprecated" rule and modify their scope to exclude the
`hyperfleet/adr/` path.

In `@hyperfleet/architecture/hyperfleet-system.drawio`:
- Around line 1-328: The repository standard requires a text-based Mermaid
diagram instead of only Draw.io XML; convert the diagram represented by this
Draw.io file (identify key nodes like mxCell id="title", "user", "api", "db",
"sentinel", "broker", "adapter_bg", "k8s_bg" and edges like "e_user_api",
"e_api_db", "e_sentinel_broker", "e_broker_adapters", "e_adapters_api_status")
into an equivalent Mermaid flowchart (or add a new .mmd Mermaid source) that
captures the same boxes, notes, and edges (labels such as POST /clusters, Poll
5s, fan-out, POST /clusters/{id}/statuses); add the Mermaid file alongside the
existing hyperfleet-system.drawio (or replace it) and update any README or doc
references to point to the new Mermaid source so future diffs/reviews use the
text-based diagram.

In `@hyperfleet/components/adapter/framework/adapter-metrics.md`:
- Around line 13-16: Remove the duplicated YAML metadata block (the second
front-matter containing "Status: MVP" and its date) so the document only
contains the primary front-matter at the top ("Status: Active" etc.); locate the
redundant metadata block (the second set of three dashes and the keys "Status"
and "Last Updated") and delete it to avoid conflicting document status and
drift.

In
`@hyperfleet/deprecated/components/adapter/deprecated-DNS/cloud-dns-exploration.md`:
- Line 9: Update the deprecation note text to fix hyphenation: locate the
sentence containing the phrase "GCP specific adapters" in the document (the
deprecation note about GCP adapters) and change it to "GCP-specific adapters" so
the user-facing wording reads "...Deprecated since GCP-specific adapters will be
developed by GCP team and out of scope for the core HyperFleet repositories."
Ensure only the hyphenation is changed and punctuation/spacing remains
consistent.

In
`@hyperfleet/deprecated/components/adapter/deprecated-DNS/gcp-dns-adapter-spike-report.md`:
- Line 9: Update the deprecation notice sentence that reads "GCP specific
adapters will be developed by GCP team" to use correct hyphenation: replace the
phrase "GCP specific adapters" with "GCP-specific adapters" in the markdown
content (search for the exact string "GCP specific adapters" in the
deprecated-DNS spike report and change it to "GCP-specific adapters" to preserve
style and meaning).

In
`@hyperfleet/deprecated/components/adapter/deprecated-maestro-cli/maestro-adapter-integration-strategy.md`:
- Line 12: Replace the inline code snippet `adapter/maestro-integration/` with
an explicit repo-root Markdown link so readers can click to the replacement doc
reliably; update the text to use a clickable link (e.g.
`[adapter/maestro-integration](/adapter/maestro-integration/)` pointing at the
repo-root) wherever `adapter/maestro-integration/` appears in the document (the
deprecated-maestro-cli strategy description) to ensure correct navigation after
the file move.

In
`@hyperfleet/deprecated/components/adapter/deprecated-PullSecret/pull-secret-requirements.md`:
- Line 12: Update the deprecation sentence to use the hyphenated compound
adjective: replace the phrase "GCP specific adapters" with "GCP-specific
adapters" in the deprecation statement (locate the sentence containing "GCP
specific adapters" in pull-secret-requirements.md) so the wording reads
correctly.

In `@hyperfleet/deprecated/deployment/GKE/Quickstart.md`:
- Line 2: The document has contradictory metadata: the header value "Status:
Active" in the file should reflect that the page lives under a deprecated
archive; change the status field value from "Status: Active" to a matching
archival value such as "Status: Historical" or "Status: Deprecated" so the
document’s metadata aligns with its deprecated location and will be filtered
correctly by status-based navigation.

In `@hyperfleet/docs/glossary.md`:
- Line 44: Update the MVP glossary entry in the "MVP (Minimum Viable Product)"
line so the referenced path points to the new location; replace the stale
`hyperfleet/mvp/` path with `hyperfleet/deprecated/` in the string so the
glossary directs readers to the moved MVP material (edit the glossary.md entry
containing "MVP (Minimum Viable Product)").

In `@hyperfleet/docs/prow-cicd-cluster.md`:
- Around line 1-5: The document has conflicting dates between the front matter
"Last Updated: 2026-01-26" and the footer text showing "2026-01-23"; update the
footer to match the front matter or remove the hardcoded footer date so the
canonical "Last Updated" in the front matter is the single source of truth, and
if this file is generated ensure the generator/template that sets the footer
reads the front matter "Last Updated" value (or remove the footer date entirely)
to keep both locations in sync.

In `@hyperfleet/docs/pull-secret-service-ddr.md`:
- Line 1274: The cross-reference label text "[Section5.1 Authentication]" does
not match its anchor "#61-authentication-flow"; update the link text to reflect
the actual destination by changing the label to "[Section6.1 Authentication]" so
the displayed section number matches the anchor, ensuring the link reads
"[Section6.1 Authentication](`#61-authentication-flow`)".

In `@hyperfleet/docs/test-release/test-release-MVP.md`:
- Around line 531-540: The Chart.yaml example in this document has been polluted
with document front-matter/prose; locate the Helm snippet labeled "Chart.yaml"
(the example block that currently contains the Status/Owner/Last Updated
metadata) and remove the inserted front-matter so the snippet contains only
valid Chart.yaml fields (e.g., apiVersion, name, version, description). Move the
historical document metadata back into the surrounding prose or front-matter
section outside the code block so copy/paste of the Chart.yaml example yields a
valid Helm chart descriptor (references: the Chart.yaml example block and any
surrounding headings that introduce it).

---

Nitpick comments:
In `@hyperfleet/components/adapter/framework/adapter-design-decisions.md`:
- Line 16: The "Related Documentation" entry for
adapter-config-template-MVP.yaml was converted to plain text; revert it to a
relative Markdown link by replacing the backticked filename
`adapter-config-template-MVP.yaml` with a proper Markdown link (link text
"adapter-config-template-MVP.yaml" pointing to the correct relative path to that
file) in the adapter-design-decisions.md "Related Documentation" section so
readers can click through to the document.

In `@hyperfleet/docs/pull-secret-service-ddr.md`:
- Around line 11-13: Remove the duplicated YAML/Markdown document separator by
deleting the extra leading '---' so there is only a single top-of-file
separator; locate the two consecutive '---' lines at the top of the
hyperfleet/docs/pull-secret-service-ddr.md and remove the first one to eliminate
the redundant horizontal separator and clean up the document header.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 05928ad6-09d7-4fac-a073-1a877e4c59fc

📥 Commits

Reviewing files that changed from the base of the PR and between 75b5b47 and f534d9a.

⛔ Files ignored due to path filters (7)
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/images/image1.png is excluded by !**/*.png
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/images/image2.png is excluded by !**/*.png
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/images/image3.png is excluded by !**/*.png
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/images/image4.png is excluded by !**/*.png
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/images/image5.png is excluded by !**/*.png
  • hyperfleet/docs/e2e-testing/hyperfleet-e2e.png is excluded by !**/*.png
  • hyperfleet/docs/test-release/images/image1.png is excluded by !**/*.png
📒 Files selected for processing (82)
  • CLAUDE.md
  • CONTRIBUTING.md
  • README.md
  • hyperfleet/README.md
  • hyperfleet/adr/README.md
  • hyperfleet/architecture/hyperfleet-system.drawio
  • hyperfleet/components/adapter/adapter-versioning.md
  • hyperfleet/components/adapter/framework/adapter-deployment.md
  • hyperfleet/components/adapter/framework/adapter-design-decisions.md
  • hyperfleet/components/adapter/framework/adapter-flow-diagrams.md
  • hyperfleet/components/adapter/framework/adapter-frame-design.md
  • hyperfleet/components/adapter/framework/adapter-integration-tests.md
  • hyperfleet/components/adapter/framework/adapter-metrics.md
  • hyperfleet/components/adapter/framework/adapter-status-contract.md
  • hyperfleet/components/adapter/framework/maestro-integration-guide.md
  • hyperfleet/components/adapter/maestro-integration/SPIKE-maestro-adapter-integration.md
  • hyperfleet/components/adapter/maestro-integration/maestro-architecture-introduction.md
  • hyperfleet/components/api-service/api-service.md
  • hyperfleet/components/api-service/api-versioning.md
  • hyperfleet/components/api-service/post-mvp-actions.md
  • hyperfleet/components/broker/broker.md
  • hyperfleet/components/claude-code-plugin/claude-code-plugins-spike.md
  • hyperfleet/components/claude-code-plugin/plugin-brainstorming.md
  • hyperfleet/components/sentinel/sentinel-naming-strategy.md
  • hyperfleet/components/sentinel/sentinel-versioning.md
  • hyperfleet/components/sentinel/sentinel.md
  • hyperfleet/deprecated/README.md
  • hyperfleet/deprecated/components/adapter/README.md
  • hyperfleet/deprecated/components/adapter/deprecated-DNS/cloud-dns-exploration.md
  • hyperfleet/deprecated/components/adapter/deprecated-DNS/gcp-dns-adapter-spike-report.md
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/gcp-secret-manager-sdk-methods.md
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/pull-secret-requirements.md
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/pull-secret-service-ddr.md
  • hyperfleet/deprecated/components/adapter/deprecated-PullSecret/pullsecret-adapter-config.yaml
  • hyperfleet/deprecated/components/adapter/deprecated-hypershift/hypershift-controlplane-adapter-spike.md
  • hyperfleet/deprecated/components/adapter/deprecated-maestro-cli/maestro-adapter-integration-strategy.md
  • hyperfleet/deprecated/components/adapter/deprecated-maestro-cli/maestro-cli-implementation.md
  • hyperfleet/deprecated/components/adapter/deprecated-validation/gcp-validation-adapter-spike-report.md
  • hyperfleet/deprecated/deployment/GKE/.gitignore
  • hyperfleet/deprecated/deployment/GKE/Quickstart.md
  • hyperfleet/deprecated/deployment/GKE/README.md
  • hyperfleet/deprecated/deployment/GKE/cluster-envs/dev-spot-zonal.env
  • hyperfleet/deprecated/deployment/GKE/cluster-envs/dev-standard-zonal.env
  • hyperfleet/deprecated/deployment/GKE/create-gke-cluster.sh
  • hyperfleet/deprecated/deployment/GKE/delete-gke-cluster.sh
  • hyperfleet/deprecated/mvp/mvp-scope.md
  • hyperfleet/deprecated/mvp/mvp-working-agreement.md
  • hyperfleet/docs/documentation.md
  • hyperfleet/docs/e2e-testing/e2e-run-strategy-spike-report.md
  • hyperfleet/docs/e2e-testing/e2e-testing-framework-spike-report.md
  • hyperfleet/docs/glossary.md
  • hyperfleet/docs/hyperfleet-release-process.md
  • hyperfleet/docs/prow-cicd-cluster.md
  • hyperfleet/docs/pull-secret-service-ddr.md
  • hyperfleet/docs/repository-creation-guidelines.md
  • hyperfleet/docs/sentinel-pulses.md
  • hyperfleet/docs/status-guide.md
  • hyperfleet/docs/test-release/add-clm-cd-job-in-prow.md
  • hyperfleet/docs/test-release/add-hyperfleet-e2e-ci-job-in-prow.md
  • hyperfleet/docs/test-release/add-job-configuration-in-prow.md
  • hyperfleet/docs/test-release/git-and-release-strategy.md
  • hyperfleet/docs/test-release/onboarding-a-new-component-for-testing-and-merge-automation.md
  • hyperfleet/docs/test-release/prow-vault-access-management.md
  • hyperfleet/docs/test-release/test-release-MVP.md
  • hyperfleet/docs/versioning-trade-offs.md
  • hyperfleet/docs/wif-spike.md
  • hyperfleet/standards/CLAUDE.md
  • hyperfleet/standards/commit-standard.md
  • hyperfleet/standards/configuration.md
  • hyperfleet/standards/container-image-standard.md
  • hyperfleet/standards/dependency-pinning.md
  • hyperfleet/standards/directory-structure.md
  • hyperfleet/standards/error-model.md
  • hyperfleet/standards/generated-code-policy.md
  • hyperfleet/standards/graceful-shutdown.md
  • hyperfleet/standards/health-endpoints.md
  • hyperfleet/standards/helm-chart-conventions.md
  • hyperfleet/standards/linting.md
  • hyperfleet/standards/logging-specification.md
  • hyperfleet/standards/makefile-conventions.md
  • hyperfleet/standards/metrics.md
  • hyperfleet/standards/tracing.md

# SPIKE REPORT: Define DNS Adapter Requirements and Implementation Plan for GCP

> Spike report from the GCP DNS adapter investigation, documenting findings, challenges, and recommendations from the exploration. Deprecated since GCP specific adapters will be developed by GCP team and out of scope for the core HyperFleet repositories
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix hyphenation in the deprecation notice.
Use “GCP-specific adapters” instead of “GCP specific adapters”.

Suggested patch
-> Spike report from the GCP DNS adapter investigation, documenting findings, challenges, and recommendations from the exploration. Deprecated since GCP specific adapters will be developed by GCP team and out of scope for the core HyperFleet repositories
+> Spike report from the GCP DNS adapter investigation, documenting findings, challenges, and recommendations from the exploration. Deprecated since GCP-specific adapters will be developed by GCP team and out of scope for the core HyperFleet repositories
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
> Spike report from the GCP DNS adapter investigation, documenting findings, challenges, and recommendations from the exploration. Deprecated since GCP specific adapters will be developed by GCP team and out of scope for the core HyperFleet repositories
> Spike report from the GCP DNS adapter investigation, documenting findings, challenges, and recommendations from the exploration. Deprecated since GCP-specific adapters will be developed by GCP team and out of scope for the core HyperFleet repositories
🧰 Tools
🪛 LanguageTool

[grammar] ~9-~9: Use a hyphen to join words.
Context: ...om the exploration. Deprecated since GCP specific adapters will be developed by G...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@hyperfleet/deprecated/components/adapter/deprecated-DNS/gcp-dns-adapter-spike-report.md`
at line 9, Update the deprecation notice sentence that reads "GCP specific
adapters will be developed by GCP team" to use correct hyphenation: replace the
phrase "GCP specific adapters" with "GCP-specific adapters" in the markdown
content (search for the exact string "GCP specific adapters" in the
deprecated-DNS spike report and change it to "GCP-specific adapters" to preserve
style and meaning).

| [Section2.3 RHIT Client](#23-support-for-privatecustomer-specific-registries) | RHITClient uses `/partners/hyperfleet/` namespace (not `/partners/ocm-service/`) |
| [Section4 Deployment](#4-deployment-architecture) | Separate mTLS certificates deployed in HyperFleet namespace |
| [Section5.1 Authentication](#51-authentication-flow) | HyperFleet-specific client certificates for RHIT mTLS |
| [Section5.1 Authentication](#61-authentication-flow) | HyperFleet-specific client certificates for RHIT mTLS |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix section label and anchor mismatch in the cross-reference.

Line 1274 links to #61-authentication-flow (Section 6.1) but the link text still says Section5.1 Authentication. Update the text to match the destination to avoid confusion.

As per coding guidelines, "Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet/docs/pull-secret-service-ddr.md` at line 1274, The cross-reference
label text "[Section5.1 Authentication]" does not match its anchor
"#61-authentication-flow"; update the link text to reflect the actual
destination by changing the label to "[Section6.1 Authentication]" so the
displayed section number matches the anchor, ensuring the link reads
"[Section6.1 Authentication](`#61-authentication-flow`)".

Copy link
Copy Markdown
Contributor

@ciaranRoche ciaranRoche left a comment

Choose a reason for hiding this comment

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

Left some inline comments on things CodeRabbit didn't catch. The new api-service.md, broker.md, and sentinel trade-offs content is solid work. Main things to sort are the README tree mismatch, a couple of status field artifacts from the header injection, and the status value vocabulary question.

@@ -8,7 +18,9 @@
## Metadata
**JIRA Story**: HYPERFLEET-60
**Date**: December 3, 2025,
**Status**: Outdated, the following spike report serves as a record of the DNS-related findings.
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks like the header injection script picked up the old inline **Status**: Outdated, the following spike report... and wrapped it in frontmatter fences. Two things going on here: "Outdated" isn't a recognized status value (this doc already has Status: Deprecated in the real frontmatter at the top, which is correct), and the full sentence belongs in the summary blockquote, not the status field.

This whole second block (lines 21-23) can just be deleted since the top-level frontmatter already covers it. The original sentence is preserved in the > Note: blockquote right above anyway.

@@ -32,18 +30,24 @@ All documents are **living documents** that evolve with design and implementatio
- **Active**: Current implementation
- **Deprecated**: No longer used (link to replacement)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Three documents in this PR use status values that aren't in this list: Draft (hyperfleet-release-process.md), Pending (versioning-trade-offs.md), and Outdated (gcp-dns-adapter-spike-report.md, see other comment). The ADR template also introduces Proposed, Accepted, and Superseded.

Worth deciding: are Draft and Pending official statuses? If so, add them here so the convention is self-documenting. If not, pick from the existing set. The ADR lifecycle statuses (Proposed/Accepted/Superseded) are probably fine to keep scoped to the ADR README but CodeRabbit has a good point that the "discard anything not Active" rule above would filter them out.

README.md Outdated
│ ├── adapter/ # Adapter framework and implementations
│ │ ├── framework/ # Core adapter design docs
│ │ ├── maestro-integration/
│ │ ├── deprecated/ # Deprecated adapters
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This tree shows adapter/deprecated/ as a subdirectory under components/adapter/, but the actual deprecated content in this PR moved to hyperfleet/deprecated/components/adapter/. There's no components/adapter/deprecated/ directory after this PR lands.

The tree is also missing the top-level hyperfleet/deprecated/ directory entirely (the CLAUDE.md tree gets this right). Should be something like:

    ├── deprecated/                # Archived documents (MVP, old adapters, deployment)

at the same level as components/, adr/, docs/, standards/.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

fixed


| Directory | What It Was | Deprecated | Reason | Replaced By |
|-----------|------------|------------|--------|-------------|
| `components/adapter/deprecated-DNS/` | GCP DNS adapter spike report | 2025-12 | GCP-specific adapters moved out of core HyperFleet scope (HYPERFLEET-55) | GCP team repo |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Minor naming thing, same comment from #111: the deprecated- prefix on every subdirectory feels redundant when they're already under deprecated/. DNS/, PullSecret/, etc. would read cleaner and avoid the stutter. Not a blocker, just worth considering while this structure is fresh.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

yes, renamed

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@hyperfleet/adrs/README.md`:
- Around line 1-79: The repo uses two directory name variants ("adrs" vs "adr")
causing broken links; pick one convention (recommended: "adrs") and update all
references to match: change any relative links that point to "../adr/README.md"
or "hyperfleet/adr/" to "../adrs/README.md" or "hyperfleet/adrs/" and update the
link text where necessary; specifically edit the files named documentation.md
and README.md to replace occurrences of "adr" with "adrs" so they point to the
existing adrs directory and verify the ADR index/template references are
consistent with the chosen name.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a52121f4-f814-4ee5-869e-13f058a65b3d

📥 Commits

Reviewing files that changed from the base of the PR and between 3857558 and aa7707d.

📒 Files selected for processing (1)
  • hyperfleet/adrs/README.md

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (2)
CLAUDE.md (1)

35-37: ⚠️ Potential issue | 🟠 Major

Status filtering conflicts with ADR lifecycle.

The blanket rule at line 35 to discard documents with Status different from Active will filter out valid ADRs that use lifecycle statuses like Proposed, Accepted, or Superseded (as defined in hyperfleet/adr/README.md mentioned in this PR).

Consider scoping this rule to apply only to components/standards/docs and explicitly exempting the hyperfleet/adr/ path.

📋 Proposed fix to exempt ADRs
 ## Use only Active status pages
 
-Unless asked explicitly otherwise, discard any document with `Status` field different than `Active`
+Unless asked explicitly otherwise, discard any document with `Status` field different from `Active`,
+except ADRs under `hyperfleet/adr/` which may use lifecycle statuses (e.g., Proposed, Accepted, Superseded).
 
 Unless asked explicitly otherwise, discard any document with "deprecated" in the name or under a folder with "deprecated" in the name
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CLAUDE.md` around lines 35 - 37, The current CLAUDE.md rule that discards any
document with a `Status` field not equal to `Active` will erroneously exclude
ADRs; update the rule so the `Status`-based discard applies only to
component/standards/docs content (e.g., "components/", "standards/", "docs/")
and explicitly exempt the hyperfleet ADR directory by adding an exception for
the `hyperfleet/adr/` path; keep the existing "deprecated" filename/folder check
but likewise exclude `hyperfleet/adr/` from that check to preserve ADR lifecycle
statuses like `Proposed`, `Accepted`, and `Superseded`.
hyperfleet/deprecated/components/adapter/DNS/gcp-dns-adapter-spike-report.md (1)

21-23: ⚠️ Potential issue | 🟡 Minor

Remove the duplicate metadata block.

Lines 21-23 contain a redundant Status: Outdated metadata block that conflicts with the correct YAML front-matter already present at the top of the document (lines 1-5, which correctly shows Status: Deprecated). This duplicate block appears to be an artifact from automated header injection and creates confusion about the document's actual status.

🧹 Proposed fix to remove duplicate metadata
 **JIRA Story**: HYPERFLEET-60  
 **Date**: December 3, 2025,  
----
-Status: Outdated, the following spike report serves as a record of the DNS-related findings.
----
 ---
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet/deprecated/components/adapter/DNS/gcp-dns-adapter-spike-report.md`
around lines 21 - 23, Remove the duplicate YAML metadata block containing
"Status: Outdated" (the redundant `--- Status: Outdated ... ---` block) so only
the original front-matter that shows "Status: Deprecated" remains; locate the
duplicate metadata block in the document body and delete it, ensuring there is a
single valid YAML front-matter at the top and no other `---` metadata blocks
elsewhere.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@CLAUDE.md`:
- Around line 35-37: The current CLAUDE.md rule that discards any document with
a `Status` field not equal to `Active` will erroneously exclude ADRs; update the
rule so the `Status`-based discard applies only to component/standards/docs
content (e.g., "components/", "standards/", "docs/") and explicitly exempt the
hyperfleet ADR directory by adding an exception for the `hyperfleet/adr/` path;
keep the existing "deprecated" filename/folder check but likewise exclude
`hyperfleet/adr/` from that check to preserve ADR lifecycle statuses like
`Proposed`, `Accepted`, and `Superseded`.

In
`@hyperfleet/deprecated/components/adapter/DNS/gcp-dns-adapter-spike-report.md`:
- Around line 21-23: Remove the duplicate YAML metadata block containing
"Status: Outdated" (the redundant `--- Status: Outdated ... ---` block) so only
the original front-matter that shows "Status: Deprecated" remains; locate the
duplicate metadata block in the document body and delete it, ensuring there is a
single valid YAML front-matter at the top and no other `---` metadata blocks
elsewhere.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: de324381-f2b9-49d5-94d0-16121f4f3b01

📥 Commits

Reviewing files that changed from the base of the PR and between aa7707d and 97220fb.

⛔ Files ignored due to path filters (5)
  • hyperfleet/deprecated/components/adapter/PullSecret/images/image1.png is excluded by !**/*.png
  • hyperfleet/deprecated/components/adapter/PullSecret/images/image2.png is excluded by !**/*.png
  • hyperfleet/deprecated/components/adapter/PullSecret/images/image3.png is excluded by !**/*.png
  • hyperfleet/deprecated/components/adapter/PullSecret/images/image4.png is excluded by !**/*.png
  • hyperfleet/deprecated/components/adapter/PullSecret/images/image5.png is excluded by !**/*.png
📒 Files selected for processing (12)
  • CLAUDE.md
  • README.md
  • hyperfleet/deprecated/components/adapter/DNS/cloud-dns-exploration.md
  • hyperfleet/deprecated/components/adapter/DNS/gcp-dns-adapter-spike-report.md
  • hyperfleet/deprecated/components/adapter/PullSecret/gcp-secret-manager-sdk-methods.md
  • hyperfleet/deprecated/components/adapter/PullSecret/pull-secret-requirements.md
  • hyperfleet/deprecated/components/adapter/PullSecret/pull-secret-service-ddr.md
  • hyperfleet/deprecated/components/adapter/PullSecret/pullsecret-adapter-config.yaml
  • hyperfleet/deprecated/components/adapter/hypershift/hypershift-controlplane-adapter-spike.md
  • hyperfleet/deprecated/components/adapter/maestro-cli/maestro-adapter-integration-strategy.md
  • hyperfleet/deprecated/components/adapter/maestro-cli/maestro-cli-implementation.md
  • hyperfleet/deprecated/components/adapter/validation/gcp-validation-adapter-spike-report.md
✅ Files skipped from review due to trivial changes (5)
  • hyperfleet/deprecated/components/adapter/validation/gcp-validation-adapter-spike-report.md
  • hyperfleet/deprecated/components/adapter/PullSecret/gcp-secret-manager-sdk-methods.md
  • hyperfleet/deprecated/components/adapter/maestro-cli/maestro-adapter-integration-strategy.md
  • hyperfleet/deprecated/components/adapter/maestro-cli/maestro-cli-implementation.md
  • hyperfleet/deprecated/components/adapter/hypershift/hypershift-controlplane-adapter-spike.md

Copy link
Copy Markdown
Contributor

@ciaranRoche ciaranRoche left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Mar 27, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ciaranRoche

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

The pull request process is described 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

@openshift-merge-bot openshift-merge-bot bot merged commit 8137eea into openshift-hyperfleet:main Mar 27, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants