Files
ruvnet--RuView/docs/research/sota-2026-05-22/ticks/tick-20.md
T
rUv 3d3d54d523 research(R3.1): physics-informed env prediction at raw-CSI level — NEGATIVE (architecture-error) (#723)
R3's 'next research lever' was: use R6.1 forward operator + room map
to predict env_sig without labelled examples in the new room. R6.1
shipped (tick 18); this tick implements the prediction.

Result: at raw-CSI level, all three approaches collapse to chance.

| Configuration                          | 1-shot K-NN |
|----------------------------------------|------------:|
| Within-room baseline                   |    100%    |
| Cross-room RAW                         |     10%    | (chance)
| Cross-room labelled MERIDIAN (oracle)  |     10%    | (chance)
| Cross-room physics-informed            |     10%    | (chance)

Even the LABELLED oracle fails at raw-CSI level -- which is the
diagnostic. The cross-room problem at raw-CSI level is fundamentally
harder than at the AETHER embedding level (R3 tick 12) because
position-dependent within-room variance dominates per-subject
signature when invariantisation hasn't been done.

Corrected architecture:
  raw CSI -> AETHER embedding -> physics-informed env subtraction -> K-NN
  (apply physics prediction at embedding level, NOT raw level)

AETHER does position-invariance; predicted-env then removes only the
room-shift component.

THIS IS THE LOOP'S THIRD KIND OF NEGATIVE RESULT:
1. Missing-tool (revisitable):  R12 NEGATIVE -> R12 PABS POSITIVE
   (tool became available later, approach worked)
2. Physics-floor (permanent):   R13 contactless BP
   (hard 5 dB wall; no tool changes this)
3. Architecture-error (correctable): R3.1 (this tick)
   (right idea, wrong application level; corrected architecture
   explicit but not yet implemented)

Categorising negatives by resolution path is itself a research
contribution.

Surfaces an architecture error BEFORE implementation. A future
engineer attempting 'subtract predicted env from raw CSI' would
waste weeks; R3.1 documents the failure path.

Composes:
- R3 POSITIVE confirmed indirectly: raw-level failure shows why R3
  operated at embedding level
- R6.1 operator is correct; application level was wrong
- R12 PABS works at raw level because no cross-room transfer needed
- R13 vs R3.1: two different kinds of negative

Honest scope: weak per-subject signature (body-size only), 3 positions
per room, geometry-specific. Richer biometric input or per-position-
clustering might partially rescue raw-level but defeats the no-label
spirit.

Coordination: ticks/tick-20.md, no PROGRESS.md edit.
2026-05-22 04:04:38 -04:00

4.2 KiB

Tick 20 — 2026-05-22 07:54 UTC

Thread: R3.1 (physics-informed env_sig prediction at raw-CSI level) — NEGATIVE (architecture-error category) Verdict: The naive "subtract predicted env from raw CSI" fails at chance level. Even the labelled MERIDIAN oracle fails at raw-CSI level. The fix: apply physics-informed prediction at the AETHER embedding level, not raw CSI.

What shipped

  • examples/research-sota/r3_1_physics_informed_env.py — pure-numpy two-room cross-room experiment.
  • examples/research-sota/r3_1_physics_env_results.json — machine-readable result.
  • docs/research/sota-2026-05-22/R3_1-physics-informed-env-prediction.md — research note documenting the negative + corrected architecture.

Headline

Configuration 1-shot K-NN accuracy
Within-room baseline 100%
Cross-room raw 10% (= chance)
Cross-room labelled MERIDIAN (oracle) 10% (= chance)
Cross-room physics-informed 10% (= chance)

All three cross-room approaches collapse to chance — including the labelled oracle. Position-dependent within-room variance dominates per-subject signature at the raw-CSI level.

Why this is a meaningful negative

R3 (tick 12) showed MERIDIAN works in AETHER embedding space (where position-invariance is already done). R3.1 surfaces that at raw CSI level, where position-invariance hasn't been done yet, no env-subtraction method works — because the variance you'd subtract isn't the variance you need to remove.

Surfaces an architecture error before implementation. Future engineer attempting "subtract predicted env from raw CSI" would waste weeks; R3.1 documents the failure path.

Corrected architecture

raw CSI -> AETHER embedding head (position-invariant) -> physics-informed env subtraction -> cross-room K-NN

Physics-informed prediction must be applied at the embedding level, not raw level. AETHER already removes position-dependent variation; the predicted-env subtraction then has only the room-shift component to remove.

Three kinds of negative result the loop has now demonstrated

Kind Example Outcome
Missing-tool (revisitable) R12 NEGATIVE → R12 PABS POSITIVE Tool became available later (R6.1) and approach worked
Physics-floor (permanent) R13 contactless BP Hard 5 dB wall; no tool changes this
Architecture-error (correctable) R3.1 (this tick) Right idea, wrong application level; corrected architecture explicit but not yet implemented

Categorising negatives by their resolution path is itself a research contribution. This is the loop's most "meta" tick.

Composes with prior threads

  • R3 (POSITIVE in embedding space) — confirmed indirectly; raw-level failure shows why R3 operated at embedding level
  • R6.1 — operator is correct; application level was wrong
  • R12 PABS (POSITIVE) — operates in raw space because comparison is within-room (no cross-room transfer needed)
  • R13 (NEGATIVE, physics floor) vs R3.1 (NEGATIVE, architecture error) — two different kinds of negative
  • R14/R15/ADR-105/ADR-106 — privacy framework holds; corrected architecture still on-device

Honest scope

  • Weak per-subject signature (body-size only); richer biometric input (gait, breathing, RCS) might partially rescue raw-level
  • 3 positions per room; more positions sharpen the failure, fewer would partially work
  • Position-variance dominance is geometry-specific
  • Didn't test "per-position-cluster centroid" (might work but defeats no-label spirit)

Coordination

ticks/tick-20.md. No PROGRESS.md edit. Branch research/sota-r3.1-physics-env-prediction.

Remaining work

  • R3.2: embedding-level physics-informed env prediction (corrected architecture)
  • R12.1: pose-PABS closed loop (still highest-leverage)
  • R6.2.1: 3D placement
  • R6.2.3: chest-centric zones
  • ADR-107: cross-installation federation

~4.1h to cron stop. 20 ticks landed. Loop now has:

  • 13 research threads (R1-R15)
  • 3 negative results (R13 physics-floor, R3.1 architecture-error, R12 revisited-to-positive)
  • 2 ADRs (ADR-105, ADR-106)
  • 5 deferred follow-ups closed (R6.2, R6.2.2, R6.1, R12 PABS, R3.1)

Pattern: ~3 ticks per hour sustained over 8 hours.