036-mid-plan-acquisition
Mid-plan context acquisition and tiered widening (amends 002, 003 and 004)
An amendment of approved specs 002, 003 and 004 (R-16), for #76 child B1 under owner decision R-40 (OD-3 of #76). A plan may declare bounded acquisition steps that ask a host-implemented acquisition source for more context between steps, with requests built only from exact values and literals, and a tiered widening construct that tries a finite, declared list of increasingly broad requests (optionally across sources) until a stop condition holds, never relaxing protected constraints. Paging is bounded by pages, items and a stop condition. Adds acquisition operations to spec 032's source descriptor (`rustev.source/1`), acquisition request and page documents, the `compose_key@1` operator, a typed `skipped` outcome, compile-time call, item, byte, deadline and cost budgets, and the in-process `AcquisitionSource` seam a later remote protocol (#76 A2) carries. Every page is recorded and captured by request identity; offline replay never dispatches and an uncaptured request is `missing_evidence`. Adds to the #76 track versions introduced by spec 032 (source 1, definition 2, plan 3, evidence 2, run 3, exact 2), introduces the track version `rustev.replay/2`, and admits every plan 3 decision to capture and replay, lifting spec 032's interim `capture_unsupported` refusal. Plans that use no #76 construct keep byte-identical documents and `PlanId`s. Approved (A-33); implementation is complete.
Read the full pinned specification ↗Relationships
depends on
depended on by
amends
Claimed units
- extends
{ "nature": "amending", "spec": "002-decision-contract-and-pure-core", "unit": { "kind": "directory", "path": "crates/rustev-contract/" } } - extends
{ "nature": "amending", "spec": "002-decision-contract-and-pure-core", "unit": { "kind": "directory", "path": "crates/rustev-core/" } } - extends
{ "nature": "amending", "spec": "003-runtime-execution-and-evidence", "unit": { "kind": "directory", "path": "crates/rustev-runtime/" } } - extends
{ "nature": "amending", "spec": "004-evaluation-and-replay", "unit": { "kind": "directory", "path": "crates/rustev-eval/" } } - extends
{ "nature": "additive", "spec": "008-reference-package-lodging", "unit": { "kind": "directory", "path": "packages/rustev-pkg-lodging/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "integrations/rustev-node/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "integrations/rustev-wasm/" } } - extends
{ "nature": "additive", "spec": "006-cli-surface", "unit": { "kind": "directory", "path": "crates/rustev-cli/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "crates/rustev-surface/" } } - extends
{ "nature": "additive", "spec": "028-opentelemetry-evidence-sink", "unit": { "kind": "directory", "path": "integrations/rustev-otel/" } } - extends
{ "nature": "additive", "spec": "010-integrations", "unit": { "kind": "directory", "path": "integrations/rustev-serve/" } } - extends
{ "nature": "additive", "spec": "007-support-routing-package", "unit": { "kind": "directory", "path": "packages/rustev-pkg-support-routing/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "tools/rustev-conformance/" } } - extends
{ "nature": "additive", "spec": "031-public-api-and-release-family", "unit": { "kind": "directory", "path": "tools/rustev-release/" } } - extends
{ "nature": "additive", "spec": "001-boundaries-and-authority", "unit": { "kind": "file", "path": "Makefile" } } - extends
{ "nature": "additive", "spec": "001-boundaries-and-authority", "unit": { "kind": "directory", "path": "scripts/acceptance/" } }
Source headings
- 036: Mid-plan context acquisition and tiered widening (amends 002, 003 and 004)
- 1. Purpose
- 2. Territory
- 2.1 Binding principles of #76
- 3. Behavior
- 3.1 Relation to OD-3 and to specs 002, 003 and 004
- 3.2 Source descriptors (`rustev.source/1`)
- 3.3 Acquisition requests and pages
- 3.4 The `acquire` step
- 3.5 The `widen` construct
- 3.6 Paging
- 3.7 Constructed keys (`compose_key@1`)
- 3.8 Skipped values and policy handling
- 3.9 Compilation, refusals and budget
- 3.10 Plan identity
- 3.11 Staged evaluation in the core
- 3.12 The acquisition seam
- 3.13 Runtime execution
- 3.14 Evidence
- 3.15 Capture and offline replay
- 3.16 Compatibility
- 4. Out of scope
- 5. Observable negative cases
- Acceptance
- Verification
- Implementation record
- Decisions at approval
Frozen anchors
No frozen anchors declared.