Working prototype

BehaviorStream Simulator

A behavior-analytic simulator. The core contingencies — per-class motivating operations, reinforcement schedules, latency-decay on consequence strength, response variability — are exposed as parameters; behavior emerges from their interaction. Procedures like functional analysis, prompt fading, token economy, and behavioral momentum are authored on top. Every session produces a replayable record.

How it runs

Two surfaces and a recording

The simulator has two surfaces. In the Designer, the analyst authors a Lesson — selecting procedures from the library, defining operational definitions, configuring the scene, tuning the engine's parameters. In the Participant view, the analyst runs the session live: the engine emits learner behavior on variable schedules conditioned on motivating operations and the active condition, and the operator responds with the RBT actions a session calls for — present SD, present EO, deliver reinforcement, attend, take data, advance the prompt level.

This is a modeler of contingencies, not a model of any individual learner. The engine doesn't learn from response history; it expresses operant relations parametrically, so behavior in the simulator is the consequence of contingencies the analyst sets.

Every session produces a SessionRecording: a structured artifact with per-condition response rates, latencies, IOA paired observations, prompt fading trajectories, and the procedure-specific analytics each Lesson configures — DR fidelity, demand elasticity, FA condition rates, equivalence relation accuracy. The recording exports to markdown and is replayable end-to-end.

A watercolor scene of a parent and small child at a kitchen counter: the parent holds out a bag of pretzels and an applesauce pouch; the child points upward, manding. Surrounding the scene like a behavior analyst's hand-drawn working notebook: an 'active program: mand training' panel with sliders for MO sensitivity, schedule (FR-1), and prompt level; an 'active reinforcers' panel showing snack 72%, attention 18%, escape 10%; session timer 02:14 / 30:00; engagement bar at 62%; a session events log reading 'prompted mand /cookie/,' 'reinforced FR-1,' 'spontaneous mand.' Title 'BehaviorStream Simulator' hand-lettered across the top.
Current status: less beautiful, more controls.

What runs

Procedures the lesson can author

  • Functional analysis — five canonical conditions plus custom, with fidelity rules and ground-truth diagnosis.
  • Prompt hierarchies and prompt fading.
  • Task analyses, forward and backward chaining.
  • Token economy with thinning plan.
  • Behavioral momentum — high-p / low-p demand chains.
  • Behavioral Skills Training scaffold.
  • Hanley PFA, SBT cascade, FCT replacement-response analytics.
  • Stimulus equivalence and matching-to-sample.
  • Differential reinforcement — DRA, DRI, DRO, DRL, DRH — with fidelity scoring.
  • Generalization and maintenance probes.
  • Behavioral economics demand curves.
  • Pairing exercises and rapport-gated demands.

Mechanisms underneath

What the engine expresses

  • Per-class motivating operations — edible, tangible, social, escape, sensory, activity — each with deprivation-recovery and satiation-on-delivery curves.
  • Latency-decay reinforcement: strength as a function of time from emission.
  • Real schedules — CRF, FR, VR, FI, VI, multiple, concurrent.
  • Extinction with burst-then-decay patterning.
  • Response variability and behavioral momentum mass.
  • Continuous coordinates with 3D-ready orientation (yaw, pitch, roll).
  • Motion primitives composed into named topographies via authored operational definitions.
  • Characters with sight cones, reach radii, height tiers, and personality axes for non-learner roles.
  • Append-only event log, replayable action stream, IOA capture, markdown export.

Status

Where the work is

Working prototype in active build. Designer and Participant surfaces both function; the scene-engine, scene-modes, and scene-renderer packages back them. No live demo is linked from this page yet — a layout pass on the Designer is queued before the Participant view goes public.

Parameter values are placeholder scaffolds. Calibration against recorded sessions is the next architectural step; the Lesson and SessionRecording contracts are shaped to make calibration a parameter-fit problem rather than a re-architecture.