FluxMeter Experiment #001 — 2026-10-24 (Asia/Shanghai) License: Apache-2.0, matching FluxMeter and this website. Scope: local mock-provider fault injection; real Redis; simulated Kafka ACK. No actual model inference or commercial provider charge. Production billing Lua runs directly with synthetic window parameters, without Java/Flink execution. The 8 cases assert existing behavior, including defects; 64 regressions do not establish end-to-end correctness. UNKNOWN lifecycle acceptance failed. Download test_unknown.py and reproduce.sh from this directory beside this file. Requires Docker and an engine checkout. Preparation (network access needed): git clone https://github.com/10kshuaizhang/fluxmeter.git ../fluxmeter git -C ../fluxmeter checkout b4ede374ed9ecc863ec71095c37fd89633161309 docker build -f ../fluxmeter/api/Dockerfile -t fluxmeter-api:latest ../fluxmeter mkdir -p deps docker run --rm --entrypoint pip -v "$PWD/deps:/deps" fluxmeter-api:latest install --target /deps 'pytest==9.1.1' 'pytest-timeout==2.4.0' 'fakeredis[lua]==2.40.0' 'redis==8.1.0' 'PyYAML==6.0.3' 'jsonschema==4.26.0' docker pull redis:7-alpine sh reproduce.sh ../fluxmeter ./results Preparation is a convenience rebuild, not a byte-identical historical image: the engine Dockerfile uses a mutable base and lower-bounded dependencies. The original local API image was Python 3.11, httpx 0.28.1, image ID: sha256:31af593c53582e14517394495c795a7269737b4dac3fd3f61ad806845f8a5c28 The original Redis image ID: sha256:858f009f9709ce576febc734aa78b8f6d624b82571f9ddb6bda4377c833b3499 These are local image IDs, NOT public pullable registry references. If present locally, set RUNTIME_IMAGE and REDIS_IMAGE to those IDs. EXPERIMENT_DEPS can point at an existing prepared dependencies directory. Tests run without external networking. Repository and dependencies are mounted read-only. Redis has no published port or persistent volume. Only that new Redis is flushed. Results and appended observations go in the explicit output folder. The shortened read timeout (0.15s vs source 120s) lives in the test client factory; the mock waits 0.6s. Engine code is unchanged. Source test_unknown.py is unchanged from the final experiment. Runner only generalizes paths, mounts and image inputs. Original final logs: 8 passed, 3 warnings in 5.40s; 64 passed, 7 warnings in 3.60s. Warnings concern FastAPI deprecated on_event hooks. observations.jsonl includes synthetic customer/request IDs and exploratory reruns. An early harness failure used the wrong counter-key index; fixing it was not an engine fix. Final observations include zero-event correction conflicts and exact outbox envelope replay. make demo-proof was inspected, not run. Manual receipt injection is test instrumentation, not automatic recovery or provider authentication. Sample cost $0.000045 comes from the Python catalog; Java pricing parity was not revalidated. HTTP 202 is custody, not billing completion. Unverified: real providers, full tenant isolation, expiry worker scheduling, concurrent expiry/settlement, long outages, crash recovery, late Flink windows, and ClickHouse lifecycle audit. Do not infer exactly-once billing.