Skip to content

1.9.0: rename CLI script hyp->hyperping; incident chunking/guard; partial-batch errors#52

Merged
KhaledSalhab-Develeap merged 1 commit into
mainfrom
feat/1.9.0-cli-rename-batch-hardening
Jul 14, 2026
Merged

1.9.0: rename CLI script hyp->hyperping; incident chunking/guard; partial-batch errors#52
KhaledSalhab-Develeap merged 1 commit into
mainfrom
feat/1.9.0-cli-rename-batch-hardening

Conversation

@KhaledSalhab-Develeap

Copy link
Copy Markdown
Collaborator

Summary

Corrective 1.9.0 release addressing the follow-ups from the adversarial review of PR #51, and properly documenting the breaking changes that shipped mislabeled in 1.8.0/1.8.1.

BREAKING — CLI script rename (fixes the review's C1)

1.8.1 added a hyp console script for the SDK CLI. hyp is the long-standing command of the separate hyperping-automation tool; with both installed, the SDK's script silently shadowed it (verified: broke hyp maintenance broadcast, CI jobs, runbooks, and exposed the SDK's unguarded write commands under a familiar name). Renamed to hyperping. (A console-script rename is breaking → 1.9.0, not 1.8.2.)

Incident chunking + guard (review M3)

Incidents attach statuspages the same way maintenance windows do, so a fleet-wide incident broadcast (~57 pages) hits the same silent >51 phantom.

  • create_incidents() (sync + async): splits into ≤MAX_STATUSPAGES_PER_INCIDENT (51) chunks.
  • create_incident() now raises HyperpingValidationError above the cap.
  • The 51 cap for incidents is assumed identical to maintenance (same attach path) and not independently measured live — documented in code + CHANGELOG.

Partial-batch failures (review M1)

create_maintenance_windows / create_incidents now raise HyperpingPartialBatchError carrying the already-created objects (.created/.completed/.total) on a mid-batch failure, instead of discarding them and orphaning windows/incidents silently.

Docs (review H2)

CHANGELOG 1.9.0 has an Upgrade Notes section explaining the 1.8.0 Integration/EscalationPolicy/TeamMember model reconciliation (active removed, typechannel) and the 1.8.1 CLI addition — the breaking changes that were shipped without notes.

Tests

  • Incident: over-cap guard, chunk-split (60→[51,9]), bad chunk_size, partial-failure.
  • Maintenance: exactly-51 boundary (single window), partial-failure.
  • Async: create_maintenance_windows + create_incidents chunking.
  • 613 pass, 95% coverage, ruff + mypy clean.

Follow-up (separate repo)

hyperping-automation will bump to >=1.9.0, fix hyp release start --shared (review H1: unchunked create after pausing the fleet), add a CI smoke test asserting uv run hyp --help shows maintenance, and fix the _parse_datetime IL→UTC bug (review L5).

…tial-batch errors

BREAKING: the bundled console script is renamed hyp -> hyperping. 'hyp' collides
with the hyperping-automation CLI and silently shadowed it when both were
installed; use 'hyperping' for the SDK CLI now.

- create_incidents() (sync+async): chunk a broadcast incident's status pages to
  <=51/incident (MAX_STATUSPAGES_PER_INCIDENT); create_incident() guards the cap.
- create_maintenance_windows()/create_incidents() raise HyperpingPartialBatchError
  (carrying the already-created objects) on mid-batch failure instead of
  orphaning them silently.
- CHANGELOG documents the breaking Integration/CLI changes that shipped
  mislabeled in 1.8.0/1.8.1; this is the corrective minor release.
- Tests: incident chunk/guard/partial, maintenance exactly-51 boundary +
  partial-failure, async chunking. 613 pass, 95% cov, ruff+mypy clean.
@KhaledSalhab-Develeap KhaledSalhab-Develeap merged commit e437af9 into main Jul 14, 2026
3 checks passed
@KhaledSalhab-Develeap KhaledSalhab-Develeap deleted the feat/1.9.0-cli-rename-batch-hardening branch July 14, 2026 13:16
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.

1 participant