Repository navigation
chore: update OpenAPI to 57b5196b0cb6 - #477
Conversation
commit: |
There was a problem hiding this comment.
Superseded by the review of
bdca3e44.
This review, of e5f85a7a
✅ Approved — Routine pin bump with a matching changeset. No findings.
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
✅ All checks passed
📋 Code Quality: ✅ LGTM
Only the pinned OpenAPI revision and a changeset changed. The changeset follows the same format as the previous bump.
Reviewed commit: e5f85a7a
|
🤖 I've done a thorough review of your PR. Pins the Forge OpenAPI release; generated command artifacts remain unchanged.
|
|
| mean | stddev | min | max | |
|---|---|---|---|---|
| PR | 290.3 ms | 4.0 ms | 285.0 ms | 299.6 ms |
| base | 286.6 ms | 3.6 ms | 281.1 ms | 293.0 ms |
Δ (PR vs base): ↑ +3.7 ms (+1.3%)
Measured with hyperfine on ubuntu-latest (3 warmup runs, 20 timed runs). CI numbers carry ±a few ms of runner jitter; treat small deltas as noise.
e5f85a7 to
bdca3e4
Compare
|
LGTM! |
There was a problem hiding this comment.
Superseded by the review of
37f03ffb.
This review, of bdca3e44
✅ Approved — Routine OpenAPI pin bump. The regenerated Radar tld-type option is consistent across files, and the changeset is present. No findings.
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
✅ All checks passed
📋 Code Quality: ✅ LGTM
The pinned OpenAPI revision in packages/cli/generate.ts moves to c312f753550b. This regenerates the Radar tld-type option: it gains a SPECIAL_USE choice and a longer description. radar/tlds/list.ts and _meta/commands.json carry the same new value and the same description. The minor changeset in .changeset/update-openapi-c312f753550b.md fits a new option value, since cf is pre-1.0.
📝 Documentation: ✅ LGTM
No documentation concerns. The changeset matches the format of earlier OpenAPI bumps.
Reviewed commit: bdca3e44
bdca3e4 to
37f03ff
Compare
|
LGTM! |
There was a problem hiding this comment.
Superseded by the review of
eb1d9a3b.
This review, of 37f03ffb
✅ Approved — Routine OpenAPI pin bump. The generated output and the changeset are consistent, and there are no findings.
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
✅ All checks passed
📋 Code Quality: ✅ LGTM
packages/cli/generate.ts now pins ca625b491eef52eefded1a5f123d8024307c41b4. In the regenerated tld-type option, the SPECIAL_USE choice and the updated description are the same in radar/tlds/list.ts and _meta/commands.json.
📝 Documentation: ✅ LGTM
The changeset .changeset/update-openapi-ca625b491eef.md follows the format of earlier OpenAPI bumps. Its minor level fits a new option value, since cf is pre-1.0.
Reviewed commit: 37f03ffb
37f03ff to
eb1d9a3
Compare
There was a problem hiding this comment.
Superseded by the review of
bf7aa4ac.
This review, of eb1d9a3b
✅ Approved — Routine OpenAPI pin bump. The generated output and the changeset are consistent, and there are no findings.
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
✅ All checks passed
📋 Code Quality: ✅ LGTM
packages/cli/generate.ts now pins ca625b491eef52eefded1a5f123d8024307c41b4. In the regenerated tld-type option, the SPECIAL_USE choice and the updated description are the same in radar/tlds/list.ts and _meta/commands.json.
📝 Documentation: ✅ LGTM
The changeset .changeset/update-openapi-ca625b491eef.md follows the format of earlier OpenAPI bumps. Its minor level fits a new option value, since cf is pre-1.0.
Reviewed commit: eb1d9a3b — same changes as 37f03ffb, so this is that commit's review (no new review was run; line numbers are as of 37f03ffb)
eb1d9a3 to
bf7aa4a
Compare
|
LGTM! |
There was a problem hiding this comment.
Superseded by the review of
b5e10586.
This review, of bf7aa4ac
✅ Approved — This is a routine OpenAPI pin bump. The pinned SHA, the regenerated tld-type option and the changeset all agree, and there are no findings.
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
✅ All checks passed
📋 Code Quality: ✅ LGTM
packages/cli/generate.ts now pins da85f0061c0b7cb297b7c98ecafa9007cd671c32, which is the revision the description names. In the regenerated tld-type option, radar/tlds/list.ts and _meta/commands.json agree: both add the new SPECIAL_USE choice and both carry the same updated description of the deprecated values.
📝 Documentation: ✅ LGTM
The changeset .changeset/update-openapi-da85f0061c0b.md follows the format of earlier OpenAPI bumps. Its minor level is right for a new option value, because cf is still pre-1.0.
Reviewed commit: bf7aa4ac
bf7aa4a to
b5e1058
Compare
|
Review: 1 finding. Posted 1 inline finding. |
There was a problem hiding this comment.
Superseded by the review of
a9349ef9.
This review, of b5e10586
🛑 Significant concerns — 1 BLOCKING: the regenerated resource-sharing recipients update and excluded-recipients update commands split a full-replace PUT body into batches. Each batch replaces the one before it, so earlier recipients are disassociated, or earlier exclusions are dropped and those accounts receive the share.
Findings: 1 blocking · 1 info (1 is an inline comment on the diff)
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
🔧 Fix with your agent
Paste the following into your coding agent to investigate and fix these issues.
Fix the following code review issues found in pull request #477.
Before making changes, review each issue and present a brief summary table:
- For each finding, state whether you agree, disagree, or need clarification
- If you disagree (e.g., the fix would require disproportionate changes
for minimal ROI, or the finding is factually incorrect), explain why
- If you need to clarify something before deciding, ask those questions
- Then share your plan for which issues to tackle and in what order
## BLOCKING (1)
### [Code Quality] `resource-sharing recipients update` (more than 100 entries) and `excluded-recipients update` (more than 1000 entries) split a full-replace PUT body into separate PUTs. Only the last batch survives: earlier recipients are disassociated, or earlier exclusions are dropped and those accounts receive the share. The success label also says "Deleted" for what is an update.
- **File:** packages/cli/src/commands/_generated/resource-sharing/recipients/update.ts:93
## INFO (1)
### [Code Quality] `cf organization share list` is removed in favour of `cf organizations shares list`, and its `--kind`/`--target-type`/`--resource-types` filters are dropped. The changeset body does not mention this, so users migrating scripts have no pointer to the new path.
- **File:** .changeset/update-openapi-a79c2e7d445a.md:5
📋 Code Quality: 🛑 1 blocking · 1 info
Batching of full-replace PUTs in two generated resource-sharing commands loses data. The removal of organization share list is missing from the changeset.
Recommendation: 🔴 Serious Concerns
- [BLOCKING]
resource-sharing recipients update(more than 100 entries) andexcluded-recipients update(more than 1000 entries) split a full-replace PUT body into separate PUTs. Only the last batch survives: earlier recipients are disassociated, or earlier exclusions are dropped and those accounts receive the share. The success label also says "Deleted" for what is an update. (packages/cli/src/commands/_generated/resource-sharing/recipients/update.ts:93) - [INFO]
cf organization share listis removed in favour ofcf organizations shares list, and its--kind/--target-type/--resource-typesfilters are dropped. The changeset body does not mention this, so users migrating scripts have no pointer to the new path. (.changeset/update-openapi-a79c2e7d445a.md:5)
View full review
Most of this pull request is a routine OpenAPI pin bump. The changeset, the pinned SHA in generate.ts and the regenerated output agree with each other. One regenerated pattern is unsafe, though.
Full-replace PUTs are split into independent batches
The affected files are resource-sharing/recipients/update.ts:93-111 and resource-sharing/excluded-recipients/update.ts:93-111.
- Both commands previously sent one
client.send(operation, …). Now, when--bodyis an array, they split it into chunks:- more than 100 entries for recipients
- more than 1000 entries for excluded-recipients
- Each chunk goes out as its own
PUT …/recipientsorPUT …/excluded-recipients. - The command's own usage text says these endpoints replace the full list and reconcile against it. So each chunk overwrites the previous one, and only the last chunk survives:
- For recipients, every account in earlier chunks is disassociated from the share.
- For excluded-recipients, every account in earlier chunks stops being excluded. Those accounts then gain access to the shared resources, which the confirmation prompt itself warns about.
- The progress and success text also changed from
Updating/UpdatedtoDeleting/Deleted. Together with the batching, this suggests the generator applied its batched-delete template to these PUT operations.
These files are generated, so the fix belongs in the generator plugin, Forge, or the OpenAPI annotation for these two operations. Then regenerate. Full-replace PUTs should send one complete payload, or reject lists that are too large. The new confirmDelete / --force guard is reasonable and can stay.
Command removal not called out in the changeset
cf organization share listis no longer registered (organization/index.ts). It is replaced bycf organizations shares list, and its--kind,--target-typeand--resource-typesfilters were dropped.resource-sharing createno longer requires--recipients/--resources.- The changeset only says "Update the generated command surface". A one-line migration note would help users whose scripts call the old path.
minoris the right level for pre-1.0.
✅ All other checks passed
🚀 Release: ✅ LGTM
Risk: High until the batching of full-replace PUTs in resource-sharing recipients update / excluded-recipients update is fixed upstream and regenerated. See the BLOCKING item in the code quality section.
The changeset does not mention that cf organization share list was removed and that cf organizations shares list replaces it. That note is also listed in the code quality section.
🔒 Security: ✅ LGTM
Most of the changes are regenerated CLI flags, descriptions and operation definitions with no security impact. The batching of excluded-recipients update can widen who receives a share. That issue is reported once, as a BLOCKING item, in the code quality section.
📖 AGENTS.md: ✅ LGTM
No agent instruction files are affected. The generated files come from regeneration, not hand edits.
⚡ Performance: ✅ LGTM
No performance concerns in the regenerated command surface.
📝 Documentation: ✅ LGTM
The changeset follows the format of earlier OpenAPI bumps and uses the minor level, as the repository's changeset rules require for pre-1.0 behaviour changes.
Reviewed commit: b5e10586
b5e1058 to
a9349ef
Compare
|
Review: 1 finding. Pins Forge OpenAPI and regenerates the CLI command surface.
|
|
No new concerns since the last review |
950fb3f to
3be0288
Compare
|
No new concerns since the last review |
There was a problem hiding this comment.
Superseded by the review of
2f12e4eb.
This review, of 3be0288e
💬 Approved with comments — The earlier bodyless-PUT WARNING is fixed. What remains are two INFO notes: dry-run for cf zaraz workflow update ignores --file, and the changeset doesn't list the breaking command changes.
Findings: 2 info (1 is an inline comment on the diff)
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
🚀 Release: 💬 1 info
The changeset omits the breaking command changes and the new commands.
Recommendation: 💬 Optional Nits
- [INFO] The changeset doesn't mention the command renames and removals or the new commands. (
.changeset/update-openapi-da9eb529ee60.md:5)
View full review
Risk: Low. minor is the right bump before 1.0. The body of .changeset/update-openapi-da9eb529ee60.md doesn't mention these changes:
cf organizationwas renamed tocf organizations.cf origin-post-quantum-encryptionwas removed.cf user memberships user-s-account-memberships-membership-detailswas removed.load-balancers monitors|pools references get <id>becamelist --monitor-id|--pool-id.cf tenants accounts listandcf ohttp-gateway enablementwere added.
📋 Code Quality: 💬 1 info
The bodyless PUT in cf zaraz workflow update is fixed; its dry-run still ignores --file.
Recommendation: 💬 Optional Nits
- [INFO]
cf zaraz workflow update --dry-runignores--file, and it skips the new required-input check. (packages/cli/src/commands/_generated/zaraz/workflow/update.ts:60)
View full review
Bodyless PUT: fixed. packages/cli/src/commands/_generated/zaraz/workflow/update.ts:64-68 now throws before any request when neither --body nor --file is given.
Dry-run gap. The dry-run branch (lines 51-63) runs before that check and prints body: argv.body. With --file, the preview shows no body. With neither flag, the dry-run succeeds instead of reporting the missing input. This file is generated, so the fix belongs in Forge or the generator plugin.
The rest of the regenerated code looks consistent:
- The
organization→organizationsrename and theuser memberships/user tenantsmoves change every file that references them. - The new
pool-sets/networksflags reach the request body. - The
k2 streamschange only drops avalidateBodyUnionscheck on a boolean that yargs already validates. - The new
ohttp-gateway enablement deletecommand and the resource-sharing list-replacement commands ask for confirmation, and only--forceskips it.
✅ All other checks passed
🔒 Security: ✅ LGTM
The OpenAPI pin is a full commit SHA. The new delete command asks for confirmation, and only --force skips it. The change adds no secrets, injection paths or access-control changes.
📖 AGENTS.md: ✅ LGTM
No agent instruction files changed.
⚡ Performance: ✅ LGTM
Regenerated command scaffolding plus a pin bump; nothing on a hot path.
📝 Documentation: ✅ LGTM
The missing changeset details are covered in the Release section.
Reviewed commit: 3be0288e
3be0288 to
2f12e4e
Compare
There was a problem hiding this comment.
Superseded by the review of
6cedf5df.
This review, of 2f12e4eb
💬 Approved with comments — Regenerated output looks consistent. Only INFO notes remain: the zaraz dry-run gap, an unused generated import, and a changeset that doesn't list the breaking command changes.
Findings: 3 info (2 are inline comments on the diff)
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
📋 Code Quality: 💬 2 info
Regenerated code is consistent; two INFO notes on generated zaraz output.
Recommendation: 💬 Optional Nits
- [INFO]
cf zaraz workflow update --dry-runignores--fileand skips the required-input check. (packages/cli/src/commands/_generated/zaraz/workflow/update.ts:60) - [INFO]
parseBodyis imported but never used in the regenerated zaraz workflow update command. (packages/cli/src/commands/_generated/zaraz/workflow/update.ts:9)
View full review
cf zaraz workflow update --dry-runignores--file, and it succeeds when neither--bodynor--fileis given (zaraz/workflow/update.ts:51-68).parseBodyis imported but never used inzaraz/workflow/update.ts:9.
Both are in generated output, so the fix belongs in the generator plugin or Forge. Everything else checked out: the renames and reshapes, the new flags, the ohttp-gateway create and delete commands, and the removal of validateBodyUnions in k2 streams.
🚀 Release: 💬 1 info
The changeset doesn't describe the breaking command-surface changes.
Recommendation: 💬 Optional Nits
- [INFO] The changeset doesn't mention the command renames, removals or additions. (
.changeset/update-openapi-f2984f6a2162.md:5)
View full review
Risk: Low. minor is the right bump before 1.0. The changeset body only names the Forge release. It doesn't mention the renames, removals or additions that users will hit.
✅ All other checks passed
🔒 Security: ✅ LGTM
The OpenAPI pin in packages/cli/generate.ts is a full commit SHA. The new destructive command asks for confirmation, and only --force skips it. The change adds no secrets, injection paths or access-control changes.
📖 AGENTS.md: ✅ LGTM
No agent instruction files changed.
⚡ Performance: ✅ LGTM
The change is regenerated command scaffolding plus a pin bump. Nothing touches a hot path.
📝 Documentation: ✅ LGTM
The missing details in the changeset are covered under Release.
Reviewed commit: 2f12e4eb
|
Review: 2 findings. 🤖 I've done a thorough review of your PR. Regenerates the CLI surface for the updated OpenAPI pin.
|
2f12e4e to
6cedf5d
Compare
There was a problem hiding this comment.
Superseded by the review of
16e6687f.
This review, of 6cedf5df
💬 Approved with comments — The regenerated output is consistent. The only remaining note is an INFO: the changeset doesn't list the breaking command renames and removals.
Findings: 1 info
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
🚀 Release: 💬 1 info
The changeset doesn't describe the user-facing command renames and removals
Recommendation: 💬 Optional Nits
- [INFO] The changeset doesn't mention the command renames, removals or additions. (
.changeset/update-openapi-1e0f8068deb6.md:5)
View full review
Risk: Low. minor is the right bump before 1.0. The changeset body only names the Forge release. It doesn't mention the renames, removals or additions that users will hit.
✅ All other checks passed
🔒 Security: ✅ LGTM
The OpenAPI pin is a full commit SHA. The new destructive commands ask for confirmation, and only --force skips it. The new commands use the shared request path. The change adds no secrets, injection paths or access-control changes.
📖 AGENTS.md: ✅ LGTM
No agent instruction files changed.
📋 Code Quality: ✅ LGTM
Renames, removals and new flags are wired the same way in the builders, the query and body assembly, telemetry and dry-run. The k2 streams change removes validateBodyUnions and leaves no references behind. The parseBody import and the --file dry-run issue in zaraz workflow update are fixed. One earlier note remains open: dry-run still succeeds when neither --body nor --file is given.
⚡ Performance: ✅ LGTM
The change is regenerated command scaffolding plus a pin bump. Nothing touches a hot path.
📝 Documentation: ✅ LGTM
The changeset gap is covered under Release.
Reviewed commit: 6cedf5df
|
Review: 1 findings. 🤖 I've done a thorough review of your PR. Updates the pinned OpenAPI revision and regenerates CLI commands. Posted 1 inline finding. |
6cedf5d to
16e6687
Compare
There was a problem hiding this comment.
💬 Approved with comments — The regenerated output is consistent. The only note is an INFO: the changeset doesn't name the breaking command renames and removals.
Findings: 1 info
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
🚀 Release: 💬 1 info
The changeset still doesn't describe the user-visible command changes.
Recommendation: 💬 Optional Nits
- [INFO] The changeset doesn't mention the breaking command renames and removals. (
.changeset/update-openapi-57b5196b0cb6.md:5)
View full review
Risk: Low. minor is the right bump before 1.0. The changeset body only names the Forge release. It doesn't mention the command renames and removals that users will hit: the organization → organizations rename, the o11y agents sessions → traces rename, the removal of d1 update, zero-trust seats edit and origin-post-quantum-encryption update, and the removal of --type from accounts update.
✅ All other checks passed
🔒 Security: ✅ LGTM
The OpenAPI pin is a full commit SHA. The new destructive commands ask for confirmation, and only --force skips it. The new commands use the shared request path and body parsers. The change adds no secrets, injection paths or access-control changes.
📖 AGENTS.md: ✅ LGTM
No agent instruction files changed.
📋 Code Quality: ✅ LGTM
The dns settings account edit flag removal, the organizations rename, the move from o11y sessions to traces, and the positional/option swaps are all wired the same way in the builders, dry-run URLs, pathParams and operation calls. The k2 streams change removes validateBodyUnions and its import together. One earlier note is still open: dry-run succeeds when neither --body nor --file is given.
⚡ Performance: ✅ LGTM
The change is regenerated command scaffolding plus a pin bump. Nothing touches a hot path.
📝 Documentation: ✅ LGTM
The changeset gap is covered under Release.
Reviewed commit: 16e6687f
|
Review: 5 findings. 🤖 I've done a thorough review of your PR. Updates the pinned OpenAPI revision and regenerated CLI surface.
|
Updates cf to
openapi@57b5196b0cb64ae395bebc71f9a933eeda99bf64.57b5196b0cb64ae395bebc71f9a933eeda99bf64This PR is maintained automatically by the Update OpenAPI workflow.