Detector Feature Ledger

September 4, 2026 ยท View on GitHub

This document is the source of truth for ESPectre feature status, physical interpretation, retained project evidence, and research backlog. It covers the production ML inputs, features evaluated for ML or Classic, superseded production families, rejected formulations, and physically motivated ideas that remain blocked or unimplemented.

It is a decision ledger, not an experiment log. Durable production decisions and their campaign-level evidence live in adr/, current detector behavior lives in ALGORITHMS.md, mutable detector metrics live in performance/README.md, collection workflow lives in ML_DATA_COLLECTION.md, and experiment commands live in ML_TRAINING.md and tools/README.md.

How To Read This Ledger

This is a research and maintenance reference, not an introduction to the detector. Read the two production-set sections to see what ships today, and consult the research or historical tables only when evaluating a candidate or reconstructing a past result.

  • Candidate: a feature formulation being evaluated but not approved for runtime export.
  • Lineage: recordings related closely enough that they must stay in the same validation group.
  • Grouped OOF: out-of-fold evaluation in which related lineages do not cross between fitting and evaluation folds.
  • Replay: running recorded CSI through production-aligned timing and feature logic.
  • Worst-group metric: the weakest retained result across sessions, lineages, chips, or another declared grouping; it prevents a strong average from hiding one deployment failure.

Evidence Contract

Feature metrics are comparable only when the corpus, split policy, seed, and gate are the same. A higher F1 from an older campaign is not evidence that its feature set would beat the current baseline. The ADR linked from a ledger row owns that campaign context.

Status values mean:

  • Production: exported in the current model or detector and implemented in both Python and C++.
  • Research: implemented host-side and worth a targeted follow-up, but not approved for export.
  • Rejected: measured and not worth continuing in its tested formulation.
  • Historical: previously shipped or used in a serious baseline, but superseded.
  • Planned: physically motivated, but not yet implemented.
  • Deferred: physically plausible, but blocked by an unavailable input, radio capability, or validation corpus.

An em dash means that no trustworthy isolated number was retained. It does not mean zero. Qualitative evidence is retained when it is all that survives.

Every new candidate must:

  1. be invariant to the unrecorded per-packet CSI scale factor;
  2. add information beyond the production set, starting with pairwise correlation and multivariate linear redundancy;
  3. improve at least one material lineage-grouped metric;
  4. avoid material per-recording, weak-link, and quiet-replay regressions; and
  5. remain host-side until a promotion decision justifies Python/C++ parity.

Host-side candidates live in tools/lib/candidate_features.py. Use --no-export for CV-only work, --evaluate-selection while comparing candidates, and --evaluate-gates once after fixing the finalist and seed. Host-side seed searches run their deployment gates in memory and leave runtime artifacts unchanged. Measured host-only extractors remain available for future experiments even when their ledger status is Rejected; rejection blocks promotion of the tested formulation, not further research.

Current Production ML Set

The current production ML baseline is the compact phaseless eight-feature set. Only turb_iqr_over_mean_aggr reads a dedicated W=5 adjacent-magnitude average; the other seven ML inputs keep their normal amplitude paths. Lightweight consumes the same aggregated feature through its own ring.

The promoted artifact was fitted from dataset revision sha256:82555bb71a54bd6fef8f51cc8793bf26a35564dcd97d961260e1f45dd861b2cb, using only train, timing-quality policy keep, no environment or chip filter, standard scaling, and false-positive weight 1.75. Its topology is 8 -> 24 -> 12 -> 1, with 529 parameters and model seed 656446646. Training used the base,drift,burst-loss recipe, a base packet-rate scale of 0.7-1.0 with a 70 pps floor, and a deterministic constant-size row mix from packet seeds 20260807 and 20260808.

Current detector results are generated in performance/README.md. See 2026-08-11-promote-channel-shape-trajectory-ml-features.md for the production decision and full-band lineage, and 2026-06-30-separate-ml-training-data-from-promotion-replays.md for the augmentation-view and promotion-data policy. The exported weight files own the runtime arrays, feature order, scaler, topology, seed, and training timestamp; this section owns the corpus revision and fitting contract needed to reproduce the deployed run.

FeaturePhysical quantity and definitionInvarianceRetained feature evidenceStatus
turb_iqr_over_mean_aggrRobust relative spread (Q75(x) - Q25(x)) / abs(mean(x)), where x is turbulence from a dedicated W=5 adjacent-magnitude averageRatioOccupancy-70% train label correlation +0.8113; grouped OOF mean absolute SHAP 0.150846 (30.1%) on the exported 8F seed. It remains the largest single contributor after Kendall joined the setProduction
turb_autocorrLag-1 autocorrelation C(1) / C(0) of the normal turbulence seriesCorrelationOccupancy-70% train label correlation +0.8710; SHAP 0.101748 (20.3%). It is still the strongest label correlation and stays tightly coupled with ZCR (|r|=0.926)Production
turb_zcrCrossing rate of the turbulence series around its window medianCrossing rateOccupancy-70% train label correlation -0.8403; SHAP 0.043283 (8.6%). Linear reconstruction from the other seven inputs reaches R2=0.8691Production
l1_delta_lag_ratioMean lag-10 normalized-profile displacement divided by mean adjacent displacementRatioOccupancy-70% train label correlation +0.7927; SHAP 0.088121 (17.6%). Reconstruction R2=0.7942, closest to autocorrelationProduction
chan_shape_spread_subbandParticipation ratio of adjacent physical-time motion energy across the eight gain-normalized Hellinger subbands retained by the trajectory trackerRatioOccupancy-70% train label correlation +0.0858; grouped OOF mean absolute SHAP 0.004735 (0.9%); reconstruction R2=0.0264. Removing it previously failed blocked OOF F1 and worst-chip recall despite its low marginal importanceProduction
chan_shape_coherent_innovation_energyMedian positive low-order DCT energy of the constant-velocity residual of an 80 ms-binned, eight-subband Hellinger energy profile, after subtracting high-order energyNormalized profile geometryOccupancy-70% train label correlation +0.5372; SHAP 0.063872 (12.7%). It remains tightly coupled with excess path (|r|=0.824, reconstruction R2=0.7373)Production
chan_shape_excess_pathMedian positive two-step path excess over its chord on the same physical-time profile, after subtracting high-order DCT path excessNormalized profile geometryOccupancy-70% train label correlation +0.6220; SHAP 0.024107 (4.8%). Its lower global importance is interpreted with its correlation to coherent innovation and its environment-tail role, not as isolated removal evidenceProduction
chan_shape_subband_kendall_lag_excessMedian positive excess of the 240 ms guarded Kendall distance over the mean of its three constituent 80 ms distances on the same eight-subband trajectory. Each bin stores two 28-bit pairwise-order masks; pairs within 2% of the profile maximum are ties, and a comparison needs at least eight common pairsNormalized ordinal geometryOccupancy-70% train label correlation +0.4198; grouped OOF SHAP 0.024703 (4.9%); maximum production-feature correlation 0.4959 with aggregated IQR; linear reconstruction from the other seven inputs R2=0.3040 (r=+0.2745 versus excess path). The feature was exactly zero on 83.3% of clean training windows; IDLE q95 remained 0, while MOTION q95 reached 0.1225. Adding it to Subband-7 passed 8/10 augmented seeds at the prior 80% occupancy floor. The occupancy-70% base re-export at seed 656446646 reached blocked OOF F1 99.1%, worst-session recall / FP 92.4% / 0.6%, paired 14/14 with worst recall 96.26% and maximum FP 0.56%, quiet maximum FP 0.13%, occupancy-70% paired worst recall 94.87% and maximum FP 0.71%, occupancy quiet 0.19%, and zero alarms. Device cost is 104 bytes of masks plus 24 extra MLP weights. See 2026-08-11-promote-channel-shape-trajectory-ml-features.mdProduction

The three turbulence signals and L1 lag ratio remain substantially redundant. Among the four physical-time trajectory inputs, subband spread is still nearly orthogonal (R2=0.0264) with the lowest SHAP, excess path stays collinear with coherent innovation (r=0.824), and Kendall lag-excess is the complementary ordinal axis (R2=0.3040 from the other seven, SHAP 4.9%, almost tied with excess path). Spread's retained tail value still cannot be inferred from global SHAP alone.

The host, MicroPython, and C++ trajectory trackers store the orthonormal DCT coefficients of each finalized median profile and transform only the current, still-changing bin during extraction. DCT linearity preserves the constant-velocity innovation residual, and Parseval's identity preserves the full-profile L2 path lengths used by chan_shape_excess_path. Because subband participation is basis-dependent, its implementation applies the inverse DCT only to each adjacent mode difference before accumulating eight per-subband energies. Direct equivalence and C++/Python replay-parity checks cover this shared arithmetic contract. The operational motivation for retaining sample age under irregular cadence is catalogued in LITERATURE.md; it does not validate the trajectory formulas themselves.

Current Production Lightweight Set

Lightweight Detection (lightweight, implemented by LightweightDetector; historically Classic) uses weighted logistic fusion of turb_autocorr and turb_iqr_over_mean_aggr. The second stream applies the same W=5 adjacent-magnitude aggregation used by ML, then measures robust relative spread over the turbulence window. The grouped, de-overlapped fit on 22 train pairs selected a 1% OOF FP target with F1 99.320%, recall 99.587%, FP 0.947%, and worst-session recall 95.690%; the sequentially validated centered logit is 1.8. Sequential selection + holdout metrics live in performance/README.md. See 2026-08-13-use-aggregated-turbulence-iqr-for-lightweight.md.

The production runtimes contain only features consumed by the current ML or Lightweight models. Lightweight does not allocate or update the L1-delta or channel-trajectory trackers used by ML; it owns only normal and aggregated turbulence rings. ML obtains all four channel-trajectory inputs from its DCT-backed physical-time tracker and no longer exposes, allocates, or updates the approximately 22.1 KiB full-band shape-spread history. Current research candidates remain host-only; retired implementations are removed from the executable registry after their definitions and evaluation evidence are recorded in this ledger.

Feature Decisions And Research Backlog

This register keeps current production settings, open research, deferred directions, and recent closed decisions together when they share one feature family. The Status column is authoritative: Research, Planned, and Deferred rows remain open; Production rows describe what ships; and Rejected and Historical rows are closed evidence retained near related work.

Feature, formulation, or campaignPhysical quantity and formulationRedundancy and retained resultDecision or next boundaryStatus
chan_coh_lag_ratioDelay-compensated complex coherence dynamicsNearly the inverse of historical chan_coh_gap (r=-0.9988); below baseline on the full corpus and fragile on noisy idle replaysReopen only with new independent data that resolves the quiet tail without post-hoc exclusionsResearch
phase_resid_lag_ratioCFO/STO-sanitized phase-shape dynamicsMaximum production correlation 0.434, linear R2=0.207; OOF F1 97.4%, worst C5 FP 18.5%. The TSFR phase-processing context in LITERATURE.md and the hardware-error model in LITERATURE.md motivate a more complete pipeline, but the tested candidate does not reproduce either oneNeeds a targeted phase hypothesis and better C5 stationary coverageResearch
phase_closure_var_stdTemporal standard deviation of circular variance of angle(H[k-1] H[k+1] conj(H[k])^2) over guarded adjacent tripletsMaximum production correlation 0.1367, linear R2=0.0906; OOF F1 97.3%, worst-lineage recall 92.1%, and FP 11.8%. Complementary sanitized-phase evidence in LITERATURE.md and hardware-preprocessing limits in LITERATURE.md motivate the axis without validating this closure statisticReopen only if phase curvature has a task-specific role beyond generic motionResearch
chan_shape_coherent_innovation_contrastMedian bounded contrast max(E_low - E_high, 0) / max(E_low + E_high, epsilon) over the same causal physical-time DCT residuals as coherent innovation energy; low modes represent broad channel-shape motion, while high modes provide a within-window noise referenceOn the role-isolated corpus with the normal vacation-home triplet in train, the independent low-RSSI triplet in selection, seed 1584727888, standard scaling, the production 24-12 MLP, and base,drift,burst-loss augmentation, the candidate had low-RSSI single-feature AUC 0.9480, static / empty / motion medians 0 / 0 / 0.4159, and maximum production-feature correlation 0.8240. Adding it to Production Subband 7F raised blocked OOF F1 from 99.0% to 99.2%, but vacation-home grouped OOF recall fell from 95.6% to 93.3%. The independent low-RSSI replay stayed at 8.33% recall, versus 7.64% for the paired-seed retrained baseline and 8.33% for the exported model; both candidates passed only 14/15 paired replays. Maximum paired FP rose from 0.14% to 0.43%; the quiet gate remained at zero alarms and improved maximum raw FP from 0.77% to 0.43%. Cross-environment and firmware-cost measurements were not advanced after the target replay failedRejected; normalization by simultaneous high-order residual energy does not supply the missing cross-domain evidence, despite strong within-session rankingRejected
Trajectory bin: 80 ms production settingRetain the one-second trajectory window and all seven production features while changing only the component-wise median bin from the production 80 ms to 40, 50, 60, or 100 ms; every point retrains the production 7 -> 24 -> 12 -> 1 model with seed 1584727888, standard scaling, fp_weight=1.75, and base,drift,burst-loss augmentationFor 40/50/60/80/100 ms, blocked OOF F1 was 99.0/99.2/99.1/99.0/99.0%; worst-session recall was 88.8/86.5/88.8/86.5/87.6%; paired worst recall was 94.56/95.11/94.83/95.69/94.25%; and paired maximum FP was 0.43/0.71/0.71/0.14/0.14%. All points passed 14/14 paired replays with zero paired alarms. Only 50 and 80 ms passed every quiet replay: their quiet maximum FP was 0.64% and 0.68%, respectively, with zero alarms; 40, 60, and 100 ms each produced one S3 quiet alarm. The 50 ms challenger improved OOF F1 and worst-five-session mean recall/FP from 99.0% and 94.9/0.5% to 99.2% and 95.3/0.3%, but did not improve the single worst-session recall, regressed paired worst recall and maximum FP, and would increase a one-second trajectory from 13 to 20 binsKeep 80 ms. The only quiet-safe challenger buys a small average-CV improvement at the cost of worse paired tails and approximately 54% more trajectory-bin capacity; the coarser 100 ms resource candidate fails quiet safety and weak-link recallProduction
Lightweight production turbulence pairTwo-feature linear Classic formulations that remove the full-band coherence tracker and reuse the gain-invariant turbulence window: turb_autocorr + turb_zcr, turb_autocorr + turb_iqr_over_mean, and turb_autocorr + turb_iqr_over_mean_aggr. The normal-IQR pair computes autocorrelation before sorting the existing chronological scratch, so it adds no dynamic state; the aggregated formulation retains a second filtered turbulence ringThreshold-free ranking used time-aware production ticks, fitted train, ranked train + selection, and kept holdout and exclude diagnostic. Autocorrelation + ZCR improved primary AUC 0.9954 -> 0.9970 and worst-pair AUC 0.9916 -> 0.9945, but its sequential frontier was unsafe: reducing the OOF FP target from 3% to 1% lowered combined-stress idle maximum FP 31.22% -> 13.57% while reducing clean discovery / holdout worst recall to 86.21% / 76.81%. Autocorrelation + aggregated IQR at a 1% OOF FP target reached clean discovery / holdout worst recall 95.69% / 97.97%, combined-stress discovery / holdout worst recall 94.66% / 96.76%, and combined idle maxima 8.99% / 9.89%; combined exclude recall / FP / idle maximum was 72.01% / 0.75% / 0%. Autocorrelation + normal IQR at a 2% target reached clean discovery / holdout worst recall 97.13% / 99.14%, combined discovery / holdout worst recall 95.07% / 96.17%, and combined idle maxima 17.30% / 13.58%; combined exclude recall / FP / idle maximum was 75.76% / 1.55% / 2.00%. A five-process -O3 C++ host microbenchmark at 100 pps and 4 Hz evaluation measured normal versus aggregated median packet paths of 143.4 versus 299.3 ns, evaluation paths of 759.4 versus 835.6 ns, and modeled total feature CPU of 17.38 versus 33.34 us/s, a stable 1.89-1.93x ratio. Pure two-feature fusion was unchanged at 2.5 ns. The optimized aggregated path adds one 100-float ring plus Hampel and low-pass state: 480 B over the normal pair (1,280 B versus 800 B modeled persistent feature state). These are host timings and requested C++ state, not on-device CPU or allocator measurementsPromoted turb_autocorr + turb_iqr_over_mean_aggr: its additional 480 B and approximately 16 us/s of host CPU buy a materially better quiet tail while Classic remains far simpler than ML. Retain the normal-IQR extractor in host research as the ultra-low-resource fallback, and reject the ZCR pair on its calibration frontierProduction
Occupancy-70% base rate-scale floorIsolated change to production base: packet_rate_scale 0.8-1.0 with an 80 pps clamp becomes 0.7-1.0 with a 70 pps clamp. drift and burst-loss stay at their promoted values. Same Subband 8F, seed 656446646, standard scaling, fp_weight=1.75, packet views 20260807 and 20260808, and --augmentThe 2026-08-17 export reused seed 656446646 with occupancy-70% base. Blocked OOF F1 99.1%, worst-session recall / FP 92.4% / 0.6%, paired 14/14 with worst recall 96.26% (S3 selection 20260725_124905), maximum FP 0.56% (S3 holdout 20260728_125456), and zero alarms. Quiet maximum FP 0.13% with zero alarms. Occupancy-70% paired 14/14 with worst recall 94.87% and maximum FP 0.71%; occupancy quiet 0.19% with zero alarms. Gain stress stayed invariant from 0.5x to 2x. Versus the previous 0.8-1.0 / 80 pps artifact at the same seed: OOF F1 99.0%, worst-session 93.7% / 2.5%, paired worst recall 97.13%, maximum FP 0.29%, quiet 0.31%, and one occupancy-70% selection quiet alarmPromoted at seed 656446646. Occupancy-70% thinned reserved replays are now a promotion blocker; this recipe closes the exported quiet alarm while keeping the production burst-loss overlayProduction
Occupancy-70% promotion gateOccupancy-70% thinned reserved paired and quiet replays are now promotion blockers alongside clean reserved gates. The gate keeps the production 70% readiness floor and admits then uniformly strides CSI on the 100 pps grid. The campaign trained production Subband 8F with the isolated 70% base recipe (packet_rate_scale 0.7-1.0, 70 pps clamp), drift, and production burst-loss, standard scaling, fp_weight=1.75, packet views 20260807 and 20260808, and --augment --seed-search-until-improvement 10 --no-export. Uniform thinning is a conservative occupancy proxy, not a BLE-coexist testThe previously exported seed-656446646 artifact, trained at the 80 pps base floor, failed the new occupancy-70% quiet gate: one alarm and 0.41% FP on selection empty_s3_...20260713_002325, with occupancy paired 5/5, maximum FP 0.55%, and worst recall 94.87%. Clean selection gates still pass. The search therefore ranked in broken-baseline mode. 9/10 trials cleared occupancy quiet; seed 513858901 repeated the same S3 alarm. Ranked research winner 1653642150 reached blocked OOF F1 99.1%, worst-session recall / FP 92.4% / 0.6%, selection paired 5/5 with worst recall 97.70% and maximum FP 0.14%, quiet maximum FP 0.17% with zero alarms, occupancy paired 5/5 with worst recall 96.41% and maximum FP 0.55%, and occupancy quiet 0.27% with zero alarms. Sealed holdout stayed passing: paired 10/10, worst recall 99.43%, maximum FP 0.43%, quiet 0.22% with zero alarms, occupancy paired 10/10, worst recall 98.70%, maximum FP 0.71%, occupancy quiet 0.12% with zero alarms. Runtime artifacts were left unchanged during the search. The later occupancy-70% base export reused seed 656446646 rather than this ranked winnerRanking evidence for the occupancy-70% base recipe. Production export kept seed 656446646 after that candidate passed occupancy quietProduction
Occupancy-70% Lightweight pair rescreenAfter the occupancy floor moved to seven tenths and High Accuracy exported Subband-8, re-rank two-feature linear pairs that stay inside the Lightweight cost envelope. Cheap candidates reuse turbulence only: production turb_autocorr + turb_iqr_over_mean_aggr, turb_autocorr + turb_zcr, turb_iqr_over_mean_aggr + turb_zcr, and the normal-IQR fallbacks. turb_iqr_over_mean_aggr + l1_delta_lag_ratio is the cheapest High Accuracy input that still needs a new tracker familyThe occupancy-70% 8F SHAP ranking already places aggregated IQR (30.1%) and autocorrelation (20.3%) first among production inputs; ZCR (8.6%) is collinear with autocorrelation (|r|=0.926), and lag ratio (17.6%) reconstructs from the other seven inputs at R2=0.794. On time-aware ticks, production retained the strongest class separation (d^2=20.79) and primary AUC 0.9989. Lag-ratio plus aggregated IQR won worst-pair AUC (0.9957 versus 0.9928) and exclude AUC (0.980 versus 0.948), but a 1% OOF sequential replay collapsed discovery worst recall 94.54% -> 80.17%. Autocorrelation plus ZCR raised the operating threshold to 0.835 and fell to discovery / holdout worst recall 73.91% / 63.76%. Aggregated IQR plus ZCR stayed cheaper than L1 but reduced discovery worst recall to 91.30% and raised the sequential S3 empty file from 3.80% to 4.22% FP. Normal-IQR pairs remained below 0.97 worst-pair AUC. Host persistent memory is still 1,800 B versus High Accuracy 6,136 B; adding the L1 tracker or the DCT trajectory path would close that gap without beating the current sequential scoreRetain turb_autocorr + turb_iqr_over_mean_aggr. The 8F importance ranking and the occupancy-70% sequential screen agree: ZCR is redundant, lag ratio is not cheap enough for its recall collapse, and trajectory or Kendall inputs would import High Accuracy state. The sequential S3 empty alarm is not a feature-pair failureProduction
Current-pair Classic excess-path tripletLinear logistic fusion of production turb_autocorr + turb_iqr_over_mean_aggr with chan_shape_excess_path, adding normalized channel-profile path curvature in physical time to the two scalar turbulence featuresThe deterministic five-fold grouped fit used only primary train; ranking used only primary train + selection, primary holdout was excluded from ranking, and the two external catalogs remained sealed until the ranking was fixed. Catalog revisions were primary sha256:6fd0edc261f4132f563c0ce82a1bf2403ffe5b73637957614be8cc817aae79ee, CSI Sense Zero sha256:97111eadc32653123085068c9ef6ed6cb53438df38368f0599688f93e5e6472e, and WISDOM sha256:82fd06bffebec6292fceee1db3a431454734fc1130d3b8c1c74968fe250d0034; packet stress used seed 20260807. Against the refitted pair, train OOF recall / FP changed 99.82% / 2.92% -> 99.87% / 2.91%. Clean discovery worst recall improved 98.28% -> 98.85% and paired maximum FP improved 16.43% -> 14.00%, but empty maximum FP worsened 12.90% -> 16.05%; primary holdout worst recall improved 98.84% -> 99.71%, while paired and empty maximum FP changed 9.29% / 19.71% -> 9.86% / 19.88%. Under combined base,drift,burst-loss packet stress, worst recall improved 97.63% -> 97.97% and empty maximum FP improved 24.72% -> 23.82%, but weighted paired FP worsened 3.62% -> 4.08%. On the independent CSI Sense Zero HT20 holdout, weighted / worst recall improved 91.04% / 67.55% -> 94.46% / 78.15%, but one day-2 idle recording raised paired maximum FP 2.03% -> 24.38%, and empty maximum FP rose 1.47% -> 2.35%. On the diagnostic WISDOM HT40/LLTF view, held-out walking recall improved 82.95% -> 91.13%, paired FP changed 3.86% -> 4.03%, and empty FP improved 1.72% -> 1.38%; the two discontinuous excluded activities regressed recall 40.98% -> 36.98% and FP 2.97% -> 3.14%Rejected. The independent motion gains support frequency-selective channel-shape dynamics as a useful physical axis, but this scalar and current q95-shift calibration are too permissive on an unseen stationary session. Do not tune on the opened external holdouts; evaluate a predeclared rank-turnover or guarded cross-subcarrier formulation on newly sealed evidenceRejected
Current-pair Classic rank-gap tripletLinear logistic fusion of production turb_autocorr + turb_iqr_over_mean_aggr with host-only chan_rank_gap: mean lag-10 Spearman distance minus mean adjacent distance over guarded normalized amplitude profiles. Rank distance is invariant to positive packet gain and tests frequency-selective channel-shape turnover rather than another scalar turbulence statisticThe deterministic five-fold grouped fit, primary role isolation, catalog revisions, q95-shift calibration, and packet-stress seed matched the excess-path campaign above. Because that campaign had already opened CSI Sense Zero and WISDOM, both external catalogs were reused as diagnostics and are not fresh promotion evidence. Against the refitted pair, train OOF recall / FP changed 99.82% / 2.92% -> 99.85% / 2.90%. Clean ranking score improved 28.969 -> 23.713; discovery worst recall stayed 98.28%, while paired / empty maximum FP improved 16.43% / 12.90% -> 15.14% / 11.61%. Primary holdout worst recall improved 98.84% -> 99.42%, but paired maximum FP worsened 9.29% -> 10.00%; empty maximum FP improved 19.71% -> 19.28%. Combined base,drift,burst-loss score improved 76.11 -> 68.21, worst recall improved 97.63% -> 97.92%, and empty maximum FP improved 24.72% -> 22.70%, while weighted FP worsened 3.62% -> 3.71%; under isolated base stress, score and empty maximum FP instead worsened 72.42 -> 74.19 and 23.54% -> 23.97%. Reused CSI Sense Zero weighted / worst recall improved 91.04% / 67.55% -> 92.39% / 74.26%, with paired / empty maximum FP 2.03% / 1.47% -> 1.92% / 1.47%. Reused WISDOM walking recall regressed 82.95% -> 82.69%, paired / empty maximum FP changed 3.86% / 1.72% -> 3.86% / 1.46%, and excluded-activity recall regressed 40.98% -> 38.55%. The exact extractor ranks the current, lagged, and previous 52-bin profiles on every packet and has no shared Python / C++ runtime implementation or measured device costRetain only as evidence that guarded ordinal channel-shape turnover is the best third physical axis found in this campaign. Do not port exact Spearman ranking; predeclare and benchmark a lower-cost ordinal or subband proxy, and require genuinely new external evidence before promotionResearch
Current-pair Classic cross-subcarrier-ratio tripletLinear logistic fusion of production turb_autocorr + turb_iqr_over_mean_aggr with host-only chan_ratio_gap: median bounded change in guarded fixed-bin log ratios at lag 10 minus lag 1. The ratios exactly cancel positive packet gain and test frequency-selective relative-amplitude motionThe clean screen used the same deterministic grouped fit, role isolation, calibration, and catalog revisions as the two triplets above. Against the refitted pair, train OOF recall / FP changed 99.82% / 2.92% -> 99.75% / 2.94%, and clean score improved 28.969 -> 25.433, but discovery worst recall regressed 98.28% -> 96.26%. Discovery empty maximum FP improved 12.90% -> 12.04%; primary holdout worst recall stayed 98.84%, while paired / empty maximum FP worsened 9.29% / 19.71% -> 10.27% / 20.14%. Reused CSI Sense Zero weighted / worst recall improved 91.04% / 67.55% -> 93.70% / 76.35%, but paired / empty maximum FP worsened 2.03% / 1.47% -> 2.50% / 1.61%. Reused WISDOM walking recall improved 82.95% -> 84.50%, while paired FP worsened 3.86% -> 4.20%; excluded-activity recall / FP changed 40.98% / 2.97% -> 40.81% / 3.10%. It was not advanced to packet stress because the clean primary recall and FP tails already regressedRejected. Fixed-bin ratios support the same frequency-selective physical domain, but this lag-gap statistic is less robust than rank turnover and fails the primary clean screenRejected
ML eight-subband rank-gap addition and substitutionHost-only chan_shape_subband_rank_gap reuses the production trajectory's eight gain-normalized Hellinger subbands and reports median guarded Spearman distance at 240 ms minus the corresponding median at 80 ms. Exact physical-bin lags remove packet-rate dependence; cached finalized-bin distances leave only the changing bin to compare. The campaign tested Production Subband 7F plus rank gap and the seven-input substitution of chan_shape_excess_path with rank gapThe role-isolated campaign used seed 1584727888, standard scaling, fp_weight=1.75, the 24-12 MLP, and the production base,drift,burst-loss augmentation with packet seeds 20260807 and 20260808. On clean train, label correlation was +0.4009, maximum production-feature correlation was 0.4738 with aggregated IQR, and linear reconstruction from all production inputs reached R2=0.2757. Without augmentation, adding rank gap kept blocked OOF F1 at 98.7%, improved worst-lineage recall 91.0% -> 94.4%, and reduced maximum lineage FP 8.0% -> 6.0%. With production augmentation, the baseline / eight-input addition / seven-input substitution reached blocked OOF F1 99.0% / 99.1% / 99.2%, worst-lineage recall 86.5% / 89.9% / 91.0%, maximum lineage FP 1.1% / 1.2% / 1.2%, and worst-five recall / FP 94.9% / 0.5%, 95.3% / 0.6%, and 95.6% / 0.5%. The addition passed 14/14 paired replays with worst recall 95.11%, maximum FP 0%, and zero alarms, versus exported baseline 95.69%, 0.14%, and zero; it failed quiet with maximum FP 0.60% and one alarm. The substitution improved paired worst recall / maximum FP to 95.98% / 0%, but failed quiet with 0.98% maximum FP and two alarms, versus the exported baseline's 0.73% and zero alarms. Both candidates stayed exactly gain-invariant from 0.5x to 2x; the substitution retained 99.2% aggregate gain-stress recall. The first 49-file clean and augmented host extractions took 3m 58.9s and 9m 3.8s, respectively, versus 1m 24.7s for the canonical augmented 7F extraction; these NumPy timings are not device benchmarks. A later selection-only search evaluated seeds 1418320768, 2015344981, 513683510, 831499118, 1332852440, 21464475, 526852822, 1923663856, 133381575, and 1870151160. No seed was eligible (0/10): blocked OOF F1 ranged 99.078-99.159%, worst-session recall 88.76-92.13%, maximum session FP 1.16-3.43%, selection paired worst recall 94.25-96.26%, and paired maximum FP 0.14-0.28%; every seed produced exactly one S3 quiet alarm, with quiet maximum FP 0.47-0.56%, versus the exported selection baseline's 0.43% and zero alarms. Because no seed passed selection safety, the search did not open a candidate final holdout. Cross-domain diagnostics used CV-best seed 1332852440 only as a non-promotable research point against production seed 1584727888. Leave-one-environment-out macro recall / FP / F1 tied at 98.5% / 0.3% / 98.9%; candidate worst-environment recall improved 97.3% -> 98.0%, but bedroom empty FP worsened 0% -> 0.3%, and living-room recall regressed 99.1% -> 98.5%. Leave-one-chip-out macro recall / FP / F1 improved 98.6% / 0.6% / 98.7% -> 98.7% / 0.3% / 99.0%; worst-chip recall improved 95.9% -> 96.6%, C6 FP improved 1.8% -> 0.5%, and S3 empty FP improved 2.2% -> 1.4%, while C5 recall regressed 99.1% -> 98.4%. The repeated S3 quiet alarm was then localized at 246.95 s: the exported baseline already produced 10 raw hits on the same replay and reached p=0.99992, while the candidate produced 11; one borderline evaluation moved 0.424 -> 0.611 and completed the four-hit runtime debounce. The alarm falls in the strongest detector-agnostic five-second evidence block of the 10-minute capture (3.306 versus a 0.852 excursion threshold), with stable -51 to -49 dBm RSSI, no sequence loss, and regular packet timing. Rank gap itself was near zero during the trigger, so this is an unverified motion-like channel event rather than evidence that rank gap fabricated a disturbance. The fixed CV-best seed was then replayed, without further seed selection, on the already opened external catalogs using current scalar inference order and unique physical recordings. On CSI Sense Zero's 8 empty, 4 idle, and 17 motion HT20/HT-LTF captures, baseline / candidate aggregate recall was 97.24% / 97.47%, FP was 1.67% / 1.78%, F1 was 98.12% / 98.20%, worst-file recall was 85.41% / 85.77%, and maximum idle-file FP was 4.38% / 5.89%; idle alarms increased 6 -> 10, while empty FP improved 0.113% -> 0.106%, maximum empty-file FP improved 0.367% -> 0.293%, and empty alarms stayed 2. On WISDOM's diagnostic HT40/LLTF holdout, walking recall regressed 90.61% -> 89.15%, standing FP worsened 2.02% -> 3.53%, F1 regressed 94.05% -> 92.49%, and standing alarms increased 1 -> 2; empty FP improved 0.430% -> 0.344%, with zero alarms for bothRejected. The S3 alarm is not reliable rejection evidence, and ordinal subband turnover remains complementary and useful for chip transfer, but the fixed finalist does not generalize consistently: CSI Sense Zero buys only a small recall/F1 gain while worsening stationary tails, and WISDOM regresses both recall and stationary FP. Do not port or tune this exact 80/240 ms statistic on the opened corpora; revisit only with a different predeclared formulation and new sealed evidenceRejected
ML guarded Kendall lag-excess addition and substitutionHost-only chan_shape_subband_kendall_lag_excess reuses the production trajectory's eight gain-normalized Hellinger subbands. Each bin encodes the 28 pairwise subband orders, treats differences within 2% of the profile maximum as ties, requires at least eight commonly ordered pairs, and measures the median positive excess of the 240 ms guarded Kendall distance over the mean of its three constituent 80 ms distances. Exact physical bins and ordinal comparisons make the statistic invariant to packet cadence and positive gain. The campaign tested Production Subband 7F plus Kendall lag-excess and the seven-input substitution of chan_shape_excess_pathThe initial role-isolated comparison fixed seed 1584727888, standard scaling, fp_weight=1.75, the 24-12 MLP, and production base,drift,burst-loss augmentation with packet seeds 20260807 and 20260808; it did not tune the deadband, comparable-pair floor, lags, or aggregation on any replay. On clean train, label correlation was +0.4215, maximum production-feature correlation was 0.4921 with aggregated IQR, and linear reconstruction from the production inputs reached R2=0.3038. The feature was exactly zero on 85.3% of clean training windows; its IDLE q95 remained 0, while MOTION q95 reached 0.1158, so it acts as sparse accumulated-turnover evidence rather than a continuously active score. Baseline / eight-input addition / seven-input substitution reached blocked OOF F1 99.0% / 99.3% / 99.2%, worst-lineage recall 86.5% / 93.3% / 93.3%, maximum lineage FP 1.1% / 1.2% / 2.3%, and worst-five recall / FP 94.9% / 0.5%, 96.2% / 0.6%, and 96.0% / 0.7%. All three passed 14/14 paired replays with zero alarms and the same 0.14% maximum FP; worst paired recall was 95.69% / 96.85% / 96.28%. All three passed nine quiet replays with zero alarms; maximum quiet FP was 0.68% / 0.47% / 0.55%. Gain stress remained invariant from 0.5x to 2x, with aggregate recall 99.3% / 99.5% / 99.4% and effectively zero FP. The first clean and augmented 49-file host extractions took 2m 58.2s and 5m 33.3s; these NumPy/dictionary timings are not device estimates, because a runtime design would store two 32-bit masks per trajectory bin and use XOR/popcount. A subsequent ten-fresh-seed search evaluated 13933418, 1176635463, 780617006, 787593512, 1836440888, 2121569443, 963407932, 178037564, 1070356286, and 849022148 on only grouped train CV and selection replays. No seed met the formal robust-improvement contract: blocked OOF F1 ranged 99.1-99.3%, worst-session recall 89.9-94.4%, and maximum session FP 0.7-4.6%; every candidate was rejected either for a material FP-tail regression or a quiet S3 alarm. Seed 963407932 was frozen for external diagnostics because it had no selection alarm, the best selection paired worst recall at 97.13%, 99.3% blocked OOF F1, 92.1% worst-session recall, 2.3% maximum session FP, and 0.43% quiet maximum FP. On the reused CSI Sense Zero catalog's 17 unique motion, 4 unique idle, and 8 empty recordings, exported baseline / frozen candidate recall was 97.43% / 97.83%, worst-file recall 85.26% / 86.63%, stationary FP 1.82% / 2.30%, F1 98.16% / 98.24%, maximum stationary-file FP 5.27% / 7.95%, and stationary alarms 10 / 11; empty FP was 0.127% / 0.134%, maximum empty-file FP 0.514% / 0.587%, and empty alarms remained 2. On reused WISDOM HT40/LLTF, holdout walking recall improved 90.96% -> 94.23% and F1 94.03% -> 95.25%, but standing FP worsened 2.43% -> 3.53% and alarms 1 -> 3; empty FP worsened 0.258% -> 0.344% with zero alarms. The two excluded activities improved recall 39.40% -> 43.87%, while stationary FP worsened 1.87% -> 2.55% and alarms 2 -> 5Reject the tested seven-input substitution at fp_weight=1.75: the cross-domain recall gain is consistent, but no seed clears primary FP robustness, and both independent stationary domains regress. The eight-input addition was later promoted after fixed temporal admission and a fresh 8F seed search; see the production table and 2026-08-11-promote-channel-shape-trajectory-ml-features.md. This row retains the earlier host-only campaignHistorical
Classic lag-ratio tripletturb_autocorr + chan_freq_coh_curve_std + l1_delta_lag_ratioImproved discovery worst recall 85.59% -> 95.68%, but paired FP 2.28% -> 3.36%, maximum empty FP 1.03% -> 6.52%, and alarms 55/1 -> 79/2Requires new sealed recordings and an exact shared packet-level comparison pathResearch
Classic excess-path tripletturb_autocorr + chan_freq_coh_curve_std + chan_shape_excess_path; the third term measures normalized channel-profile path curvature in physical timeAgainst the refitted pair, the default clean replay improved discovery worst recall 97.13% -> 97.41% and maximum empty FP 24.21% -> 16.32%. Under base packet stress it improved worst recall 94.59% -> 96.17% and maximum empty FP 26.45% -> 12.10%; combined packet stress improved the same metrics 80.37% -> 84.66% and 21.51% -> 16.85%. Feature-shift calibration exposed a sharp frontier: quantile 0.60, strength 0.80 retained 95.98% clean worst recall but reached only 89.25% stressed worst recall, while quantile 0.70 reached 90.15% stressed worst recall but reduced clean worst recall to 92.53%. Standalone drift extraction did not complete within the five-minute operational cap, so no isolated drift metric is retained. Vacation-home exclude rows were diagnostic only and did not participate in ranking or fittingKeep as the strongest three-feature research candidate; require new independent evidence or a different calibration family instead of further scalar tuning on this corpusResearch
Classic offset-4/12 coherence curveHistorical per-packet contrast (C4 - C12) / (C4 + C12), retaining the temporal standard deviation, turbulence autocorrelation, one 90-float curve ring, and q95 calibrationAgainst the corrected refitted offset-2/12 surrogate, clean score improved 74.826 -> 60.042, worst recall stayed 97.13%, low-RSSI worst recall improved 97.13% -> 97.70%, and maximum empty FP improved 24.21% -> 20.53%. Under base stress, worst recall moved 94.59% -> 94.41% while maximum empty FP improved 26.45% -> 23.23%. Under combined stress, score improved 108.36 -> 94.987, worst recall improved 80.37% -> 80.98%, maximum empty FP improved 21.51% -> 18.63%, and holdout worst recall improved 83.48% -> 85.25%. The replacement evaluated 48 + 32 = 80 complex pairs per packet instead of 52 + 32 = 84, a 4.8% reduction in the coherence inner loop, with unchanged ring memory. The coefficient fit used 22 train pairs; the OOF-selected threshold failed sequential gates, so centered logit 1.73 was selected on train and empty-room replay. exclude remained diagnostic onlyRetired from production when aggregated turbulence IQR was promoted; retained host-only for historical reproductionHistorical
Economic chan_shape_spread approximationsFour replacements retain gain-free normalized channel-shape motion participation: chan_shape_spread_ds2 keeps every second lag delta in a half-length rectangular window; chan_shape_spread_ema_fast and chan_shape_spread_ema_slow replace the 90-row delta history with per-tone exponential energy; chan_shape_spread_subband accumulates adjacent physical-time motion across the eight profiles already retained by the trajectory trackerOn the role-isolated corpus at commit d01fae6f, seed 1089338155, the production 7 -> 24 -> 12 -> 1 topology, standard scaling, base,drift,burst-loss augmentation, and fp_weight=1.75 were retained. Correlation with production spread was 0.9279 for DS2, 0.9515 for fast EMA, 0.9171 for slow EMA, and 0.3810 for subband. The baseline reached 99.077% blocked OOF F1 and 86.52% worst-session recall. DS2 reached approximately 99.2% OOF F1, 86.5% / 0.6% worst-session recall / FP, 93.70% paired worst recall, 0% paired FP, 0.34% quiet FP, and zero alarms. Fast EMA reached 99.186%, 87.64% / 0.72%; slow EMA reached 99.240%, 87.64% / 0.57%, 92.82% paired worst recall, 0% paired FP, 0.38% quiet FP, and zero alarms. Subband reached 99.160%, 88.76% / 1.16%, 95.40% paired worst recall, 0% paired FP, 0.68% quiet FP, and zero alarms. Baseline / DS2 / slow-EMA / subband leave-one-environment-out macro recall was 98.5% / 98.6% / 98.6% / 98.5%, macro FP was 0.1% / 0.1% / 0.06% / 0.27%, and macro F1 was 99.1% / 99.2% / 99.23% / 98.95%. On the three exclude pairs, all variants kept 0% FP and zero alarms; baseline / DS2 / slow-EMA / subband worst recall was 5.56% / 4.17% / 5.56% / 8.33%, with 163 / 161 / 164 / 143 total misses. A direct C++ design estimate reduces shape-tracker state from approximately 22.1 KiB to 11.2 KiB for DS2, while also halving its packet work, or to 2.4 KiB for either EMA with approximately unchanged per-packet arithmetic; subband adds almost no persistent state when both trajectory features remain activeThe initial screen retained DS2 and slow EMA as host-only fallbacks and advanced subband to the common ten-seed comparison. Subband was later selected for an exact DCT-backed runtime export; DS2 and slow EMA remain rollback candidates if hardware or independent-room validation rejects itResearch
Economic shape-spread ten-seed follow-upPaired comparison of chan_shape_spread_ds2, chan_shape_spread_ema_slow, and chan_shape_spread_subband against the production-spread campaign using the same ten seeds, corpus roles, topology, scaler, augmentation, and fp_weight=1.75; selection ranking remained sealed from holdout and excludeThe production baseline passed 10/10 selection gates, with median blocked OOF F1 99.024%, median selection worst recall 92.40%, median maximum paired FP 0%, fixed quiet maximum FP 0.342%, and zero alarms. DS2 passed 8/10: median OOF F1 99.186%, median worst-session recall / FP 88.76% / 1.14%, median selection worst recall 93.69%, median paired FP 0%, and median quiet FP 0.342%. Its selection winner was seed 68673049; holdout worst recall / max FP was 97.68% / 0.14%, quiet FP was 0.34%, exclude worst recall was 5.56% with 156 misses versus baseline 163, cross-environment recall / FP / F1 was 98.67% / 0.07% / 99.25%, and all alarm counts were zero. Slow EMA passed 8/10: median OOF F1 99.226%, median worst-session recall / FP 88.76% / 0.72%, median selection worst recall 92.82%, median paired FP 0%, and median quiet FP 0.342%. Its winner was seed 1584727888; holdout reached 97.68% / 0.29% with 0.21% quiet FP, exclude reached 5.56% with 156 misses, cross-environment reached 98.39% / 0.05% / 99.13%, and all alarm counts were zero. Subband passed 4/10: median OOF F1 99.133%, median worst-session recall / FP 88.76% / 1.71%, median selection worst recall 95.40%, median paired FP 0.14%, and median quiet FP 0.47%. Its winner was also seed 1584727888; holdout reached 97.97% recall, 0% paired FP, 0.73% quiet FP, and zero alarms; exclude improved worst recall to 7.64% and reduced misses to 146, with 0% FP and zero alarms; cross-environment reached 98.61% recall, 0.21% FP, and 99.06% F1, with the FP concentrated in unseen bedroom (0.64%, including 0.54% empty FP)Promoted to production at seed 1584727888 after exact host, MicroPython, and C++ DCT-mode parity, a fresh run that passed every deployment gate without an override, and host resource benchmarks. Its 4/10 seed pass rate and unseen-bedroom FP remain follow-up risks for independent-room validation; DS2 and slow EMA remain host-only CPU-plus-RAM and RAM-minimum rollback candidatesProduction
Subband importance and compactness follow-upCorrelation, grouped OOF SHAP over 200 balanced held-out samples, and seven leave-one-feature-out trials for the seed-1584727888 subband model, followed by sealed gates for the only CV-safe removalchan_shape_spread_subband had low label correlation (+0.1389) and the lowest SHAP importance (0.01440), but it was nearly orthogonal to the other model inputs (R2=0.0244) and removing it failed blocked OOF F1 and worst-chip recall. chan_shape_excess_path had SHAP 0.02072 and correlated 0.8127 with coherent innovation; removing it was the only ablation to pass the robust CV comparison, improving OOF F1 99.187% -> 99.268% and worst-session recall by 3.37 points. The resulting six-feature model nevertheless reduced selection worst recall 96.26% -> 95.11%, raised paired FP 0.28% -> 0.43%, introduced one selection and two holdout quiet alarms, and worsened cross-environment recall / FP / F1 from 98.61% / 0.21% / 99.06% to 98.19% / 0.34% / 98.69%. Holdout worst recall stayed 97.97%; exclude worst recall changed 7.64% -> 8.33%, with 0% FP and zero alarms in both modelsRetain all seven subband-model inputs. Global SHAP alone understates the tail value of both subband spread and excess path; no feature removal survives CV, selection, quiet, and environment-transfer evidence togetherResearch
Six-feature subband ten-seed follow-upFresh search over the same ten seeds used by the production-spread and seven-feature subband campaigns, removing only chan_shape_excess_path; ranking used CV and selection, while holdout, exclude, and cross-environment remained sealed until choosing the winnerNo seed passed every selection safety gate (0/10 versus 4/10 for seven-feature subband): every trial produced one quiet alarm, quiet maximum FP ranged 0.56-0.60%, median selection worst recall was 95.11%, and median paired maximum FP was 0.36%. Seed 68673049 ranked first with 99.187% OOF F1, 92.13% worst-session recall, 2.29% worst-session FP, 95.98% selection worst recall, 0.14% paired FP, and one quiet alarm. On holdout it reached 98.55% worst recall, 0.14% paired FP, 0.98% quiet FP, and two quiet alarms. On exclude it reached 8.33% worst recall with 141 motion misses, 0% paired FP, and one quiet alarm. Cross-environment recall / FP / F1 was 98.30% / 0.30% / 98.80%. For comparison, the current baseline at its selected seed 1089338155 reached 98.67% / 0.08% / 99.23%, and the seven-feature subband winner 1584727888 reached 98.61% / 0.21% / 99.06%Rejected. Seed selection improves the six-feature model over its initial seed on selection and holdout recall, but does not remove its systematic quiet alarms or environment-transfer regression. Retain chan_shape_excess_path in the subband candidateRejected
gesture_random_kernel_ppvGesture-only bank of fixed, mean-centered random temporal kernels with lengths 7, 9, and 11 and multiscale dilation, applied to guarded per-subcarrier windows after mean and L2 normalization; each response contributes its zero-bias proportion of positive values, followed by robust aggregation across subcarriers for wave, clap, and other_motion classificationPlanned from the ROCKET and LiteHAR notes in LITERATURE.md, with gesture-task context from complementary amplitude and phase, CSI-F, Wi-Limb, and the NTU gesture report in LITERATURE.md; no ESPectre corpus, redundancy result, or measured accuracy exists. Mean and L2 normalization plus zero-bias thresholding makes positive-gain scaling cancel analytically, but near-zero windows, cadence sensitivity, and incremental value over simple temporal baselines remain untestedKeep host-only under tools/ with --no-export after the high-rate path is stable; require a gesture-specific corpus and grouped validation across people, rooms, orientations, devices, and sessions before kernel selection, runtime-cost analysis, or Python/C++ parity workPlanned
Trusted profile-scale correctionRecover magnitude-domain information using a measured per-packet CSI gainUnavailable: current callbacks and captures expose acquisition configuration, RSSI, and noise floor, but no selected per-packet scale. The hardware-gain error model and correction motivation are catalogued in LITERATURE.mdRevisit only if a supported SDK and protocol expose the measured value consistently across chipsDeferred
Narrowband micro-motion energySub-Hz spectral concentration for breathing-related or occupancy micro-motionThe current one-second motion window and unpaired Presence-versus-Empty sessions cannot distinguish micro-motion from session drift. SA-WiSense, Home Presence, heart-rate sensing, and RF-DS provide the task context catalogued in LITERATURE.md, not validation on ESPectre dataCollect same-link, same-session paired evidence with longer windows before implementationDeferred
Delay/Doppler or CIR dynamicsNormalized path-delay and velocity structureHT20 bandwidth, cadence, and exposed CSI do not yet provide validated resolution. MORIC, CIRSense, Range-Doppler, and RF-DS document the richer representations and transfer limits catalogued in LITERATURE.mdRevisit only when the sensing contract can support and validate the mapDeferred

Rejected And Historical Feature Formulations

Rows group only formulations that shared one experiment and one failure mode. Different campaigns remain separate even when their feature names overlap.

Feature or formulationDefinition or axisRetained evidence and verdictStatus
chan_coh_meanMean lagged complex coherenceLow redundancy but weak and unstableRejected
l1_delta_autocorrLag-1 autocorrelation of the normalized-profile L1-displacement seriesPreviously shipped in ML; replaced by the two trajectory features. Its evidence is retained here, while the retired implementation is no longer executableHistorical
ML shape-spread removal and Classic coherence replacementOn the role-isolated train / selection / holdout corpus at commit ac8024b3, the production 7 -> 24 -> 12 -> 1 topology, standard scaling, base,drift,burst-loss augmentation, and fp_weight=1.75 were retained. At seed 500247916, the production seven-feature reference reached 99.0% blocked OOF F1, 87.6% / 4.3% worst-lineage recall / FP, 94.83% paired worst recall, 0% paired maximum FP, zero paired alarms, 0.43% quiet maximum FP, and zero quiet alarms. Removing chan_shape_spread fell to 98.9%, 87.6% / 6.8%, 94.25%, 0.86%, one paired alarm, 1.92%, and zero quiet alarms. Replacing shape spread with host-only chan_freq_coh_curve_std reached 99.0%, 91.0% / 2.3%, 96.85%, 1.14%, one paired alarm, 1.11%, and zero quiet alarms. The five-feature version that also removed both trajectory inputs reached 98.7%, 84.3% / 2.3%, 95.98%, 1.0%, one paired alarm, 2.56%, and one quiet alarm. A ten-fresh-seed search on only the seven-feature coherence replacement selected seed 542566259: selection worst recall was 97.42%, maximum FP 0.14%, and alarms zero, but the sealed holdout produced 1.71% FP and one effective alarm on one low-RSSI S3 static-presence replay versus 0% and zero for the exported baseline. Raising the same seed to fp_weight=2.0 and 2.5 retained that alarm at 1.14% FP; blocked OOF F1 declined from 99.0% to 98.9% and 98.8%, respectively, and the 2.5 run reduced worst-session recall to 87.6% while raising worst-session FP to 2.3%. A 0.50-0.99 threshold sweep retained the S3 alarm through 0.98; it disappeared only at 0.99, where selection worst recall fell to 83.95% and paired pass count to 4/5, while holdout recall non-regression had already failed from 0.84. Leave-one-environment-out evaluation produced baseline/coherence macro recall 98.5% / 98.0%, macro FP 0.1% / 1.4%, and macro F1 99.1% / 97.5%; when bedroom was unseen, coherence raised recall 98.8% -> 99.6% but FP rose 0.3% -> 4.1%, including 8.6% empty FP. On the three C3 exclude pairs, coherence reduced total motion misses 163 -> 157 with 0% static FP and zero alarms for both models, but worsened the limiting low-RSSI recall 5.56% -> 3.47%; both models retained 0% FP and zero alarms on the two excluded empty recordings. The train role contains five S3 static/motion pairs but no S3 recording marked low-RSSI; the low-RSSI S3 pairs occur only in selection and holdoutRejected in the tested formulations: shape-spread removal is seed- and quiet-tail-fragile, the coherence replacement fails holdout per-recording non-regression, worsens unseen-environment FP, and neither a larger global FP penalty nor a deployable threshold removes the failure without degrading recall. Retain the host-only extractor for a future independently collected S3 low-RSSI training domain rather than porting it into the ML runtimeRejected
chan_coh_gapAdjacent-minus-lagged complex coherencePreviously shipped; removed jointly with overlapping coherence summaries after compact ablationHistorical
chan_coh_gap_low_frac, chan_coh_gap_q20Fraction or lower quantile of small coherence gapsNeither beat chan_coh_gap; no trustworthy isolated metric survivesRejected
chan_coh_subband_median_gapMedian robust coherence over four frequency bandsOOF F1 97.3%, worst-lineage recall 80.9%, worst-lineage FP 10.1%, and mean-of-five-worst FP 5.9%Rejected
chan_coh_subband_gap_medianMedian of per-band coherence gapsPreviously shipped; its removal improved blocked OOF F1 and the weakest-session FPHistorical
chan_freq_coh_cvTemporal coefficient of variation of offset-4 within-packet coherencePreviously shipped; its independent removal led the compact ablation and its joint removal survived promotionHistorical
chan_shape_lag_ratioLagged L2-normalized profile displacement divided by adjacent displacementReconstructed by the production set (r=0.9831, linear R2=0.9686); stopped before CVRejected
chan_rank_gapMean lag-10 Spearman distance minus mean adjacent distance, guarded below 2% of packet maximumRepeated the lag-ratio signal (r=0.7927); OOF F1 97.3%, worst-lineage recall 91.0%, and FP 7.4%. Statistical subcarrier-utilization and selection motivation is catalogued in LITERATURE.md, but does not rescue this tested formulationRejected
chan_ratio_gapMedian bounded change in guarded fixed-bin log ratios at lag 10 minus lag 1Repeated lag-ratio and rank-gap information; OOF F1 97.6%, worst-lineage recall 85.4%, and FP 8.4%. SA-WiSense's cross-subcarrier-ratio motivation and denominator risks are catalogued in LITERATURE.md, but its respiration pipeline is not equivalent to this rejected motion featureRejected
chan_coh_gap_spreadPositive coherence gap multiplied by channel-shape spreadOrthogonal components did not yield robust synergy; OOF F1 96.7%, worst C5 FP 26.1%Rejected
turb_band_power_ratioLow-frequency share of non-DC turbulence powerr=0.923 with autocorrelation, linear R2=0.863; OOF F1 98.1%, but two S3 idle replays regressed, and the autocorrelation swap scored 97.2%Rejected
chan_shape_scale_curvatureLog-distance curvature of an eight-subband Hellinger energy profile at physical lags 80/240/720 ms, after 80 ms median binning, exact-stutter removal, and missing-bin skipping; evaluated host-side onlySingle-feature primary AUC was 0.5805, worst-pair AUC 0.4271, and flips 3; paired with innovation it reached only 0.9366 AUC and 0.8121 worst-pair AUC. The threshold-free chan_shape_scale_curvature + turb_zcr result looked stronger at 0.9945 AUC, 0.9735 worst-pair AUC, and zero flips, and C5 q95 stayed bounded under drift (1.067x), stutter (1.123x), random loss (1.105x), and burst loss (1.087x). The clean Classic replay nevertheless fell to 81.6% worst discovery recall and 79.4% holdout recall, with 28.0% max empty-room FP; the fitted curvature weight was negligible next to turb_zcrRejected
turb_iqr_over_mean_aggr_detrendedScale-invariant IQR of the residual after a least-squares linear detrend of the W=5 aggregated turbulence window, normalized by the original mean; evaluated host-side onlyOn the time-aware real paired corpus, fit on train and ranked on train+selection, single-feature AUC was 0.9753, worst weak-pair AUC 0.8062, holdout AUC 0.9874, and flips 0; correlation with production aggregated IQR was 0.9558. On the limiting C5 static replay with drift seed 20260807, its q95 still rose 6.01x, versus 6.14x for the original IQR, while the original retained higher primary AUC 0.9821 and worst weak-pair AUC 0.8839. Linear detrending does not remove the per-tone nonlinear drift mechanism and costs weak-link separationRejected
turb_iqr_over_mean_aggr_tone_detrendedScale-invariant temporal IQR after removing a separate least-squares trend from each of the twelve W=5 amplitude profiles, preserving each profile mean, and then recomputing spatial std/mean; evaluated host-side onlyOn the same time-aware real paired corpus, single-feature primary AUC was 0.9703, worst-pair AUC 0.7110, worst weak-pair AUC 0.8039, holdout AUC 0.9862, and flips 0. On the limiting C5 static replay with drift seed 20260807, q95 still rose 5.79x and reached 0.2627, versus 6.14x and 0.2651 for production IQR. Per-profile linear detrending removes synthetic ramps but barely changes the nonlinear packet-drift tail, worsens clean separation, and requires a window x 12 historyRejected
Aggregated MAD and P95 swapsturb_mad_over_mean_aggr or turb_p95_over_mean_aggr replacing turb_zcrRedundant with production aggregated IQR (abs(r)=0.9917 and 0.9257) and worse on blocked OOF and C3 tailsRejected
Aggregated robust-dispersion screenW3/W5 variants of IQR, MAD, P95, minimum, P05, CV, range, and maximum relative to meanIQR, MAD, P95, minimum, P05, and CV improved the limiting pair; range and maximum did not. Only aggregated IQR survived full promotion gatesHistorical
Coherence-pair combinationschan_coh_gap + chan_coh_lag_ratio, chan_coh_gap + chan_shape_spread, and chan_freq_coh_cv + chan_freq_coh_curve_stdThe first was near-deterministically redundant, the second retained tail regressions, and the third failed paired replay at 12/13, 8.04% max FP, and 11 alarmsRejected
Classic robust-dispersion pairsAggregated IQR or other robust dispersion paired with autocorrelation, ZCR, lag ratio, or frequency coherenceSome pairs improved clean recall, but quiet tails or packet stress failed; the apparent IQR-plus-autocorrelation Pareto point fell to 67.26% worst recall under base stressRejected
Classic trajectory pairsAutocorrelation paired with channel-trajectory features, or two trajectory features paired togetherCorrected clean q95 replay, fitted on de-overlapped train rows and ranked on train + selection: the production turb_autocorr + chan_freq_coh_curve_std surrogate scored 74.826, with 97.13% worst recall and 24.21% maximum empty FP. turb_autocorr + chan_shape_excess_path scored 79.153, with 92.53% worst recall and 23.42% maximum empty FP. turb_autocorr + chan_shape_coherent_innovation_energy scored 117.854, with 96.84% worst recall but 35.00% maximum empty FP. chan_shape_coherent_innovation_energy + chan_shape_excess_path scored 117.258, with 83.62% worst recall and 25.26% maximum empty FP. The two trajectory-only inputs therefore do not replace turbulence, while either trajectory input activates the physical-time profile and DCT tracker that Classic is intended to avoid. exclude recordings were diagnostic only and did not participate in fitting or rankingRejected
Classic nonlinear two-feature fusionInteraction and quadratic terms added to autocorrelation and frequency-coherence fusionOn autocorrelation plus the former offset-2/12 curve, adding the standardized interaction produced score 75.808, 97.13% worst recall, and 24.47% maximum empty FP, versus linear 74.826, 97.13%, and 24.21%. Adding interaction plus both squares produced 74.862, 97.41%, and 24.21%. The extra terms did not reduce the limiting quiet tail, and the quadratic gain was only 0.28 recall pointsRejected
Classic coherence-curve alternativesAlternative frequency-coherence offsets, curvature, and temporal dispersionAll candidates retained autocorrelation and q95 calibration. Three-point offset-2/4/12 normalized decay improved clean score to 68.415 and combined score to 103.783, but added 48 complex pairs per packet. Offset-2/4 contrast failed clean worst recall at 93.68%. Three-point curvature failed at 93.68% worst recall and 27.63% maximum empty FP. Temporal IQR of the former 2/12 contrast reached 96.55% worst recall but 39.47% maximum empty FP. Offset-4/12 retained the useful large-scale decay information at lower cost and was the strongest coherence formulation before the family moved host-onlyHistorical; all coherence variants are now host-only
Classic robust tripletsMAD/autocorrelation/ZCR and MAD/autocorrelation/shape-spread formulationsStrong threshold-free geometry did not survive corrected startup and empty-room replay; the first retained at least 14.84% discovery-empty FP with hard negatives, and no trustworthy corrected packet result survives for the secondRejected
Lightweight temporal-admission coefficient refitSame two-feature logistic on the current 21 admitted train pairs, with and without High Accuracy's idle fp_weight=1.75, a 1% OOF FP target, and centered logit 1.8On the sequential S3 empty gate empty_s3_...20260712_203314, the exported coefficients kept 0 alarms and 1.70% FP. The unweighted refit reached 1 alarm and 3.83% FP; fp_weight=1.75 reached 1 alarm and 3.62% FP. Raising the sequential logit through 2.5 did not clear that alarmRejected
Lightweight occupancy-70% coefficient refitSame two-feature logistic on the 21 train pairs after the occupancy floor moved to seven tenths, with fp_weight 1.0 and 1.75, a 1% OOF FP target, and sequential centered logits from the automatic OOF point through 4.0Occupancy 70% itself opened the sequential S3 empty gate: the previously exported coefficients now raise 1 alarm and 3.16% FP on empty_s3_...20260712_203314. The unweighted refit reached grouped OOF F1 99.266%, recall 99.518%, FP 0.991%, and worst-session recall 95.652%, but that S3 file stayed at 1-2 alarms through logit 3.0. fp_weight=1.75 kept the same OOF rates; intercept and idle q95 moved, but the S3 alarm remained through logit 4.0 (2.32% FP). Raising the fusion threshold does not remove the debounce burst opened by the extra admitted slots. The sequential empty-room gate later accepted this one-alarm burst for Lightweight rather than changing coefficientsRejected
l1_delta_cvCoefficient of variation of the L1-displacement seriesWorsened reserved replay results as a Coherence-6 extensionRejected
turb_p95_over_mean + turb_p05_over_meanPaired robust upper- and lower-tail ratiosF1 89.8%, recall 89.1%, and FP 4.0%, below Relative-8 at 91.5% / 91.6% / 3.5%Rejected
turb_range_over_mean, turb_peak_over_madRelative range or peak-to-MAD extreme statisticsRejected after combined long-recording and gain-stress comparison; no trustworthy isolated metric survivesRejected
eigen_ratioDominant-to-residual channel energy ratioAUC 0.887, recall 84.5%, FP 10.3%, and F1 82.9%; inconsistent and expensiveRejected
corr_amp_d10Lag-10 amplitude-profile correlationAUC 0.887, recall 78.4%, FP 7.1%, and F1 81.8%; dominated by static frequency-selective shapeRejected
corr_complex_d10Lag-10 complex-profile correlationAUC 0.830, recall 56.2%, FP 6.8%, and F1 66.5%; absorbed packet phase offsetsRejected
corr_amp_d1Adjacent amplitude-profile correlationAUC 0.678, recall 25.8%, FP 1.9%, and F1 39.9%; mostly receiver noise and did not improve under aggregationRejected

The standalone AUC, recall, FP, and F1 values above used session-calibrated thresholds and an older corpus. They preserve historical behavior but must not be ranked against current grouped-CV campaigns.

Trajectory Feature Promotion Evidence (2026-08-11)

This host-only screen used seed 1161881508, the current 24-12 MLP, fp_weight=1.75, standard scaling, feature jitter, and the promoted base,drift,burst-loss packet augmentation mixed from seeds 20260807 and 20260808. Training and grouped CV used only train; the six-file selection role was evaluated separately, and the excluded C3 vacation-home empty/static/motion recordings remained an external challenge. The reserved holdout was not used for feature or seed selection. After the candidate and production seed had already been selected, an --evaluate-gates CLI default accidentally opened the first C3 holdout pair; that result was discarded, the run was interrupted, and the authoritative deployment gate was rerun with deployment_roles=('selection',) and legacy fallback disabled. Raw replay-tick probabilities were classified at 0.5 unless a threshold is named. The exported Aggregated-IQR-7 baseline reproduced the challenge exactly at 87.93% motion recall, 0% static FP, and 1.08% empty FP, with 42/348 motion ticks below threshold. For this campaign, environment, router, and weak-link transfer are the primary production-generalization axes because the supported commercial chip families are already represented in the corpus. Leave-one-chip-out remains a conservative diagnostic for hardware dependence, but it is not a promotion veto when supported-chip deployment gates pass.

On the clean train matrix, innovation and excess path had Pearson correlation r=0.8127. Linear reconstruction from the seven production inputs reached R2=0.5423 for innovation and R2=0.4828 for excess path; adding the other trajectory candidate increased those values by 0.1903 and 0.2151, respectively, so the pair is related but not interchangeable. Grouped out-of-fold SHAP over 400 balanced held-out samples assigned mean absolute importance 0.02003 to excess path and 0.01689 to innovation, versus 0.01432 for frequency-coherence curve standard deviation, 0.01309 for shape spread, and only 0.00493 for L1-delta autocorrelation. The two candidates contributed about 7.25% of total mean absolute SHAP together; L1-delta autocorrelation contributed about 0.97%.

FormulationGrouped train CVSelection and vacation-home challengeLeave-one-environment-outVerdict
Aggregated-IQR-7 baselineOOF F1 99.241%, recall 98.706%, FP 0.092%, and worst-session recall 91.011%Selection recall 96.212%, FP 0%, and worst-session recall 91.011%; vacation recall 87.931%, static FP 0%, and empty FP 1.078%Overall F1 97.539%, FP 1.863%, and worst-environment recall 97.674%; bedroom-unseen FP 2.882%Reference
Baseline + chan_shape_excess_pathOOF F1 99.295%, recall 98.760%, FP 0.069%, and worst-session recall 93.258%Selection recall 97.727%, FP 0%, and worst-session recall 95.506%; vacation recall 90.230%, static/empty FP 0%, 9/42 baseline misses recovered, and 1/306 baseline hits lostOverall F1 96.873% and FP 2.461%; bedroom-unseen FP rose to 3.806% without a recall gainRejected pending independent blind-spot replication; the challenge and selection gains did not survive environment exclusion
Baseline + chan_shape_coherent_innovation_energyOOF F1 99.214%, recall 98.652%, FP 0.092%, and worst-session recall 92.135%Selection recall 96.591%, FP 0%, and worst-session recall 91.011%; vacation recall 94.540%, static FP 0%, empty FP 0.216%, 23/42 misses recovered, and no baseline hits lostOverall F1 96.136% and FP 3.082%; bedroom-unseen FP rose from 2.882% to 4.767%, dominated by one C5 empty replay rising from 44/117 to 86/117 positivesRejected pending a quiet-domain safeguard and a second blind-spot domain
Baseline + both trajectory candidatesOOF F1 99.214%, recall 98.706%, FP 0.115%, and worst-session recall 92.135%Selection recall 98.106%, FP 0%, and worst-session recall 95.506%; vacation recall 93.103%, static FP 0%, empty FP 0.216%, 19/42 misses recovered, and 1/306 hits lostOverall F1 96.592% and FP 2.691%; bedroom-unseen FP rose to 4.162%Rejected; the balanced selection/challenge gain still regressed unseen quiet behavior
Both trajectory candidates replacing l1_delta_autocorrOOF F1 99.214%, recall 98.706%, FP 0.115%, worst-session recall 93.258%, and worst-session FP 2.286%Selection recall 98.106%, FP 0%, and worst-session recall 95.506%; vacation recall 93.391% and static/empty FP 0%Environment exclusion: F1 97.536%, recall 99.245%, FP 1.817%, worst recall 97.674%, and worst FP 2.810%. Chip exclusion versus baseline: F1 98.973% vs 99.133%, recall 98.706% vs 98.652%, FP 0.322% vs 0.161%, worst recall 97.511% vs 97.285%, and worst FP 1.149% vs 0.383%, with the FP regression on C6Best balanced host-only formulation in this screen, but not promotion-eligible until the C6 cross-chip FP regression is resolved and multi-seed plus in-memory deployment gates pass
Both trajectory candidates replacing chan_freq_coh_curve_stdAt seed 1161881508, OOF F1 99.186%, recall 98.491%, FP 0.046%, worst-session recall 88.764%, and worst-session FP 0.719%. Across standard seeds 20260518-20260520, robust comparison versus the paired-seed baseline passed 0/3: one seed was non-regressive but had no material improvement, while two regressed worst-session and worst-chip recall beyond their one-event marginsSelection recall 96.212%, FP 0%, and worst-session recall 92.135%; vacation recall 93.678% and static/empty FP 0%Overall F1 99.189%, recall 98.922%, FP 0.230%, worst-environment recall 98.007%, and worst-environment FP 0.356%Rejected; the exceptional unseen-quiet result is an interesting FP-first operating point, but its recall tail was not stable across seeds
Both trajectory candidates replacing both l1_delta_autocorr and chan_freq_coh_curve_stdAt seed 1161881508, OOF F1 99.105%, recall 98.491%, FP 0.115%, worst-session recall 88.764%, and worst-session FP 2.564%. Across standard seeds 20260518-20260520, robust comparison passed 2/3; including the production seed, it passed 2/4. The failed standard seed traded two worst-session outcomes and worst-chip recall for material FP improvementsSelection recall 97.727%, FP 0%, and worst-session recall 96.512%; vacation recall 94.828% and static/empty FP 0%Environment exclusion: F1 99.135%, recall 98.868%, FP 0.253%, worst recall 97.674%, and worst FP 0.391%. Chip exclusion versus baseline: F1 98.889% vs 99.133%, recall 98.329% vs 98.652%, FP 0.230% vs 0.161%, worst recall 95.928% vs 97.285%, and worst FP 0.575% vs 0.383%; C3 exclusion accounted for six additional motion missesPromoted under the supported-chip policy after the final augmented export passed paired 14/14, quiet, low-RSSI, gain-invariance, Python/C++ parity, and performance gates; the C3 exclusion gap remains a secondary diagnostic
Both trajectory candidates, fp_weight=2.5Final-fit diagnostic onlySelection recall 98.106%, FP 0%, and worst-session recall 95.506%; vacation recall 93.391% and static/empty FP 0%Bedroom-unseen FP 3.486%; the limiting C5 empty replay retained 64/117 positivesRejected; improved the quiet trade-off but remained worse than baseline environment exclusion
Both trajectory candidates, fp_weight=3.0, threshold 0.6Final-fit threshold diagnostic onlySelection recall 96.212%, FP 0%, and worst-session recall 91.011%; vacation recall 92.241% and static/empty FP 0%Bedroom-unseen FP 2.917%, with 51/117 positives on the limiting C5 empty replayRejected; it nearly restored baseline unseen FP only by returning selection sensitivity to baseline and surrendering part of the challenge gain
Baseline + waveform_length_over_meanOOF F1 98.784%, FP 0.414%, worst-session recall 92.135%, and worst-session FP 6.857%Vacation recall 89.943%, 11/42 misses recovered, and 4/306 hits lostNot advancedRejected; it made the classifier broadly more permissive
Baseline + turb_peak_over_madOOF F1 99.159%, recall 98.544%, and FP 0.092%Vacation recall 87.644%, no baseline misses recovered, and one hit lostNot advancedRejected; no blind-spot information survived the MLP fit

For the joint removal, the two standard seeds that passed robust CV retained external gains but did not eliminate the hardware-transfer concern. Seed 20260519 produced selection recall 96.970%, selection worst-session recall 95.349%, vacation recall 92.241%, and zero vacation static/empty FP; seed 20260520 produced 95.833%, 93.258%, 93.391%, and zero FP, respectively. Repeating cross-chip validation with seed 20260519 still yielded F1 98.917% versus baseline 99.133%, recall 98.437% versus 98.652%, FP 0.253% versus 0.161%, and C3-unseen recall 95.928% versus 97.285%. The external-domain advantage is therefore real, while the C3-exclusion gap is retained as a known secondary cost under the supported-chip policy.

The authoritative selection-only in-memory deployment gate favored retaining production seed 1161881508. The joint removal passed all three paired replays with zero FP and zero alarms: C3 recall was 100%, low-RSSI C5 recall was 94.84% (18 misses), and low-RSSI S3 recall was 95.98% (14 misses). The exported baseline scored 100%, 92.55% (26 misses), and 98.28% (6 misses), respectively. Both models therefore had 32 total misses, but the candidate raised worst low-RSSI recall by 2.29 percentage points. All seven candidate quiet replays passed with zero alarms; raw false positives improved from 12 to 10, and maximum per-replay FP improved from 0.385% to 0.342%. Seed 20260519 was less balanced at 94.56% / 94.83% low-RSSI recall and 37 misses, while seed 20260520 fell to 91.98% / 95.40% and 44 misses. Artificial gain scaling from 0.5x to 2.0x was unchanged by construction because all seven inputs are gain-invariant; the real low-RSSI paired recordings, not that informational scalar-gain check, provide the relevant weak-link evidence.

The initial promotable training run, before admitting the vacation-home recordings to training, used the same selected seed and augmentation recipe. It reached blocked grouped-CV F1 99.1%, recall 98.5%, precision 99.7%, and FP 0.1%. The reserved export gate passed all 14/14 paired replays with 94.84% worst recall, 0.14% maximum FP, and no alarms; all nine quiet replays passed with 0.34% maximum raw FP and no alarms. The immediately preceding export measured 92.55% worst paired recall and 0.29% maximum paired FP on the same gate.

Raising the global threshold was not a remedy. At 0.6, the baseline C5 empty replay changed only from 44/117 to 43/117 positives while selection worst-session recall fell from 91.011% to 89.888%; the innovation-only model still produced 82/117 positives, vacation recall fell from 94.540% to 93.103%, and selection worst-session recall fell to 88.764%. On the balanced replacement, 0.6 reduced C6-unseen FP only from 12 to 10 (1.149% to 0.958%, still above the baseline 0.383%) while selection recall fell from 98.106% to 97.348%, selection worst-session recall fell from 95.506% to 93.258%, and vacation recall fell from 93.391% to 91.667%. The next useful evidence is a second independently collected blind-spot motion domain with matched static and empty recordings, plus real high-RSSI coverage; another threshold or single-session fit is not justified.

Production Training Refresh And Seed Search (2026-08-11)

The matched vacation-home empty, static-presence, and motion recordings were admitted to train under the new vacation_home environment, producing dataset revision sha256:b52b823fe696b9fb1fa2497fbf6cbbb7a9f77ebbe8bb3ad8a92d4f902a30bfd7. Retraining seed 1161881508 with the unchanged production augmentation reached blocked OOF F1 98.42%; grouped exclusion of the only vacation-home lineage yielded 80.0% motion recall, while the full fit reached 100% recall and precision with 0% static and empty FP on that now in-sample session. The full deployment gate still passed with 92.84% worst paired recall, 0% maximum FP, and no alarms, but the result did not establish transfer to a second vacation-home session.

A ten-trial seed search retained the same corpus, roles, topology, scaler, false-positive weight, and augmentation. The robust ranking selected seed 500247916: blocked OOF F1 rose from 98.42% to 98.50%, vacation-home grouped OOF recall rose from 80.0% to 81.1%, and the worst-session FP fell from 6.0% to 5.1%. On selection replays, worst recall moved from 92.84% to 92.55% and total motion misses from 42 to 44, with 0% FP and no alarms; the final reserved holdout improved from 7 to 6 misses, retained 0% FP and no alarms, and reached 99.43% worst recall. Seed 1613517614 offered the strongest CV tail (87.8% worst-session recall, 2.6% worst-session FP, and 98.73% OOF F1), but it was not selected because it increased selection misses to 53 and reduced low-RSSI S3 selection recall to 92.53%.

The performance run generated for that selected seed retained 100% recall and 0% FP on every normal-link reserved chip bucket. Weak-link C5 remained at 96.3% mean and 93.1% minimum recall with 0% FP; the long-quiet maximum raw FP was 0.30% on C6 and 0.34% on S3, with no effective alarms. Those were acceptable bounded trade-offs, but the independent vacation-home holdout requested by the feature-promotion campaign remained the decisive evidence for blind-spot transfer.

On that refreshed train matrix, grouped OOF SHAP used 400 balanced held-out samples with seed 500247916 and the production augmentation of the time. The top three inputs remained aggregated IQR (38.8%), turbulence autocorrelation (21.9%), and L1 lag ratio (18.5%). Relative to seed 1161881508, importance moved mainly from autocorrelation (24.4% -> 21.9%) and coherent innovation (8.1% -> 6.8%) to L1 lag ratio (15.0% -> 18.5%); the former full-band shape spread (3.7% -> 3.9%) and excess path (2.9% -> 3.0%) were stable. The two trajectory inputs contributed 9.8% together, so global SHAP did not justify removing either without grouped ablation and environment-tail gates.

Production Baseline Lineage

FamilyFeaturesRetained campaign evidenceWhy superseded
Raw-12Mean, standard deviation, extrema, IQR, skewness, autocorrelation, MAD, waveform length, kurtosis, entropy, and slope of turbulenceReduced to Raw-9 in the 2026-05-20 FP-first sweepKurtosis, entropy, and slope hurt long-recording robustness and overlapped with more stable descriptors
Raw-9Raw-12 without kurtosis, entropy, and slopePromoted with 9 -> 32 -> 16 -> 1. A current-corpus head-to-head retained the historical layout and features while matching seed 1584727888, standard scaling, base,drift,burst-loss augmentation, fp_weight=1.75, and the current role-isolated training contract: blocked OOF F1 was 94.2%, worst-session recall / FP was 96.5% / 99.4%, paired gates passed 11/14 with 95.98% worst recall, 21.71% maximum FP, and 34 effective alarms, while quiet maximum FP was 2.13% with 3 alarms. Leave-one-environment-out recall / FP / F1 was 98.0% / 3.4% / 95.5%, with 10.1% FP on unseen bedroom; leave-one-chip-out reached 98.7% / 4.1% / 95.3%, with 17.7% FP on unseen C3The later Subband-7 model reached 99.2% blocked OOF F1, passed 14/14 paired gates with 95.69% worst recall, 0.14% maximum FP, and zero alarms, kept quiet maximum FP to 0.73% with zero alarms, and reduced the MLP from 865 to 505 parameters. Cross-environment recall / FP / F1 was 98.5% / 0.3% / 98.9%, and cross-chip was 98.6% / 0.6% / 98.7%
Relative-8Relative standard deviation, extrema, IQR, MAD, waveform length, skewness, and autocorrelationSeed 1890407301; gain-stress FP 1.1% from 1.00x to 1.50x; long-run total FP 654; worst-chip C6 F1 93.5%Core-6 improved grouped CV and long-quiet behavior with fewer inputs
Core-6turb_mad_over_mean, skewness, autocorrelation, l1_delta, l1_delta_std, and L1 waveform lengthRemoving skew raised OOF F1 92.4% -> 93.5%, but total long FP worsened 601 -> 979Absolute and energy-like members were weak-link and seed fragile
Coherence-6Core-6 with ZCR and L1 autocorrelation replacing skew and waveform lengthReserved max-FP median / worst 2.66% / 2.80% versus Core-6 19.42% / 24.93%Lag ratio improved reserved replay behavior further
Coherence-7Coherence-6 plus l1_delta_lag_ratioTen reserved replays: max FP 4.43%, worst recall 99.14%, and 3 alarmsAbsolute L1 members let training composition invert weak-link behavior
Invariant-5MAD ratio, autocorrelation, ZCR, L1 autocorrelation, and L1 lag ratioFour-seed blocked OOF F1 98.0-98.3%; worst-session FP 9.5%Broader phaseless features and localized aggregated IQR improved cross-group tails and model economy
Phaseless-10Invariant-5 plus shape spread and four coherence summariesPassed deployment gates and removed the phase trackerThree overlapping coherence summaries were removable together
Aggregated-IQR-7Aggregated IQR, turbulence autocorrelation and ZCR, L1 autocorrelation and lag ratio, shape spread, and frequency-coherence curveRetained promotion evidence is summarized in 2026-08-11-promote-channel-shape-trajectory-ml-features.mdThe trajectory model improved environment transfer and removed two low-value runtime inputs
Trajectory-7Aggregated IQR, turbulence autocorrelation and ZCR, L1 lag ratio, full-band shape spread, coherent innovation, and excess pathSee 2026-08-11-promote-channel-shape-trajectory-ml-features.mdSubband spread removed the standalone full-band history
Subband-7Aggregated IQR, turbulence autocorrelation and ZCR, L1 lag ratio, subband spread, coherent innovation, and excess pathSee 2026-08-11-promote-channel-shape-trajectory-ml-features.mdGuarded Kendall lag-excess joined the same trajectory tracker
Subband-8Subband-7 plus chan_shape_subband_kendall_lag_excessSee 2026-08-11-promote-channel-shape-trajectory-ml-features.mdCurrent

Individual Historical Signals

Feature or formulationRetained evidenceOutcome
waveform_length_over_meanRelative-8 OOF F1 79.49% -> 81.0% and worst-chip recall 68.8% -> 75.1% when droppedHistorical; weak
turb_skewnessDropping it from refreshed Relative-8 gave OOF F1 80.2%; later Core-6 SHAP was 1.9%, but removal worsened long FPHistorical; context-dependent protection, later superseded
l1_delta as a Relative-8 replacementOOF F1 76.59%; fold F1 78.74%Rejected in that formulation; later shipped inside Core-6, then removed for scale sensitivity
l1_delta standalone detectorAUC 0.993, recall 93.2%, FP 2.5%, and F1 94.2%Strong historical signal, but absolute magnitude is inadmissible for the current ML set
l1_delta_stdWeak-link idle / motion medians 0.0667 / 0.0519, inverted relative to motionRemoved from production
l1_delta_waveform_lengthHistorical Core-6 SHAP 2.8%Removed in the Coherence-6 swap
turb_cvAUC 0.987, recall 92.3%, FP 4.9%, and F1 91.6%Historical precursor to relative dispersion features
turb_madratioRecall 90.0%, FP 6.4%, and F1 89.1%Historical precursor; superseded
Historical band_power_ratioAUC 0.978, recall 82.3%, FP 6.0%, and F1 85.1%Rejected as a primary detector; retained only as a possible real-RF-noise gate
l1_delta AND band_power_ratioF1 93.4%, FP 1.1%; synthetic AWGN FPR about 91% -> 6.5% at roughly four recall points and 2.6 seconds of confirmation latencyDeferred unless real RF-event false positives justify the cost

Literature Basis

Source summaries, publication dates, hardware and signal assumptions, reported methods and results, and transfer limits are centralized in LITERATURE.md. Published results can motivate a planned axis, but they do not validate it on ESPectre data.

Updating This Ledger

For each seriously evaluated feature or formulation:

  1. update one canonical ledger row for routine candidates rather than appending an unbounded chronological narrative;
  2. retain its exact name and definition, physical interpretation, implementation scope, and invariance claim;
  3. retain the campaign corpus, split, seed, baseline, primary metric, worst-group metrics, redundancy evidence, verdict, and dominant failure mode in the row, a bounded promotion-evidence section, or its linked ADR;
  4. use an ADR only when the campaign produces a durable production, architectural, validation-policy, or stop-direction decision;
  5. keep routine sweeps, intermediate seeds, superseded grids, per-file output, and transient commands out of permanent documentation; and
  6. update current behavior, mutable metrics, data-collection priorities, and operator workflow only in their owning documents.

An experiment that produces no durable decision normally needs only its ledger row. A bounded promotion-evidence section is appropriate when one row cannot preserve the evidence contract for the current production decision; organize it around that decision, fold later evidence into the same section, and avoid a date-by-date experiment log. When a durable ADR exists, the ledger summarizes the result and links it without copying the full campaign narrative. Code remains authoritative for executable formulas; this ledger is authoritative for feature status and retained project evidence.