Commit dc75ba8
* spec: retire PackageRollbackResponseSchema and the rollbackPackage contract binding (#12038 3A)
The schema declared a VERSION rollback ({ success, restoredVersion?,
message? }) while PackageApiContracts.rollbackPackage bound it to the live
POST /api/v1/packages/:packageId/rollback path, which the dispatcher serves
with rollbackToPackageCommit — the ADR-0067 COMMIT rollback, a different
operation with a different result. Retired through the ADR-0087 discipline:
RETIRED_DEFS_BY_MAJOR entry api/PackageRollbackResponse, D3 semantic entry
package-rollback-response-retired, manifest key and authorable-surface
baseline lines released with their registered proof (#4725 / #4650), runtime
namespace-probe pins in package-api.test.ts. PackageRollbackRequestSchema
stays published as ruled; the true commit-rollback contract follows in the
next commit, after this retirement per the ruling's sequencing.
Co-authored-by: Claude <noreply@anthropic.com>
* spec: bind the meta history/diagnostics and package lifecycle response contracts (#12038)
The twelve describe-only transcriptions from the recorded ruling
(1C/2C/3A/4A/5A), each transcribed from the return type its producer already
declares inline: six meta.* payloads in api/protocol.zod.ts (listDrafts,
getMetaDiagnostics, findReferencesToMeta, rollbackMetaItem, diffMetaItem,
plus the ruling-1C opaque GetPublishedMetaItemResponseSchema), the package
lifecycle family in the new api/package-lifecycle.zod.ts (discardDrafts,
listCommits with the handler-minted commits wrapper, revertCommit, the true
commit-rollback RollbackToPackageCommitResponseSchema, the ruling-4A
fixed-keys-plus-catchall PackageExportManifestSchema, adoptOrphans,
duplicate), and the resolved book tree as Zod beside its interfaces in
system/book.zod.ts. Ruling 5A re-exports (PackagePublishResultSchema,
ResolvedBookSchema family) land in the /api namespace the ledger resolver
searches — never a second copy. meta.migrateStored stays unbound, documented
(ruling 2C). Generated artifacts regenerated by the spec build.
Co-authored-by: Claude <noreply@anthropic.com>
* runtime/rest/client: name the #12038 response contracts in the ledgers and bind the SDK
Fill responseSchema on the 18 boundable ledger rows across both ledgers,
each row stating which surface's envelope it describes (the dispatcher wraps
{ success, data }; the REST server answers the payload bare — the three
dual-mounted meta routes carry one note per surface). meta.migrateStored's
two rows document the ruling-2C deliberate unbinding instead. Conformance
suites land with the rows (spec api/protocol.test.ts, the new
api/package-lifecycle.test.ts, system/book.test.ts — the #3877
no-row-without-conformance rule, house capture pattern).
The client SDK binds 16 of the 17 methods to the published payload types
(migrateStored stays any, documented per 2C; getPublished binds to unknown
per 1C), replaces the four invented test mocks (getDiagnostics, getBookTree,
rollbackItem, diffItem) with producer-true shapes, flips the #11925 rollback
negative guard to guard the new commit-rollback truth, adds the
returnTypePrecisionPins12038 type-level pins, and pins the unwrapResponse
mis-unwrap hazard (survey §8.2) so no bound payload can ever declare both a
boolean success and a data key.
Co-authored-by: Claude <noreply@anthropic.com>
* spec/docs: regenerate artifacts for the new contracts; add the #12038 changeset
api-surface, export-origins, reference docs and the strictness ledger
regenerated by check:generated --fix (only the artifacts it proved stale);
the ResolvedBook type family re-exported on /api so the generated page's
import line resolves. The changeset carries the breaking FROM-to-TO mapping
and the ADR-0087 disposition (registered package-rollback-response-retired).
Co-authored-by: Claude <noreply@anthropic.com>
* spec: keep the package-lifecycle header inside the description corpus pins
The file docblock opened at heading level 1 (the #12249 demotion pin counts
exactly the 38 files that predate it) and split a code span across lines,
leaving a same-directory source path as plain text for the #6484 rule. Open
at level 2 and keep the span on one line; reference docs regenerated.
Co-authored-by: Claude <noreply@anthropic.com>
* spec/docs: satisfy the ADR-0122 alias convention and the quick-reference total for the new contracts
The 13 new response types gain their Parsed aliases (check:spec-parsed-alias;
all are isomorphic — no defaults or transforms — but the paired-alias route
keeps the family uniform with its package-api siblings), the API Protocol
quick-reference heading's M rises to the 31 pages the reference tree now
publishes, and the spec artifacts are regenerated for the new type exports.
Co-authored-by: Claude <noreply@anthropic.com>
* spec: count the package-lifecycle module in llms.txt's schema inventory
check:llms-txt (the last step of the source-gates job) went red on the new
api/package-lifecycle.zod.ts: the hand-kept inventory declared 207 schemas
total and 29 under api. Re-read per the gate's own rule — number AND prose:
208 / 30, with Package Lifecycle added to the api row's key-schema sampler.
Gate re-derived green locally: 97 claims, 14 domains, 208 schemas.
Co-authored-by: Claude <noreply@anthropic.com>
* client: shrink the exported-any-returns ledger by the 15 gaps this PR closed
check:exported-any-returns (Type Check - consumer gates) is exact in both
directions: the #11925 entries for the newly bound meta.* and packages.*
methods no longer resolve to any, so their ledger rows must be deleted.
meta.migrateStored's entry stays - it remains any by the 2C ruling. Verified
against the rebuilt dist: 'no NEW exported callable resolves to any: 317
callables reached, 47 ledgered site(s) still open'.
Co-authored-by: Claude <noreply@anthropic.com>
* spec: spell the discard-drafts capture's failure code as the ledger declares it
check:error-code-casing (Lint & Repo Gates) flagged the handwritten
conformance capture's code: 'item_locked' — an invented lowercase spelling.
The producer propagates deleteMetaItem's refusal code verbatim, and the
protection path sets 'ITEM_LOCKED' (ledger-declared, error-code-ledger.zod.ts
ADR-0010 §3.3), so the capture now carries the code the route really answers.
Gate and the conformance suite re-run green.
Co-authored-by: Claude <noreply@anthropic.com>
* merge origin/main (os-regen artifacts taken from main; regeneration follows)
* spec: regenerate the merged tree's artifacts (regen-merge sync after #12849)
os-regen-merge.sh step 4: gen:migration-registry rebuilds registry.ts with
BOTH step-18 populations (#12849's ui-form-view-predicate-features-root-refused
semantic entry beside this PR's retirement + semantic entries), the retirement's
manifest and authorable-surface deletions are re-applied over main's side (the
merge takes main's copy of os-regen artifacts by design; the #4725/#4650 proofs
re-verify against the new base), and the full chain regenerates green:
check:generated 14/14, check:llms-txt 208 schemas, the five touched spec
suites, client typecheck and the resolver + unwrap pin suites all pass on the
merged tree.
Co-authored-by: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
1 parent e84bbf6 commit dc75ba8
39 files changed
Lines changed: 2393 additions & 225 deletions
File tree
- .changeset
- content/docs
- getting-started
- references
- api
- system
- docs/audits
- packages
- client
- src
- rest/src
- runtime/src
- spec
- api-surface
- authorable-surface
- export-origins
- json-schema.manifest
- src
- api
- migrations
- entries
- retired-defs
- semantic
- system
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
| 31 | + | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
287 | 287 | | |
288 | 288 | | |
289 | 289 | | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | 290 | | |
328 | 291 | | |
329 | 292 | | |
| |||
0 commit comments