outcomeA Pack too large for one bundle reads whole in parts
spec:consumers.context-bundle.parts-cover-the-packPacks: 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.
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
the members of the parts, in part order, are the Pack's members in authored order, each once: {complete: true}Composing needs the script.
Intent
- 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 throughsdp q --jsonwith the Pack, the budget andpart: 1, readspart.of, then asks for every other part in turn. It checks that each part'susedis at most the budget, that no part'sleftOutnames a cut, that every part repeats the scope and the Pack, and that only part 1 carries a boundary.
- The world writes a probe Pack of three story-altitude behavior Specs stating
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:115External run evidence from
test/self-hosting-bundle-parts.test.tsTest 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 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:32:20.471Z · Stop: 2026-10-31T15:34:02.073Z
Name Suite Result Duration executes the bound example against a fresh world A Pack too large for one bundle reads whole in parts (spec:consumers.context-bundle.parts-cover-the-pack) passed 41.74 ms executes the bound example against a fresh world A member larger than the budget is named, and no part is returned (spec:consumers.context-bundle.oversized-member-named) passed 10.19 ms diagnoses invalid part 0 bundle part budgets passed 6.27 ms diagnoses invalid part -1 bundle part budgets passed 4 ms diagnoses invalid part 1.5 bundle part budgets passed 6.09 ms diagnoses invalid part null bundle part budgets passed 3.19 ms diagnoses invalid part "1" bundle part budgets passed 3.03 ms diagnoses invalid part true bundle part budgets passed 2.96 ms diagnoses a part beyond the final count bundle part budgets passed 6.06 ms accepts an exact whole-part budget and cuts only when that item cannot fit bundle part budgets passed 14.42 ms measures two-digit part counts and takes the longest whole run at every boundary bundle part budgets passed 71.11 ms repartitions at the first common cut stage instead of mixing cut and whole members bundle part budgets passed 6.81 ms preserves pinned declarations until addresses are allowed, and never returns a partial part bundle part budgets passed 14.85 ms gives an empty scope one complete part when it fits bundle part budgets passed 2.48 ms names only the part header when the repeated Pack framing alone exceeds the budget bundle part budgets passed 14.51 ms names an oversized boundary when its outside neighbour ids exceed the budget after every cut bundle part budgets passed 48.62 ms
Design view
Requirement drawing
- Satisfying or referencing units: no recorded binding.
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
- 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
- refines · spec:consumers.context-bundle · stated ready, floor ready
Rested on by
No Spec rests on this Spec.
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| refines · outgoing | A context bundle is composed per invocation within a stated budgetspec:consumers.context-bundle · resolves | declared | None | None |
| verifies · outgoing | A context bundle is composed per invocation within a stated budgetspec:consumers.context-bundle · resolves | declared | None | parts, 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.