Skip to content

chore(cli): reconcile weekly API parity - #134

Merged
callumreid merged 4 commits into
mainfrom
chore/weekly-api-parity
Oct 13, 2026
Merged

callumreid merged 4 commits into
mainfrom
chore/weekly-api-parity

Conversation

@callumreid

Copy link
Copy Markdown
Contributor

Automated comparison of the live public OpenAPI catalog with first-class CLI commands.

  • api-coverage-report.md is deterministic and changes only when API or CLI coverage changes.
  • This PR does not claim to generate the CLI's hand-written command UX.
  • If the report says ACTION REQUIRED, implement the missing commands or explicitly review the manifest exception, regenerate the report, and get CI green before merging.

The branch is stable, so future weekly runs update this PR instead of opening duplicates.

ben-coval
ben-coval previously approved these changes Oct 12, 2026
POST and PATCH /metrics publish both fields, so `coval metrics create` and
`update` dropped them without an error.

audio_filter is JSON, accepted through --audio-filter or --input-json. On update
the API treats an explicit null as "remove the saved value" for both fields, so
the update request forwards a null instead of reading it as omitted. Fields the
caller does not name are never sent, so an update leaves the saved filter and
dependencies alone.
POST and PATCH /review-projects and POST /review-annotations publish new
fields that the CLI dropped without an error.

Reviewers can now be selected by user ID: --assignee-user-ids (create and
update), --opted-out-assignee-user-ids (update) and --assignee-user-id on
review-annotations create. The API accepts emails or user IDs for a project's
reviewers but not both, so the flags conflict with their email counterparts, and
the email list (assignees on a project, assignee on an annotation) is now
optional so a request can carry only user IDs. --allow-metric-skipping follows
--enforced-collaboration.

review_label_enabled is available through --input-json. Its null differs from
leaving it out, so the update request forwards an explicit null. Settings the
caller does not name are never sent: the API defaults allow_metric_skipping to
false, so sending it on every update would switch the saved setting off.
All 449 published request fields on covered operations are now modeled, so the
snapshot counts move from 437 to 449 and the weekly report is regenerated with
`scripts/audit_api_coverage.py`. No reviewed exception is added.
@callumreid
callumreid requested a review from ben-coval October 13, 2026 15:15
@callumreid
callumreid merged commit f25bd29 into main Oct 13, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants