Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
24 check-ins
|
2026-09-21
| ||
| 05:02 | golden/bench/README.md: quote the ignore-glob entry as it actually is after the re-org (golden/bench/runs/*, not the old top-level bench/runs/*). leaf check-in: ab97223b59 user: andrew tags: trunk | |
| 04:58 | Fix corrupted golden/ blurb in top-level README: a pipeline redaction artifact was accidentally written into the file as literal text and truncated both the table row and the paragraph. Restore the full intended wording: golden-ratio Newton circuit explained plainly (three ct-ct iterations for 1/sqrt(5), client recovers phi, ~13 ct-ct multiplies, depth 20, verified 10 digits on a real Fog job, bench harness). check-in: 2989752cac user: andrew tags: trunk | |
| 04:57 | Top-level README golden/ section: explain what the circuit actually is instead of a cryptic label — the server runs Newton's method for 1/sqrt(5) on ciphertexts (three ct-ct iterations), the client recovers phi = (1+sqrt(5))/2 from the encrypted output; verified to 10 digits on a real Fog job; bench harness included. Matching table row updated. check-in: 9e3ea9908e user: andrew tags: trunk | |
| 04:55 | fhe-messenger blurb in the top-level README: describe the project itself (XMPP-shaped FHE maildrop: fhexmpp CLI, JIDs/rosters/stanzas, recipient maildrop of public keys + ciphertexts, Fog ct-ct triage returning an encrypted match vector) instead of the research question that motivated it. check-in: 0b50433c85 user: andrew tags: trunk | |
| 04:53 | Remove the root Makefile entirely (user direction): the top level is solely README + LICENSE; each project builds, tests, and runs everything from inside its own directory (golden/: make test-golden-local, make fog-golden, make bench-fog; fhe-messenger/: make gates, make fog-submit). These per-project command lines are exactly what the removed root dispatcher forwarded and were verified passing in the re-org build. check-in: 988eaf3104 user: andrew tags: trunk | |
| 04:49 | Fix company URL in root README: niobium.co (was wrongly given as www.niobium.network). check-in: 39eece467a user: andrew tags: trunk | |
| 04:39 | Clean up after reorg merge: re-add root Makefile + README.md (dropped as untracked extras on the merge), remove the stray ignore-glob.no-warn that got tracked, and prune empty leftover src/. check-in: 15d2201edf user: andrew tags: trunk | |
| 04:35 | Merge reorg-top-level into trunk: clean one-app-per-dir layout (golden/ + fhe-messenger/ at top level, thin root dispatcher, per-project docs). Verified: full clean rebuild + both gate suites pass under 7f2a-port check-in: 234ca46604 user: andrew tags: trunk | |
| 04:34 | Reorganize into one self-contained directory per example app: golden/ (was src/golden + its bench harness + its CMake/Make/README) and fhe-messenger/ (was src/fhe-messenger) are now top-level projects; root Makefile is a thin dispatcher and root README explains each project. All 31 tracked files moved via fossil mv; 80GB untracked bench/runs artifacts relocated under golden/bench/runs/; ignore-glob retarget✅; verified full clean rebuild + both gate suites pass from the new layout. closed check-in: 38e6db01aa user: andrew tags: reorg-top-level | |
| 04:22 | Create new branch named "reorg-layout" closed check-in: b811ed49ba user: andrew tags: reorg-layout | |
| 04:21 | Create new branch named "reorg-repo" closed check-in: 84b01a4ab2 user: andrew tags: reorg-repo | |
| 04:16 | Add fhexmpp architecture diagrams: three hand-written Graphviz dot sources in src/fhe-messenger/design/ with rendered SVGs (topology = trust-boundary map of clients/maildrop/Fog; pipeline = one XMPP message end-to-end through the Fog; circuit = the 4,255-instruction ct*ct triage circuit with this demo's measured slot geometry and job 1145db61 scores). Repo convention: dot source is canonical, SVG the only deliverable. READMEs link all three. check-in: 0371659824 user: andrew tags: trunk | |
| 03:58 | Merge branch xmpp-triage into trunk: fhe-messenger imported as src/fhe-messenger (fhexmpp — XMPP-shaped FHE maildrop demo, real Fog round trip verified). Closes ticket 1c1dba1d. check-in: 3d4dd41ed9 user: andrew tags: trunk | |
| 03:57 |
Import fhe-messenger as src/fhe-messenger and rebase it on the XMPP data model (fhexmpp CLI): bare-JIDs, per-user roster (jid -> maildrop), message stanzas with a subject watchword. The sender encrypts the subject representation under the RECIPIENT's published keys into the recipient's maildrop (new kernel call fhemsg_encrypt_to_maildrop — sender must not hold the recipient sk); the verified 4,255-instruction ct*ct triage circuit is unchanged. Server-side dirs remain ciphertext-only (cc/pk/mk + ct_rules/ct_one/ct_msgrep/ct_match, guarded).
Verified: 7 unit tests, f64 twin, ring-4096 local round trip (subject read back from the stanza log), nomatch + sk-canary guards, hollow 2^16 Fog-shaped record, and a real Fog round trip (job 1145db61, batch, dal1worker1): 138.5 MB upload in 4.6 s, ~11 s worker wall, 4.0 MB encrypted match vector back, client-side watch PASS. t-1c1dba1d023aaeeb014c3a40363eb6b7727f1e94 closed check-in: afd63b7810 user: andrew tags: xmpp-triage | |
| 03:39 | Create new branch named "xmpp-triage" check-in: 0eff9a2a2f user: andrew tags: xmpp-triage | |
|
2026-09-14
| ||
| 06:29 | Housekeeping: remove stray --help junk dir (created by a misredirected head --help); add SPDX-FileCopyrightText/SPDX-License-Identifier BSD-3-Clause headers to all tracked sources (client.cpp, decrypt.cpp, server.cpp, twin.cpp, circuit.h, Makefile, CMakeLists.txt), normalizing the file-header convention already used by bench/. Copyright line: Andrew Lewman (Oryxen, Inc). Also drops client.cpp's redundant hand-written copyright line in favor of the SPDX pair. No functional changes. Ticket dcb9f35514e. check-in: 3c1d4efd24 user: andrew tags: trunk | |
|
2026-09-04
| ||
| 06:45 |
Bench (parallel): bounded-window launcher + 429-retrying worker; 50/50 PASS.
Background: the first "50 in flight at once" attempt OOM-killed this 22 GiB host (systemd-oomd nuked the driving terminal; 20.9 GiB cgroup; run dir archived as bench/runs/20260904T062416Z-oom). This lands the bounded-window parallel harness that makes the large sweep actually survivable: - bench/fog_golden_parallel.sh (new): launches N workers (fresh keys each, same pipeline as bench/fog_golden.sh) under a capped admission window — MAXINFLIGHT (default 8) in flight at once, backfilled as retirements happen. mem.log tracks MemAvailable per event, and a final reconciliation pass synthesizes no_record rows so worker-level kill failures can't silently corrupt the count. Exits only after all N have been reaped (an early draft waited on N-1; stub-regression- tested). - bench/_golden_worker.sh (new): one self-contained round trip. Treats HTTP 429 "Concurrency quota reached" (the account allows only 4 in-flight Fog jobs) as park-not-fail: exponential backoff (5..30 s) then re-submit up to SUBMIT_ATTEMPTS (default 10, only cost is the re-upload, trace stays on disk). Anything else fails clean. - bench/report.py: harden record access (.get) so partial/synthetic no_record rows can't crash stats or the per-iteration table (this was the crash mode against runs that come out of the parallel launcher or the OOM'd run). - bench/README.md: document the parallel edition, the quota, the OOM incident and its workaround, and the new reference run. Reference run (dir 20260904T063839Z-par): 50/50 Fog jobs completed, 50/50 decrypt-PASS (phi_err 5.4e-14 .. 1.5e-11, well below the 1e-10 tolerance), spread across all three batch workers 19/19/12. Window held exactly 8/8 in flight; 34 quota-429 retries all auto-resolved by backoff. Host peak memory (launch/finish edges): 7.0 GiB vs ~20.9 GiB at the OOM'd run. Sweep wall 395 s. check-in: 88c28e9c8b user: andrew tags: trunk | |
| 05:57 | bench/README.md: harness docs + reference results for the 2026-09-04 50-run sweep (100% complete, 100% decrypt-PASS). Note per-iter artifacts (~420 MB each) live outside version control. check-in: cfbd65dda1 user: andrew tags: trunk | |
| 05:27 | Bench report: wall-clock glitch exclusion + t_utc reconstruction; drop dead pstats arg + fmt sig fix. check-in: b179286cfc user: andrew tags: trunk | |
| 05:22 | Commit Makefile bench-fog target; pin ignore-glob versioned-only (.no-warn marker + unset local dup). check-in: 1cfdd2e447 user: andrew tags: trunk | |
| 05:22 |
Fog benchmark harness: N serial end-to-end golden-ratio round trips + report.
bench/fog_golden.sh runs client->record->fog submit->decrypt per iteration (fresh keys each time), records per-iteration JSONL + per-job server-side phase breakdown; bench/report.py turns the run dir into REPORT.md + CSV. make bench-fog [RUNS=50]. bench/runs/ artifacts stay out of version control. check-in: fd4fbe4cb9 user: andrew tags: trunk | |
| 05:11 | Document OPENFHE_CPROBES silent-correctness gotcha + make-target + stale-trace purge guidance. check-in: 85357fccaf user: andrew tags: trunk | |
| 05:11 |
Golden-ratio-on-Fog demo: CKKS Newton circuit for phi, 10 digits.
Standalone example built against an external (Release-built) niobium-client checkout. Client encrypts y0 + public constants; server records the Newton inverse-sqrt loop as a hollow FHETCH trace; decrypt verifies against the float twin. Local sim PASSes; verified end-to-end over the Fog (job 695ea230, worker-batch-1, 2026-09-04). BSD-3-Clause. check-in: dabf2814c7 user: andrew tags: trunk | |
| 04:59 | initial empty check-in check-in: 24ec3a753b user: andrew tags: trunk | |