Skip to content

HYPERFLEET-1017 - refactor: rename Available to LastKnownReconciled and align example reasons#43

Merged
openshift-merge-bot[bot] merged 2 commits into
openshift-hyperfleet:mainfrom
rafabene:HYPERFLEET-1017-rename-available-to-last-known-reconciled
May 11, 2026
Merged

HYPERFLEET-1017 - refactor: rename Available to LastKnownReconciled and align example reasons#43
openshift-merge-bot[bot] merged 2 commits into
openshift-hyperfleet:mainfrom
rafabene:HYPERFLEET-1017-rename-available-to-last-known-reconciled

Conversation

@rafabene
Copy link
Copy Markdown
Contributor

@rafabene rafabene commented May 8, 2026

Summary

  • Align example reason/message constants with the aggregation code output in hyperfleet-api
    • ExampleLastKnownReconciledReasonAllAdaptersReconciled
    • ExampleReadyReason / ExampleReconciledReasonReconciledAll
  • Restore aliases.tsp symlink convention and document it in CLAUDE.md

Context

The LastKnownReconciled condition type and enum value were already added to main. This PR aligns the example payload reason/message values with the actual output from computeLastKnownReconciled() and computeReconciled() in the API code.

Test plan

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 8, 2026

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • Version Bump

    • API version updated to 1.0.12
  • Bug Fixes

    • Standardized status condition reason codes and messages in cluster and nodepool deletion responses for improved clarity on reconciliation states (Ready, Reconciled, LastKnownReconciled).

Walkthrough

Documentation was expanded in CLAUDE.md to describe the TypeSpec provider-alias workflow (the aliases.tsp symlink as the active provider pointer, build-schema.sh re-links it, and the symlink should remain tracked in git) and added a "Version Bump and Changelog" procedure. Example constant strings in models/common/model.tsp were updated. OpenAPI/Swagger docs and example payloads in schemas/{core,gcp}/* were updated to bump version to 1.0.12 and standardize status.condition reason/message wording (e.g., ReconciledAll, AllAdaptersReconciled, "tracked generation"). No API shapes or exported signatures changed.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main changes: renaming Available to LastKnownReconciled and aligning example reason constants with API output.
Description check ✅ Passed The description comprehensively explains the changes, context, and testing performed, directly relating to the changeset.
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.

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

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

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 8, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 6d3fc131-7475-4747-91be-ae9b55e9bb66

📥 Commits

Reviewing files that changed from the base of the PR and between 6f87b76 and 8f694bb.

📒 Files selected for processing (7)
  • aliases.tsp
  • models/clusters/model.tsp
  • models/nodepools/model.tsp
  • schemas/core/openapi.yaml
  • schemas/core/swagger.yaml
  • schemas/gcp/openapi.yaml
  • schemas/gcp/swagger.yaml

📝 Walkthrough

Summary by CodeRabbit

  • Changes
    • Increased minimum required status conditions from 2 to 3 for cluster and nodepool resources.
    • Updated alias definitions to use core configuration.

Walkthrough

This pull request updates validation constraints for status condition arrays across the API schema and model definitions. The conditions array in both ClusterStatus and NodePoolStatus now requires a minimum of 3 items instead of 2. These constraints are updated in TypeSpec model files (models/clusters/model.tsp, models/nodepools/model.tsp) and their corresponding OpenAPI and Swagger schema representations. Additionally, the aliases.tsp file now references aliases-core.tsp instead of aliases-gcp.tsp.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: updating minItems constraint from 2 to 3 for conditions arrays in the TypeSpec models.
Description check ✅ Passed The description is directly related to the changeset, explaining the rationale for the fix, listing affected files, and providing a comprehensive test plan.
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.

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

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

Warning

Review ran into problems

🔥 Problems

Linked repositories: Couldn't analyze openshift-hyperfleet/architecture - clone failed: Clone operation failed: Cloning into '/home/jailuser/git'...
warning: templates not found in /usr/share/git-core/templates
fatal: unable to access 'https://github.com/openshift-hyperfleet/architecture.git/': Failed to connect to github.com port 443 after 135255 ms: Couldn't connect to server


Linked repositories: Couldn't analyze openshift-hyperfleet/hyperfleet-sentinel - clone failed: Clone operation failed: Cloning into '/home/jailuser/git'...
warning: templates not found in /usr/share/git-core/templates
fatal: unable to access 'https://github.com/openshift-hyperfleet/hyperfleet-sentinel.git/': Failed to connect to github.com port 443 after 135227 ms: Couldn't connect to server


Linked repositories: Couldn't analyze openshift-hyperfleet/hyperfleet-broker - clone failed: Clone operation failed: Cloning into '/home/jailuser/git'...
warning: templates not found in /usr/share/git-core/templates
fatal: unable to access 'https://github.com/openshift-hyperfleet/hyperfleet-broker.git/': Failed to connect to github.com port 443 after 134775 ms: Couldn't connect to server


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

@rafabene rafabene force-pushed the HYPERFLEET-1017-rename-available-to-last-known-reconciled branch 2 times, most recently from be41887 to 4f6584e Compare May 11, 2026 13:47
Copy link
Copy Markdown

@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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@aliases.tsp`:
- Line 1: Replace the internal statuses import to restore public/internal API
separation: in aliases.tsp remove the import of
"./services/statuses-internal.tsp" and import "./services/statuses.tsp" instead
so only the public read-only statuses API is exposed; ensure no other references
in aliases.tsp rely on internal-only endpoints.
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: e25aa231-7591-4244-95c8-d45cb4aa5b68

📥 Commits

Reviewing files that changed from the base of the PR and between d8a0f05 and 4f6584e.

📒 Files selected for processing (10)
  • CHANGELOG.md
  • CLAUDE.md
  • aliases.tsp
  • main.tsp
  • models/clusters/model.tsp
  • models/nodepools/model.tsp
  • schemas/core/openapi.yaml
  • schemas/core/swagger.yaml
  • schemas/gcp/openapi.yaml
  • schemas/gcp/swagger.yaml

Comment thread aliases.tsp Outdated
Comment thread aliases.tsp Outdated
Comment thread aliases.tsp Outdated
@rafabene rafabene force-pushed the HYPERFLEET-1017-rename-available-to-last-known-reconciled branch from 4f6584e to d734384 Compare May 11, 2026 14:12
Copy link
Copy Markdown

@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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@main.tsp`:
- Line 23: Replace the current non-canonical `@info` decorator usage with the
extractor-friendly canonical object layout so the CI can parse the version;
specifically update the `@info`(...) expression (the `@info` decorator on the file)
to use a plain JS/TS-style object like `@info`({version: "1.0.12", contact: {name:
"HyperFleet Team"}, license: {name: "Apache 2.0", url:
"https://www.apache.org/licenses/LICENSE-2.0"}}) ensuring the version field
remains "1.0.12".
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 052553e5-6d92-4cdf-bd1b-1dfb3f9a57ed

📥 Commits

Reviewing files that changed from the base of the PR and between 4f6584e and d734384.

📒 Files selected for processing (11)
  • .gitignore
  • CHANGELOG.md
  • CLAUDE.md
  • aliases.tsp
  • main.tsp
  • models/clusters/model.tsp
  • models/nodepools/model.tsp
  • schemas/core/openapi.yaml
  • schemas/core/swagger.yaml
  • schemas/gcp/openapi.yaml
  • schemas/gcp/swagger.yaml
💤 Files with no reviewable changes (1)
  • aliases.tsp

Comment thread main.tsp
Copy link
Copy Markdown

@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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CLAUDE.md`:
- Around line 195-198: Update the CLAUDE.md wording to clarify that released
versions must be their own top-level sections (e.g., "## [X.Y.Z] - YYYY-MM-DD")
and must not be nested under the "## [Unreleased]" heading; change the
instruction around line referencing "## [Unreleased]" so it explicitly directs
maintainers to add a new sibling section for each release, list changes under
the appropriate subheadings ("Added", "Changed", "Fixed", "Removed"), and update
comparison links at the bottom to reference the new version tag—use the headings
"## [Unreleased]" and "## [X.Y.Z] - YYYY-MM-DD" as the identifiers to locate and
rewrite the confusing sentence.
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: e8e6dbd1-5995-4609-8f00-93698d2e1c80

📥 Commits

Reviewing files that changed from the base of the PR and between d734384 and b4cba3b.

📒 Files selected for processing (1)
  • CLAUDE.md

Comment thread CLAUDE.md Outdated
@rafabene rafabene force-pushed the HYPERFLEET-1017-rename-available-to-last-known-reconciled branch from b4cba3b to 78646c0 Compare May 11, 2026 14:31
@tirthct
Copy link
Copy Markdown
Contributor

tirthct commented May 11, 2026

I think minItems might be related to HYPERFLEET-853. We should keep minItems to 2 as we are in the transition period of Ready to Reconciled. Bumping to 3 tightens the schema contract — clients generated from the updated spec will reject responses with only 2 conditions, which can happen if the server hasn't fully rolled out the third condition yet This could be removed when we remove Ready completely (creating the JIRA ticket right now, will update this comment with the same). Ref: #34

Copy link
Copy Markdown

@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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CLAUDE.md`:
- Line 38: The CLAUDE.md guidance is out of sync with our artifact policy:
update the paragraph about aliases.tsp to state that aliases.tsp is a generated
symlink created/updated by build-schema.sh (and should not be tracked as a
source file), remove the sentence that says it must be tracked and always point
to aliases-core.tsp, and instead instruct authors to add aliases.tsp to
.gitignore (or confirm it's listed) so build artifacts aren't committed; also
add a brief note in build-schema.sh comments that the script manages
aliases.tsp/aliases-core.tsp symlink.
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 29d9f5b3-a9e4-49d8-8767-f016b2287b29

📥 Commits

Reviewing files that changed from the base of the PR and between b4cba3b and 78646c0.

📒 Files selected for processing (9)
  • CHANGELOG.md
  • CLAUDE.md
  • main.tsp
  • models/clusters/model.tsp
  • models/nodepools/model.tsp
  • schemas/core/openapi.yaml
  • schemas/core/swagger.yaml
  • schemas/gcp/openapi.yaml
  • schemas/gcp/swagger.yaml

Comment thread CLAUDE.md
@rafabene
Copy link
Copy Markdown
Contributor Author

@tirthct Good call — you're right. Reverted minItems back to 2 in 0bdfec1. During the transition period with Ready still present alongside Reconciled, bumping to 3 would break clients generated from the updated spec when the server returns only 2 conditions. We can bump to 3 once Ready is fully removed.

@rafabene rafabene force-pushed the HYPERFLEET-1017-rename-available-to-last-known-reconciled branch from 0bdfec1 to 2ce58a6 Compare May 11, 2026 14:41
…E.md

- Restore aliases.tsp symlink in git pointing to aliases-core.tsp by default
- Document aliases.tsp convention in CLAUDE.md
- Add changelog update instructions to CLAUDE.md
@rafabene rafabene force-pushed the HYPERFLEET-1017-rename-available-to-last-known-reconciled branch from 2ce58a6 to cd11b21 Compare May 11, 2026 14:45
Copy link
Copy Markdown

@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 (1)
main.tsp (1)

23-23: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

CI version extraction is failing on the @info metadata path.

Validation is currently failing to extract the version from main.tsp, which blocks merge/release automation. Please verify the workflow extractor pattern against this exact @info line and align one side (workflow regex or parse target format) so extraction is deterministic.

Run this read-only verification to pinpoint the mismatch:

#!/bin/bash
set -euo pipefail

echo "=== main.tsp version line context ==="
nl -ba main.tsp | sed -n '20,26p'

echo
echo "=== grep-based version extraction commands found in CI workflows ==="
if [ -d .github/workflows ]; then
  rg -n --iglob '*.yml' --iglob '*.yaml' 'grep -oP|version' .github/workflows -C2
else
  echo "No .github/workflows directory found."
fi

echo
echo "=== Reproduce likely extractor variants against main.tsp ==="
echo "- Double-quote lookbehind pattern:"
grep -oP '(?<=version: ")[^"]+' main.tsp || true

echo "- Single-quote lookbehind pattern:"
grep -oP "(?<=version: ')[^']+" main.tsp || true
🤖 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 `@main.tsp` at line 23, The CI extractor is not matching the `@info` line in
main.tsp (which contains `@info`(#{ version: "1.0.12", contact: #{ name:
"HyperFleet Team" } ... })) because the workflow's grep/regex expects a
different spacing/format around `version:`; update the CI workflow regex to
handle optional whitespace and the surrounding #{ } and quotes (for example use
a lookbehind like (?<=version:\s*")[^"]+ or a variant supporting single quotes),
or alternatively change the `@info` metadata to put version on its own
predictable line (e.g., version: "1.0.12") so the existing extractor matches;
reference `@info` and the literal `version: "1.0.12"` when making the change.
🤖 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 `@main.tsp`:
- Line 23: The CI extractor is not matching the `@info` line in main.tsp (which
contains `@info`(#{ version: "1.0.12", contact: #{ name: "HyperFleet Team" } ...
})) because the workflow's grep/regex expects a different spacing/format around
`version:`; update the CI workflow regex to handle optional whitespace and the
surrounding #{ } and quotes (for example use a lookbehind like
(?<=version:\s*")[^"]+ or a variant supporting single quotes), or alternatively
change the `@info` metadata to put version on its own predictable line (e.g.,
version: "1.0.12") so the existing extractor matches; reference `@info` and the
literal `version: "1.0.12"` when making the change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: c008322a-03e7-4028-8fcd-2fbd8215b2b3

📥 Commits

Reviewing files that changed from the base of the PR and between 78646c0 and 2ce58a6.

📒 Files selected for processing (7)
  • CHANGELOG.md
  • CLAUDE.md
  • main.tsp
  • schemas/core/openapi.yaml
  • schemas/core/swagger.yaml
  • schemas/gcp/openapi.yaml
  • schemas/gcp/swagger.yaml

@rafabene rafabene changed the title HYPERFLEET-1017 - fix: set minItems to 3 for conditions arrays HYPERFLEET-1017 - chore: restore aliases.tsp symlink and update CLAUDE.md May 11, 2026
@rafabene rafabene closed this May 11, 2026
@rafabene rafabene reopened this May 11, 2026
@rafabene rafabene closed this May 11, 2026
@rafabene
Copy link
Copy Markdown
Contributor Author

Closing — the rename changes (Available → LastKnownReconciled) are already in main. The generated openapi.yaml will be copied to hyperfleet-api in a separate PR that also adapts the Go code to the new TypeSpec types.

@rafabene rafabene reopened this May 11, 2026
@rafabene rafabene changed the title HYPERFLEET-1017 - chore: restore aliases.tsp symlink and update CLAUDE.md HYPERFLEET-1017 - refactor: rename Available to LastKnownReconciled and align example reasons May 11, 2026
Copy link
Copy Markdown

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

Caution

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

⚠️ Outside diff range comments (1)
schemas/core/openapi.yaml (1)

1-1: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Regenerate and commit schema artifacts to fix CI blocker

The PR currently fails validation because schemas/ is out of sync with TypeSpec sources. Please run and commit the generated output before merge:

./build-schema.sh core --swagger
./build-schema.sh gcp --swagger
git diff -- schemas/

As per coding guidelines, "Do not modify generated files in schemas/ or tsp-output/ directly" and "run ./build-schema.sh gcp and ./build-schema.sh core (and their --swagger variants if applicable), then verify outputs exist in schemas/*/openapi.yaml."

🤖 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 `@schemas/core/openapi.yaml` at line 1, The failure is caused by generated
schema artifacts being out of sync; run the generation scripts and commit their
outputs: execute "./build-schema.sh core --swagger" and "./build-schema.sh gcp
--swagger", verify the generated openapi.yaml files appear under schemas (and
ensure tsp-output/ if applicable), do not edit generated files by hand, then add
and commit the updated generated files and confirm "git diff -- schemas/" is
clean before merging.
🤖 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 `@schemas/core/openapi.yaml`:
- Line 1: The failure is caused by generated schema artifacts being out of sync;
run the generation scripts and commit their outputs: execute "./build-schema.sh
core --swagger" and "./build-schema.sh gcp --swagger", verify the generated
openapi.yaml files appear under schemas (and ensure tsp-output/ if applicable),
do not edit generated files by hand, then add and commit the updated generated
files and confirm "git diff -- schemas/" is clean before merging.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 2b78aa9d-41eb-4b86-bf54-2746578cdebe

📥 Commits

Reviewing files that changed from the base of the PR and between cd11b21 and 90c8867.

📒 Files selected for processing (2)
  • models/common/model.tsp
  • schemas/core/openapi.yaml

@rafabene rafabene force-pushed the HYPERFLEET-1017-rename-available-to-last-known-reconciled branch 2 times, most recently from 553eeb6 to cf019d7 Compare May 11, 2026 16:46
@rafabene rafabene force-pushed the HYPERFLEET-1017-rename-available-to-last-known-reconciled branch from cf019d7 to b77a76e Compare May 11, 2026 16:47
@rafabene
Copy link
Copy Markdown
Contributor Author

Consumed by: openshift-hyperfleet/hyperfleet-api#127

Copy link
Copy Markdown

@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

♻️ Duplicate comments (1)
main.tsp (1)

23-23: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

CI blocker: adjust @info layout so version extraction succeeds

Line 23 is still tied to a failing validation step (Failed to extract version from main.tsp). Please switch to the extractor-friendly canonical layout before merge.

Proposed fix
-@info(#{ version: "1.0.12", contact: #{ name: "HyperFleet Team" }, license: #{ name: "Apache 2.0" ,url: "https://www.apache.org/licenses/LICENSE-2.0"} })
+@info(#{
+  version: "1.0.12",
+  contact: #{ name: "HyperFleet Team" },
+  license: #{ name: "Apache 2.0", url: "https://www.apache.org/licenses/LICENSE-2.0" }
+})
🤖 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 `@main.tsp` at line 23, The `@info` block must be rewritten into the
extractor-friendly canonical layout so the version parser can find a top-level
version field; update the `@info`(...) invocation (symbol: `@info`) to expose
version as a plain top-level key with the exact string "1.0.12" (symbol:
version) and remove or flatten nested maps for contact and license (symbols:
contact, license) so the extractor can read version reliably.
🤖 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 `@models/common/model.tsp`:
- Around line 247-251: The new reason strings (ExampleLastKnownReconciledReason,
ExampleReadyReason, ExampleReconciledReason) introduce breaking values; update
the model to be backward-compatible by preserving the previous reason constants
or providing canonical-to-legacy mapping—e.g., add legacy aliases for
"AllAdaptersLastKnownReconciled" and any other prior values (keep
ExampleLastKnownReconciledMessage and ExampleReadyMessage as-is), or implement a
mapping function in the model that returns both new and legacy reason strings so
consumers like hyperfleet-sentinel continue to work during rollout; reference
the constants ExampleLastKnownReconciledReason, ExampleReconciledReason, and
ExampleReadyReason to add the legacy names or mapping.

---

Duplicate comments:
In `@main.tsp`:
- Line 23: The `@info` block must be rewritten into the extractor-friendly
canonical layout so the version parser can find a top-level version field;
update the `@info`(...) invocation (symbol: `@info`) to expose version as a plain
top-level key with the exact string "1.0.12" (symbol: version) and remove or
flatten nested maps for contact and license (symbols: contact, license) so the
extractor can read version reliably.
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: ed371805-ab89-4381-b74f-34d23f58de72

📥 Commits

Reviewing files that changed from the base of the PR and between 90c8867 and b77a76e.

📒 Files selected for processing (6)
  • main.tsp
  • models/common/model.tsp
  • schemas/core/openapi.yaml
  • schemas/core/swagger.yaml
  • schemas/gcp/openapi.yaml
  • schemas/gcp/swagger.yaml

Comment thread models/common/model.tsp
@ma-hill
Copy link
Copy Markdown
Contributor

ma-hill commented May 11, 2026

/lgtm

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 11, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ma-hill

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 98cfd7e into openshift-hyperfleet:main May 11, 2026
3 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.

4 participants