Spec Studio

A Pack too large for one bundle reads whole in parts

spec:consumers.context-bundle.parts-cover-the-packExample / Scenario · storyready floor ready

Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Design: no design entries · no pinned declarations · no decisions

Findings: no errors, no warnings

specs/consumers/context-bundle.parts-cover-the-pack.sdp.md

No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.

Intent
outcome
Execute the parts rules on a probe Pack whose members together exceed the budget while each fits a part alone.
assumptions
  • The world writes a probe Pack of three story-altitude behavior Specs stating idea, each with an Intent outcome and a narrative of 6,000 letters, none related to a Spec outside the Pack. It runs the shipped context bundle file through sdp q --json with the Pack, the budget and part: 1, reads part.of, then asks for every other part in turn. It checks that each part's used is at most the budget, that no part's leftOut names a cut, that every part repeats the scope and the Pack, and that only part 1 carries a boundary.
Behavior

Examples

Given a probe Pack of three members whose bundle exceeds the budget {budget: 10000} {sizes: "while each member fits a part alone"}
When each part of its context bundle is requested in turn
Then the bundle comes in {parts: 3} parts, each within the budget
Then the members of the parts, in part order, are the Pack's members in authored order, each once: {complete: true}
Verification

Verifier bindings

  • test:protocol.context-bundle.parts-cover-the-pack · anchored · test anchor binding present · test/self-hosting-bundle-parts.test.ts:115

    External run evidence from test/self-hosting-bundle-parts.test.ts

    Test anchors: test:protocol.context-bundle.oversized-member-named, test:protocol.context-bundle.parts-cover-the-pack. Specs verified by those bindings: spec:consumers.context-bundle, spec:consumers.context-bundle.oversized-member-named, spec:consumers.context-bundle.parts-cover-the-pack.

    Run 1: external run evidence from vitest 4.1.10

    Build: CI 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z

    NameSuiteResultDuration
    executes the bound example against a fresh worldA Pack too large for one bundle reads whole in parts (spec:consumers.context-bundle.parts-cover-the-pack)passed42.45 ms
    executes the bound example against a fresh worldA member larger than the budget is named, and no part is returned (spec:consumers.context-bundle.oversized-member-named)passed10.24 ms
    diagnoses invalid part 0bundle part budgetspassed4.27 ms
    diagnoses invalid part -1bundle part budgetspassed3.8 ms
    diagnoses invalid part 1.5bundle part budgetspassed5.68 ms
    diagnoses invalid part nullbundle part budgetspassed2.44 ms
    diagnoses invalid part "1"bundle part budgetspassed5.6 ms
    diagnoses invalid part truebundle part budgetspassed2.24 ms
    diagnoses a part beyond the final countbundle part budgetspassed3.51 ms
    accepts an exact whole-part budget and cuts only when that item cannot fitbundle part budgetspassed13.29 ms
    measures two-digit part counts and takes the longest whole run at every boundarybundle part budgetspassed67.34 ms
    repartitions at the first common cut stage instead of mixing cut and whole membersbundle part budgetspassed5.73 ms
    preserves pinned declarations until addresses are allowed, and never returns a partial partbundle part budgetspassed9.62 ms
    gives an empty scope one complete part when it fitsbundle part budgetspassed3.68 ms
    names only the part header when the repeated Pack framing alone exceeds the budgetbundle part budgetspassed8.47 ms
    names an oversized boundary when its outside neighbour ids exceed the budget after every cutbundle part budgetspassed34.08 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:consumers.context-bundle.parts-cover-the-pack
The diagram as text
  • spec:consumers.context-bundle.parts-cover-the-pack: A Pack too large for one bundle reads whole in parts · declared Spec
  • spec:consumers.context-bundle: A context bundle is composed per invocation within a stated budget · declared Spec
  • test:protocol.context-bundle.parts-cover-the-pack: test:protocol.context-bundle.parts-cover-the-pack · anchored test binding · binding present · test/self-hosting-bundle-parts.test.ts:115
  • spec:consumers.context-bundle.parts-cover-the-pack refines spec:consumers.context-bundle · declared
  • spec:consumers.context-bundle.parts-cover-the-pack verifies spec:consumers.context-bundle · declared
  • test:protocol.context-bundle.parts-cover-the-pack verifies spec:consumers.context-bundle.parts-cover-the-pack · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

No decision record named.

Runtime

No implementation neighborhood recorded.

Runtime observation: not tracked.

Evidence

Runtime observation: not tracked.

Build attestations: not tracked.

Deployments: not tracked.

Bills of materials: not tracked.

Impact
Relations of spec:consumers.context-bundle.parts-cover-the-pack
  • E2: verifies · declared
The diagram as text
  • spec:consumers.context-bundle: A context bundle is composed per invocation within a stated budget
  • spec:consumers.context-bundle.parts-cover-the-pack: A Pack too large for one bundle reads whole in parts
  • spec:consumers.context-bundle.parts-cover-the-pack refines spec:consumers.context-bundle · declared
  • spec:consumers.context-bundle.parts-cover-the-pack verifies spec:consumers.context-bundle · declared
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.

Rests on

Rested on by

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
refines · outgoingA context bundle is composed per invocation within a stated budget
spec:consumers.context-bundle · resolves
declaredNoneNone
verifies · outgoingA context bundle is composed per invocation within a stated budget
spec:consumers.context-bundle · resolves
declaredNoneparts, partBoundaries, partCuts, partHeader, sameParts

Bindings

Implementation binding: none

Design reference: none

Verifier binding: present

  • test:protocol.context-bundle.parts-cover-the-pack · anchored · test/self-hosting-bundle-parts.test.ts:115 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.