Skip to content

Commit d4f4a32

Browse files
fix(rest): grade the changeset minor and declare the wire break
The level axis (#16055) refuses a clause-\xe2\x91\xa1 PR that grades every package it moves at patch. The declaration is the maintainer's (batch #27), so the level was the wrong half: @objectstack/rest goes to minor, and the BREAKING banner carries the breaking-ness the launch window keeps off the level. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QE8qk46e5CHJxyQEUjbf8
1 parent 84c0bb8 commit d4f4a32

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

.changeset/sandbox-crash-outranks-declared-code-arm.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
---
2-
"@objectstack/rest": patch
2+
"@objectstack/rest": minor
33
---
44

55
fix(rest): a hook that crashes after declaring a code now answers 500 UNCLASSIFIED_FAULT instead of the declared status with the crash text (#15071)
66

7+
<!-- adr-0087: not-required (no-migration-prescription) Nothing authorable moves: no `packages/spec` key, no Zod schema, no object definition, no config field and no stored representation changes its name, its type or its optionality, so `objectstack migrate meta` has nothing to visit, `spec-changes.json` has nothing to project and the upgrade guide has no row to gain. What moves is the RESPONSE a published REST door gives for one input shape at request time, and this changeset ships no instructions for rewriting anything a consumer authored — there is no authored artifact to rewrite. The affected caller's remedy is not an edit but the truth: the hook crashed, and the 500 says so. The other four categories are closed on facts: `@objectstack/rest` publishes to npm (not `unpublished`); no ADR-0087 id is minted in this diff (not `registered`) and none pre-dates the base that would cover it (not `already-registered`); no named `path#Symbol` is a non-metadata runtime interface whose members moved — no exported declaration changes at all, `isSandboxCrash` being file-local and absent from the package entry (not `runtime-interface-only`), which is also why `type-surface-only` has no subject. -->
8+
9+
**BREAKING** — the answer this published door gives moves for existing inputs.
10+
No export, signature or declared type changes; what changes is the response an
11+
existing call observes, and a client branching on `error.code` for the affected
12+
shape now falls to its 5xx path instead of its refusal path. Shipped as `minor`
13+
under the launch-window convention (`major` is refused while the fixed group
14+
versions in lockstep), so this banner — not the level — is the breaking-ness
15+
signal.
16+
717
**What changes for an operator.** A sandboxed hook or action body that declared a
818
refusal code and then CRASHED — `throw`-ing nothing, but hitting a bug on a later
919
line — used to answer the single-record `/api/v1/data` routes with the code's own

0 commit comments

Comments
 (0)