Skip to content

[CT-107] Install streaming, memory, backpressure, and process-count ratchets #54

Description

@flyingrobots

ADR-THINK-001 · Delivery plan · Complete issue catalog

Milestone: ADR-THINK-001 P1 — Evidence substrate

Feature: F1.2 — Windowed evidence admission

Outcome

Every growing evidence-substrate path is mechanically classified and fails CI when memory, queue, child-process, cancellation, or barrier bounds regress.

User stories

  • As a performance maintainer, I want same-runner resource ceilings in CI, so that a fast local machine cannot hide O(history) processes or residency.
  • As a feature author, I want an explicit streaming/barrier classification for each growing operation, so that collecting unbounded input becomes a visible design violation.

Deliverables

  • Operation-class registry: streaming, bounded barrier, or forbidden global barrier.
  • RSS, heap, queue-depth, in-flight element, and Git-process measurement harness.
  • Cancellation and stalled-branch tee/demux conformance tests.
  • Versioned absolute and base/head performance policy evidence.

Acceptance criteria

  • Every evidence-substrate operation has one registered class and bound.
  • Process ceilings scale by stream session or AdmissionWindow rather than logical item count.
  • RSS slopes remain approximately flat across geometrically growing fixture sizes.
  • Cancelling a consumer closes producers, child processes, and branch queues.

Test plan

Contract and unit

  • Registry tests reject missing classes, invalid bounds, and unregistered growing operations.

Integration and acceptance

  • Same-runner base/head benchmarks cover cold/warm capture, exact read, windows, and recovery.

Failure and recovery

  • Mutants add collect(), process-per-item, unbounded queues, and ignored cancellation; every mutant must fail.

Resource and performance

  • Reference-runner evidence gates RSS slope, queue depth, in-flight elements, child count, and wall-time regression.

Build-time resources

Resource Exclusivity mode Scope
streaming-operation-registry exclusive Operation classifications and bounds.
performance-policy exclusive Versioned absolute and comparative ceilings.
performance-runner exclusive Stable machine/process-shim benchmark execution.
git-warp-read-performance-evidence shared PR #847 baseline and command-count policy.
  • exclusive: Only one active slice may mutate or lease the named resource.
  • partitioned: Concurrent writes are lawful only in disjoint partitions named by each slice.
  • shared: Concurrent read-only use is lawful; this slice does not mutate the resource.

Dependencies

ADR traceability

  • Implementation gates: G1
  • Constitutional invariants: I13, I14
  • ADR acceptance criteria: AC21, AC22

Non-goals

  • Do not bless a stream that materializes its full source before first output.
  • Do not ban declared bounded atomic barriers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions