Skip to content

Add compaction cycle and too-wide controls #13

Closed

Description

@jallegri

Priority

p2 — Uncovered API parity; no concrete user demand has been verified.

Gap

These explicit operations have no matching SDK method after pending PR #2/#3/#5/#6 source composition. They are distinct from internal node protocols and alternate routes for already-covered workflows.

  • DELETE /api/v1/compaction/too-wide — main only
  • GET /api/v1/compaction/cycles — main only
  • GET /api/v1/compaction/cycles/:id — main only
  • GET /api/v1/compaction/too-wide — main only

Sources: internal/api/compaction.go.

Acceptance

  • Confirm intended SDK scope; document a reasoned exclusion for low-level operational APIs where appropriate.
  • For included operations, add matching sync/async methods with exact request/response contracts and release/main version limits.
  • Preserve role/license/configuration gates and server errors; test missing permissions and unsupported versions.
  • Give mutating controls explicit arguments and safe defaults; test on isolated resources.
  • Keep independently reviewable/rollbackable changes separate; do not turn this family issue into a mandatory single large PR.

Tracking: https://github.com/Basekick-Labs/ops/issues/40. Analysis baselines: SDK main 46d3b66 and pending PRs #2/#3/#5/#6; Arc release e83bb1e (v26.09.3) and main a63f4a8. Implementation is unscheduled; the parent analysis deadline is 2026-10-30. No owner or delivery commitment is implied.

Verification must record exact versions/commands/results and separate Manual Test from IA Test. Require sync/async cases, negative authorization/validation cases, and existing-regression preservation. Local Docker is appropriate for end-to-end server checks; inventory and clean up only test resources.

Activity

  1. xe-nvdk commented on Nov 2, 2026

    @xe-nvdk
    Member

    Implemented in #29 (sync + async, with HTTP contract tests). Live round-trips against an Arc 2027.01.1 build happen before the 0.2.0 release is tagged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions