docs(wave-n3 δ): arXiv-draft MANET auditability gap (recovery of #24) - #26
Merged
Merged
Conversation
* docs: wave report — competitor moat analysis × Trinity assets Wave A: 4-segment map (tethered / mm-wave / MANET / silicon-bound DePIN) Wave B: 9-column comparison table vs 8 competitors Wave C: 10 Trinity artefacts mapped to specific competitor moats Anchor: phi^2 + phi^-2 = 3 * docs: order #1 to local agent + cloud status file - AGENT_ORDERS_2026-07-03.md: sync protocol, ownership split, hard boundaries - AGENT_STATUS_CLOUD.md: cloud agent state, open PRs, awaiting user decisions Anchor: phi^2 + phi^-2 = 3 * docs: order #2 — Sprint 2 auth + Wave N+2 beta kickoff - AGENT_ORDERS_2026-07-04.md: local agent -> Sprint 2 E4-E6, cloud -> Wave N+2 beta - AGENT_STATUS_CLOUD.md: user decisions logged (trigger+weekly, beta, parallel) - Correction: local agent 3c62234 out of zone, reset --hard prescribed Anchor: phi^2 + phi^-2 = 3 * docs: order #3 — fix E5 first, patch handoff protocol - Order 3.1: finish E5 (2 pending tests) before handoff - Order 3.2: base64 patch via AGENT_STATUS_LOCAL.md (with SHA-256) - Order 3.3: local agent must not narrate cloud state - Order 3.4: allowed parallel work - Order 3.5: WAIT MODE after handoff User decision: variant A (fix E5 first, then full patch) Cloud agent: starting Wave N+2 beta Recon in parallel Anchor: phi^2 + phi^-2 = 3 * docs: cloud status — Wave N+2 beta closed, PR #22 open Anchor: phi^2 + phi^-2 = 3 * docs: order #4 — coordination protocol rebuilt around local agent's no-push reality Root cause acknowledged: local agent has no git remote access to gHashTag/tri-net. All previous 'git fetch origin' orders were technically impossible for it. Fault on cloud side, not local. New protocol: - Local codes freely in its own copy, any branch names locally - Handoff via plain text in AGENT_STATUS_LOCAL.md (docs) or format-patch (code) - User is courier - Cloud holds push/PR monopoly User decision: variant 2 — merge best content from local's 337-line version into PR #22. Also confirmed via API: - PR #22 open at f262dbc on feat/wave-benchmark-2026-07-04 - Ready to receive local's content via merge commit Anchor: phi^2 + phi^-2 = 3 * docs: onboarding brief (Order #0) for fresh local agent Zero-history clean start covering: - Identity and environment (no push access reality) - First task: Sprint 2 E4-E6 (Path Diversity + Self-Heal) - Handoff protocol via AGENT_STATUS_LOCAL.md - Hard boundaries and honesty rules Anchor: phi^2 + phi^-2 = 3 * docs(onboarding): v2.0 merge cloud+local versions Merged 158-line cloud version (commit 74dbbf5) with 210-line local version (commit 7bad790 on local Mac): - Kept Russian voice/style from cloud - Adopted 12-section structure from local - Removed emojis (violate user style) - Updated Sprint 2 status to done (176/0 tests) - Added Emergency Procedures section - Added rule for handling contradictory session dumps Anchor: phi^2 + phi^-2 = 3 * docs(status): reconcile cloud status to Sprint 2 COMPLETE Manual reconciliation equivalent to local commit 8c6fcc7 (which lives only on local/sprint2-path-diversity-2026-07-04 and was never pushed to cloud). Content-equivalent, not cherry-picked. Reflects post-dump reality: - Sprint 2 E4+E5+E6 done, 176/0 tests on local 58bf246 - Both doc-merges pushed (onboarding 4da6e85, benchmark 31aafc2) - Awaiting sprint2-full.mbox (sha256 d958aeb) for git am - Old sprint2.patch (9717163) marked STALE, pre-fix state Anchor: phi^2 + phi^-2 = 3 * docs(status): pre-validation logged, awaiting sprint2-full.mbox Local agent (dump caf595a, 2026-07-04T03:14) pre-validated my Sprint 2 apply plan on throwaway branch from 8c6fcc7 (content- equivalent of cloud e7ff37a): - git am sprint2-full.mbox: 8/8 clean apply - cargo test --all: 176/0 E5 fix attribution clarified: local agent authored both Bug A (hot_swap dead-filter stale cache) and Bug B (ranked_hops missing feasibility routes) in same session — commits d640423 + 58bf246. Will attribute correctly in Sprint 2 PR description. Anchor: phi^2 + phi^-2 = 3 * docs(wave-n3-delta): arXiv-draft vendor-field auditability gap paper Measurement-paper draft, de-risked framing (methodology + structural remedy, NOT a deception allegation against Persistent Systems). Three contributions: (1) Vendor-field discrepancy metric D = V/F with four-band classification (honest / optimistic / marketing-dominated / structurally uncorrelated) and an auditability axiom (existence of a reproducible F is the primary quantity, not the throughput number). (2) Worked case study on MPU5: 150 Mbps vendor vs 2.5-9.3 Mbps independent operator field (Aerobavovna) -> D = 16 (peak) to 60 (steady), band C/D. Corroborated by US Army Rakkasan range-collapse report. (3) Spec-openness + reproducible field-auditability remedy (public bit-exact waveform spec, reproducible Yosys build, conformance vectors, on-device attestation), with Tri-Net as MIT-licensed reference implementation. Every empirical claim traces to a primary-source URL (10 refs). Explicit threats-to-validity: single case study, operator-grade field datum, pre-silicon reference impl, author position disclosed. Framing: 'the field cannot audit the datasheet' not 'vendor X lies'. Author ORCID placeholder pending insertion before arXiv submission. --------- Co-authored-by: Perplexity Computer <agent@perplexity.ai> Co-authored-by: SSD DDD <ssdm4@MacBook-Pro.local>
gHashTag
pushed a commit
that referenced
this pull request
Jul 22, 2026
…-end measurement Single-process loopback confounded every metric and repeatedly produced broken-ruler results: sent and recv were the SAME node's counters (delivery ratios >100% from timing offsets, waves #26/#33/#37), jitter==0 meant "no stream" not "clean link" (#24), and a cross-thread crash-race hid until it fired (#33). There was no way to verify the UI or a real MITM either. Fix: run TWO independent TriNetMonitor instances that dial each other over real UDP. Three dev-only env hooks (no-ops in a shipping run): TRINET_LOG=<path> per-instance log (LogBus) so each process's counters read apart TRINET_LISTEN=<port> this instance's UDP listen port TRINET_AUTOCALL=host:port auto-dial a 1-1 call on launch (INVITE bypassed) CallManager.startCall now honors a distinct listen port so two locals don't collide. smoke/two_endpoint_rig.sh orchestrates A(:8000) <-> B(:8100) and reports the CROSS-process delivery A->B = (B received)/(A sent) — the honest number a single process cannot give. Verified live: two real windowed processes establish a bidirectional call (macOS shares the camera, so both send AND receive). Clean link: A->B 98.7%, B->A 93.4%. With 25% induced packet loss on B: A->B still 96.7% -- i.e. the layered loss-recovery stack (grouped FEC + whole-NAL NACK + per-fragment NACK from #31-33) recovers 25% loss to ~97% frame delivery, now proven over two genuine processes instead of a self-loopback. Mac-only (the rig runs two Mac instances); the env hooks are inert dev tooling. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Recovery of merged PR #24 (
a8d50f54) — same accidental base-branch merge as PR #23. Cherry-picks the squash-commit onto current main.Original PR: #24 (state MERGED, but merge-commit not in main history)
Content: docs/WAVE_N3_AUDITABILITY_GAP_2026-07-04.md (359 lines, arXiv-ready draft)
Anchor: phi^2 + phi^-2 = 3