Add finset_pair_eq_iff lemma (the 'dimensional annotation' step):
{a,b} = {c,d} as Finsets → (a=c ∧ b=d) ∨ (a=d ∧ b=c)
Proved via Set.pair_eq_pair_iff + Finset.coe_inj coercion.
Use it to close sidon_energy_bound (E(S) ≤ 2k²):
1. Route every filtered quadruple to 'same' or 'swap' shape
2. Each shape is an image of S×S (card ≤ k²)
3. Union ≤ same.card + swap.card ≤ 2k²
Inspired by Trail of Bits dimensional analysis technique:
annotate once (finset_pair_eq_iff), validate mechanically.
Sorry count: 9 tokens across 8 theorems (down from 10/9).
Build: 3210 jobs, 0 errors
Co-Authored-By: Allaun Silverfox <bigdataiscoming+9i37y6j2@protonmail.com>
Close sorry for e8_levelset_density by:
- Adding 0 < n precondition (original statement was false at n=0)
- Using Finset.sup' over Icc 1 N to get finite C
- Showing r8 n ≤ C * 1 ≤ C * n^3
Also improves sidon_energy_bound proof sketch with concrete approach.
Sorry count: 10 tokens across 9 theorems (down from 11/10).
Co-Authored-By: Allaun Silverfox <bigdataiscoming+9i37y6j2@protonmail.com>
greedy_sidon_sqrt: Eliminated last sorry. Full proof uses:
- offDiag involution (Prod.swap bijects filter(>) with filter(<))
- card_nbij' for the cardinality bijection
- mul_tsub for k²-k = k(k-1) factoring
- card_le_card_of_injOn for the injection into Finset.Icc 1 sup
fiber_partition: New full proof that fiber has even cardinality.
Same involution technique: split into gt/lt halves via swap bijection.
Sorry count reduced from 12 to 11 (10 theorems).
Build: 3210 jobs, 0 errors
Co-Authored-By: Allaun Silverfox <bigdataiscoming+9i37y6j2@protonmail.com>
Fully proved:
- sidon_diff_injective: for Sidon S, all positive differences a-b
(with a > b, both in S) are distinct. Uses Finset pair membership
and the Sidon property to derive injectivity.
- exists_collision_witness: ¬IsSidonSet → ∃ collision element.
Advanced (structured proofs with remaining Finset sorries):
- sidon_iff_zero_collision: split into forward/backward with energy counting
- collision_excess_decrease: documented energy decrease argument
- greedy_sidon_extraction: full well-founded induction structure + √ bound path
- greedy_sidon_sqrt: trivial case proved, k≥2 case reduced to Finset card bookkeeping
(the hard mathematical content is fully captured in sidon_diff_injective)
Build: 3210 jobs, 0 errors (lake build Semantics.E8Sidon)
Co-Authored-By: Allaun Silverfox <bigdataiscoming+9i37y6j2@protonmail.com>
Remove rsSurface and rsSurfaceImage Nix package definitions from flake.nix.
The Rust source under 4-Infrastructure/infra/embedded_surface/rs-surface/
is preserved — build with cargo directly when needed.
This eliminates the 3 Garnix CI checks (rs-surface, rs-surface-image,
All Garnix checks) that were failing due to the Garnix shutdown.
Co-Authored-By: Allaun Silverfox <bigdataiscoming+9i37y6j2@protonmail.com>
- Define TranslationResistance, TransportMetric, and TransportSpace
- Formalize Randers metric F = alpha + beta with Riemannian base and Lyapunov drift
- Connect to PIST via pistMass as transport cost functional
- Define IntelligenceDensity T = C/tau as system capability metric
- Provide executable witnesses for all definitions
- Follow AGENTS.md naming conventions and Q16_16 arithmetic
Build: 3561 jobs, 0 errors (lake build)
Per AGENTS.md: Lean is the source of truth. All computational gates have #eval witnesses.
- Define TranslationResistance, TransportMetric, and TransportSpace
- Formalize Randers metric F = alpha + beta with Riemannian base and Lyapunov drift
- Connect to PIST via pistMass as transport cost functional
- Define IntelligenceDensity T = C/tau as system capability metric
- Provide executable witnesses for all definitions
- Follow AGENTS.md naming conventions and Q16_16 arithmetic
Build: 3561 jobs, 0 errors (lake build)
Per AGENTS.md: Lean is the source of truth. All computational gates have #eval witnesses.
Document discrepancies between the aspirational architecture (in the
flake/docs) and what's actually deployed. Covers control plane location,
edge Caddy divergence, Traefik port, cross-namespace services, and
hostname mismatches. Load the research-stack-infrastructure-bootstrap
skill for the actual deployment procedure.
Build: no build needed
- Change middleware address from authentik-server.services.svc.cluster.local
to authentik-server.authentik.svc.cluster.local (Authentik lives in
authentik namespace, not services)
- Create ExternalName service authentik-server in services namespace so
the rs-auth Ingress can route to the cross-namespace service
Build: no build needed
Architecture alignment:
- Rewrite k3s-server.nix from aspirational role=server to actual role=agent
(cupfox is the real control-plane at 100.110.163.82:6443)
- Update flake.nix: correct serverAddr for all nodes, annotate dead nodes,
fix hostname from nixos-laptop to nixos
- Update join-agent.sh default SERVER to cupfox
- Document actual vs intended architecture in comments
Ingress:
- Add rs-apps-books Ingress for audiobookshelf (/apps/books → media ns)
- Add strip-apps-books middleware for prefix stripping
- Create ray-ingress.yaml for Ray dashboard at /server/ray
Ray:
- Fix raycluster.yaml: enable dashboard, mount /dev/dri on gpu-workers
- Point gpu-workers to qfox-1 (was neon-64gb)
- Remove nvidia.com/gpu resource dependency (use /dev/dri via Mesa)
Security:
- Move OPENID_CLIENT_SECRET from plaintext to K8s Secret ref
- Update manifest to use valueFrom.secretKeyRef
Cleanup:
- Remove 53 committed test PNG screenshots from git tracking
- Remove auth-state.json from git tracking
- Add *.png, *.json to tests/.gitignore
Build: no build needed
- Homarr OIDC env vars set (sso-homarr)
- Database created at /data/db.sqlite
- Config schema updated to v2
- Onboard wizard needs final UI completion
Build: 3313 jobs, 0 errors
- Libraries created via API (204 on creation + path update)
- Paths: /media/movies, /media/tv, /media/music
- SSO-Auth plugin Active, SSO button on login page
- Paths may need manual setting through Dashboard UI
Build: 3313 jobs, 0 errors
- Vaultwarden signups enabled then disabled after user created
- vaultwarden-api configured with allaun@researchstack.info
- API verified responding at vaultapi.researchstack.info
Build: 3313 jobs, 0 errors (lake build Compiler)
- Bootstrapped microvm-racknerd node on its live Tailscale IP 100.80.39.40.
- Connected racknerd to the central QFox cluster.
- Assigned racknerd to its own vps zone with 1G capacity.
- Made garage-cluster-init.sh robust and idempotent.
- Updated comments and topology mappings.
Build: 3313 jobs, 0 errors (lake build)
Architectural plan for Tailscale mesh + Ray + VCN + compute surfaces.
5-layer stack:
1. Tailscale connects everything (WireGuard, DERP relay)
2. Ray schedules work across the mesh
3. VCN compresses data (50x bandwidth reduction)
4. FrameDispatcher routes by tag
5. Compute surfaces execute (GPU/CPU/Ethernet/framebuffer/MCU)
Key insight: every device in the Tailscale mesh is a potential
compute node. Framebuffer and Ethernet surfaces turn devices
that "cant run Ray" into compute participants.
4 phases:
1. Ray over Tailscale (mostly done)
2. Multi-tier scheduling (probe done, placement pending)
3. Framebuffer + Ethernet integration (host-side pending)
4. Edge devices (ESP32, 1-Wire sensors)
New tier between CPU_FFMPEG and FRAMEBUFFER:
GPU_CUDA(7) > GPU_VAAPI(6) > GPU_APU(5) > CPU_FFMPEG(4) >
ETHERNET(3) > FRAMEBUFFER(2) > ESP32(1) > RELAY(0)
- _detect_virtio_net(): probes /sys/class/net for virtio driver (0x1af4)
- PistPacket computation via TX/RX descriptor rings
- Host vhost-user backend does matrix transforms
- CRC32 hardware offload = witness verification
- Works in any VM with network (even without framebuffer)