Tier 1 (Q3 2026): Ship the 4-item plan-antennas / pose-PABS / cog-count v0.0.3 / ADR-029 amendment
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 94.4k
- Forks
- 12.5k
- Avg merge
- 21h 27m
- Merged PRs (30d)
- 43
Description
What this issue is about (plain-language intro)
This is the Q3 2026 implementation issue spun out of the #748. The research loop ran on 2026-05-22 and produced four high-leverage Tier 1 items that can ship in the next quarter for a total of ~490 LOC, 3-4 person-weeks of engineering.
Each Tier 1 item delivers a measurable user-visible improvement and unblocks the higher-tier work. After this issue is closed, RuView customers will have:
- Sensing coverage that is 93x better than the current "stick the antennas anywhere" recipe
- Intruder / fall detection at 9.36x lift over the previous baseline
- ADR-029 multistatic spec is no longer open-ended on placement
Tier 1 items (in priority order)
1.1 — wifi-densepose plan-antennas CLI tool
Source: R6.2 family (9 sub-ticks), ADR-113 4-axis decision matrix
What it does: Given a room geometry + target zones + cog name, recommend Tx/Rx anchor placement that maximises Fresnel-envelope coverage. Outputs a placement diagram.
LOC: ~360
Effort: ~1 week
Reference code: examples/research-sota/02-placement/ (all 7 scripts)
Architectural decision: docs/adr/ADR-113-multistatic-placement-strategy.md
CLI shape:
wifi-densepose plan-antennas \
--room 5 5 [Z] \
--target NAME X Y W H [DX DY DZ] \
--target-mode {body, chest} \
--cog COG_NAME \
--freq-ghz 2.4 \
--n-anchors N
Expected impact: 93x sensing-coverage lift on the 5x5 m bedroom benchmark. Existing customers can re-mount their seeds today and get 10-100x better sensing without firmware/model changes.
Acceptance criteria:
- CLI runs from repo root in <2 seconds for a 5x5 m room
- Reproduces the headline numbers from R6.2.5 (100% coverage @ N=5 for 4-occupant chest-centric)
-
--cogflag auto-selects target-mode + N from ADR-113 matrix - Output includes placement diagram (ASCII or SVG)
- Documented in user guide
1.2 — R12.1 pose-PABS in vital_signs cog
Source: R12 arc (3 ticks) — R12 NEGATIVE -> R12 PABS POSITIVE -> R12.1 CLOSED LOOP
What it does: Per-frame structural-anomaly detection (intruder, fallen person, new furniture). Couples the pose tracker (ADR-079/101) with R6.1 multi-scatterer forward operator. Subject motion is absorbed into the prediction; only unexplained residuals trigger structure events.
LOC: ~80
Effort: ~3 days
Reference code: examples/research-sota/06-structure-detection/r12_1_pose_pabs_loop.py
Architectural decision: ADR-029 multistatic should reference PABS
Production Rust glue (~80 LOC):
let pose = pose_tracker.estimate(csi_window)?; // ADR-079 / ADR-101
let expected_scene = body_model.from_pose(pose) + room_walls;
let y_predicted = fresnel_forward.simulate(expected_scene);
let pabs = (csi_window - y_predicted).norm_sq() / csi_window.norm_sq();
if pabs > threshold {
emit_structure_event();
}
Expected impact: 9.36x intruder detection lift in dynamic scenes (subject walking). False-alarm problem from naive PABS resolved.
Acceptance criteria:
- Slots into existing
vital_signscog per-frame inference path - Reproduces 9.36x lift on synthetic walking-subject + intruder benchmark
- Configurable threshold + per-frame plausibility window
- Emits structured event when threshold crossed
1.3 — cog-person-count v0.0.3 with chest-centric placement
Source: R5 saliency + R8 RSSI + R6.2.3 chest-centric + ADR-113
What it does: Update existing cog-person-count (ADR-103) to use chest-centric target zones from ADR-113 matrix. Re-train with placement-aware data augmentation.
LOC: ~50 (placement-aware training config + per-cog default --target-mode=body)
Effort: ~3 days (plus retrain time on RTX 5080)
Reference code: examples/research-sota/04-rssi/r8_rssi_only_count.py
Depends on: 1.1 CLI tool (validates placement against matrix)
Expected impact: v0.0.2 + chest-centric placement should improve class-1 accuracy from 34.3% to ~50%+ by removing limb-confound (R6.1 4.7 dB penalty).
Acceptance criteria:
- Trained model checkpoint at
v2/crates/cog-person-count/cog/artifacts/count_v0_0_3.safetensors - Manifest signed per ADR-100 (Ed25519 today; dual-sig per ADR-109 when Phase 1 ships)
- Bench-validated on Cognitum-cluster Pi cluster
- Performance numbers logged for federation roadmap
1.4 — ADR-029 amendment with ADR-113 placement matrix
Source: ADR-113
What it does: Update docs/adr/ADR-029-*.md (RuvSense multistatic) to reference the ADR-113 4-axis decision matrix. Closes the open question that ADR-029 left around anchor placement.
LOC: 0 (ADR-authoring time only)
Effort: ~1 day
Architectural decision: Already in ADR-113; just needs the cross-reference
Acceptance criteria:
- ADR-029 status updated from "Proposed" to "Proposed + amended"
- Cross-reference table to ADR-113 added
- Anchor-count recommendation per cog category included
Critical path
1.1 plan-antennas CLI ────┬──> 1.3 cog-person-count v0.0.3
│
1.2 R12.1 vital_signs ────┘
1.4 ADR-029 amendment (independent)
1.1 + 1.2 can run in parallel. 1.3 depends on 1.1 (validation). 1.4 is independent.
What is NOT in this issue
- Tier 2-5 work (federation, PQC, cross-room re-ID, vertical cogs)
- Bench validation (Tier 2.3, separate)
- Regulatory pathway for healthcare cogs (Tier 6.3, separate)
- Real NV-diamond hardware integration (Tier 4+, ADR-114 follow-up)
How to claim a Tier 1 item
- Comment on this issue with the item number (e.g. "claiming 1.1")
- Open a feature branch
- Implement per the acceptance criteria
- PR-then-auto-merge per the loop's pattern
- Update the checklist on this issue
Estimated total Tier 1 budget
| Item | LOC | Days | Priority |
|---|---|---|---|
| 1.1 CLI tool | 360 | 5 | HIGH |
| 1.2 R12.1 in vital_signs | 80 | 3 | HIGH |
| 1.3 cog-person-count v0.0.3 | 50 | 3 (+ retrain time) | HIGH |
| 1.4 ADR-029 amendment | 0 | 1 | HIGH |
| Tier 1 total | ~490 LOC | ~12 person-days |
References
- Entry-point issue: linked above
- Full production roadmap:
docs/research/sota-2026-05-22/PRODUCTION-ROADMAP.md - Loop final summary:
docs/research/sota-2026-05-22/00-summary.md - Architectural decisions:
docs/adr/ADR-105throughADR-114 - Reference numpy implementations:
examples/research-sota/
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Choose one of the four independently listed Tier 1 items before starting. For antenna planning, read docs/adr/ADR-113-multistatic-placement-strategy.md and examples/research-sota/02-placement/; for pose-PABS, start with examples/research-sota/06-structure-detection/r12_1_pose_pabs_loop.py and the existing vital_signs path. Done means the selected item meets its checklist, including the named benchmark, artifact, event behavior, or ADR documentation outcome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- numpy, python, rust
- Domain
- cli, documentation, embedded-iot, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100