Handover 2026-09-29 end — oden session closed
nornir:class=design · written on oden at the owner's stop order (oden going away). Continues handover-2026-09-29-oden.md. Every sha below was checked with git ls-remote when this file was written.
Mains
| repo | main | what landed today |
| facett | b0061ed + this handover commit |
9813d5a GPU gate + ortho fix (478 binaries on the RTX 4090, 0 new red) · b1d3882/4080d26 bundle groups (core/docs/model3d, routing from the recipe, probe 48/48) · 12264fd container road (xtask build/wrap-wasm in nordisk-cargo-toolchain@sha256:3d5115ba…) · 0d9db8b RTX 5080 rows + one headful flag list · b0061ed main debt retired (demo snapshot, mega_matrix, wgsl browser test, attribute_owner_law) + reproducible wasm (ahash runtime-rng on wasm32) |
| korp | ff569c3 |
navgraph-overlay b5769de merged: phase-2 robot test tests/robot_navgraph_panes.rs 3/3 (panes addressed by number) |
| dwarves | f85ecb1 |
navgraph-overlay dde243b merged (tonic-web-wasm-client 0.7 → 0.9) |
| znippy-zoomies | c7454d1 |
nothing merged |
| edda | 114fabb |
nothing (no crates/appliance-grow on main) |
| Skidbladnir | c128192 |
nothing |
Open branches left by this session (pushed, NOT merged)
| repo | branch | sha | what is left |
| korp | deploy/oden-0929-lock |
10c0366 |
Cargo.lock re-resolved against sibling mains (korp main's lock is refused by a --locked build). The running korp-server-gpu and korp-ui were built from it. Review + test, then merge. |
| znippy-zoomies | deploy/librqbit-rustls |
2d29d8d |
librqbit on rustls (no openssl in the toolchain image) + committed zstd-sys bindings (no libclang in the image; --features regenerate-bindings keeps bindgen). Tests not run. Note zstd builds its C with -march=native. |
facett: every lane branch of today is merged. The open facett branches all predate today and were not touched: feat/facett-eid, feat/facett-flight, feat/facett-progress, feat/jobview-progress-bar-jera-naming, feat/sweden-geomap, feat/wrapped-webgpu, lane/standing-reds.
Services and processes on oden
- korp-server.service: INACTIVE (stopped 19:33:03 UTC on the owner's order), still enabled — it starts again at boot. Installed:
current→korp-server-gpu-g10c0366-1790709813(sha256f2bb96c0…0935), verified healthy at 19:23:36 before the stop. Rollback:ln -sfn korp-server-g05eb4e5-1789073753 currentin/home/korp/.korp/software/, restart. State backup:~/runs/facett-0929/deploy-logs/state-backup. - korp's own spark41 boot fails (
korp-infra-2, draupnir container boot through user korp's podman). Thedraupnir-korp-spark-icebergcontainer in rickard's podman was started by hand at 19:22 and stopped at the end of this session. Spark reads S3 athost.containers.internal:9000, but :9000 listens on 127.0.0.1 only — unverified with a real query. - korp-ui (
~/.local/bin/korp-ui, sha2566a6cc582…) window on the owner's desktop: left running (owner's). - Owner's Chrome
/tmp/owner-chrome-685t: left open (owner's). No gallery_probe runs; nothing on :8620.
Not done
-
Step a (dwarf, 2026-10-03, owner: "Step a: go"): crates version 0.2.0 MERGED to main; crates.io publish ON HOLD. Lane C2's bump (
2a156ce, rebased onto main0f948c7asc5a38fb: workspace 0.1.19 → 0.2.0, 311 intra-facett requirements in 77 manifests, facett-py 0.2.0) is on main together with the follow-up: knut mainf51b296widenedknut-pipelinesfacett-pipelineto>=0.1.19, <0.3(andknut-popvizfacett-popto>=0.1.9, <0.3), so facett's root[patch.crates-io] facett-pipeline = { path }applies again andfacett-pipeline/tests/knut_facett_matrix.rscompiles (was E0308 at :262, twoPipelineModeltypes) and passes 2/2; the registry facett-core/graph/pipeline 0.1.19 copies leftCargo.lock.facet_completeness(UniverseTab → caps matrix asuniverse; GenTab = container; SimView = BACKLOG, paid by moving StatGridView into the matrix — backlog stays 52) androster_gate(graph tabs creditfacett-graphgen) are green. Workspace CPU suite on dwarf: 3745 passed, 121 failed in 82 targets — 120 "no adapter" + 1 PoisonError fallout infacett-map3d/tests/gpu_clock.rs, nothing else. Publish order (owner): bump (done) → name scrub / squash → publish. Blockers left for crates.io:znippy-zoomies0.1.26 androtaryengine0.1.13 are not published;nornir-robotuion egui 0.36 belongs to 0.3.0 (the egui-0.36 branches — facettlane-h2/egui-0.36, korp/dwarves/nornir/holger/eddaegui-0.36— are kept, not merged). PyPI 0.2.0 was already published 2026-10-02 (the lane Y bullet below predates the upload); 0.2.1 (name scrub, MIT only) is prepared on main0f948c7. The PyPI token is to be rotated by the owner. korp: its 30 facett requirements (Cargo.toml28,crates/korp-embed2) are path + caret0.1.x, and eddacrates/step-boardpinsfacett-jobview0.1.17(2 lines) — against a 0.2.0 facett checkout korp's workspace does not resolve at all ("failed to select a version forfacett-about = ^0.1… candidates 0.2.0"). Widening those (korp's dependency wave, not done here) resolves cleanly; the knut seam itself is closed byf51b296(with the old knut, korp would lock registry facett-pipeline 0.1.19 beside the path 0.2.0). -
Lane M (dwarf → t14s, 2026-10-02): lineage at vsync + SwiftShader says "no GPU" — DONE, merged to main. (loki was switched off mid-lane; the GPU checks ran on the t14s Radeon 890M, headless, under
~/runs/t14s.gpu.lock.) (1) lineage under vsync: NOT the hover path (a drag neither rebuilds nor probes the hover index —hover_builds/hover_probesin the state +a_drag_neither_rebuilds_nor_probes_the_hover_index;hover_candidates: 42is the press-frame probe). Root cause: the page serialised every tab's state every frame (facett-demo/src/main.rsdemo.state_json()), and with lineage on screen that included the inactiveGraphstab's full demo-data state (102 kB, 1.2–1.9 ms/frame natively); plusGraphNav::positions()andappearance()hashed all 206 250 edges per frame for a cache key. Fix:FacetDeck::state_json_rolling/serialize_rolling(the tab on screen + one inactive tab per frame, the rest from a cache, same bytes), demopublish_rolling;structure_sigmemoised perFrameIndex. t14s, 100k community drag: lineage 45.4 / 37.9 → 60.4 / 60.3 fps, Graphs 56.6 / 42.2 → 60.3 / 60.3 (A/B, same session). (2) SwiftShader:facett_core::adapter_retry::software_adapter(overis_software_rasteriser+facts_from_browser_info, moved to facett-core — one copy;browser_bench::software_adapteruses it) refuses a software adapter inwasm_startand facet-wrappedstart()before any lane: "no GPU: software adapter (SwiftShader/llvmpipe) …" on the page, in__facett_state()/facet_error(); graphcloud buffers withoutmappedAtCreation, checked against the limits, a refusal said asgpu_error. t14s headless without the GPU flags: demo + gallery (universe/decograph/graphpan 100k) refuse plainly, 0 panics; with the flags gallery 3/3 PASS. Numbers infacett-benchmarks.md("lineage at vsync + SwiftShader … lane M"). Main620444e; pages9c8aaf8(live?v=620444e, served wasm sha256069f6f97…== dist, 26 949 374 B — the same bytes the t14s after-runs measured). Rollback:git push --force origin 3ef70a7d1d6eadbdfd194c3fd9a66e9544b3623a:refs/heads/pages. Still open: the RTX 5080 row was not re-measured (loki off); facett-coregpu_pick_host(4) needs an adapter (dwarf has none) — unchanged. -
Lane Y (dwarf → loki, t14s, 2026-10-02): PyPI —
facett+facett-demo0.2.0 READY TO UPLOAD, nothing uploaded. Owner decision: two packages at one version.facett(was facet-wrapped-web; importfacett, aliasfacet_wrapped_webwarns until 0.3.0; Streamlit glue moved tofacett.streamlitbehind[streamlit]; wheel only) andfacett-demo(was py/ facett-demo-python; importfacett_demo, commandfacett-demo,[korp]extra, offline mode without it). Recipe rowsfacett-wheel+facett-demo-wheel,PYPI_VERSION. New verbs:cargo ops verify-demo-install,cargo ops publish-pypi(Rust legacy-upload client, token from env or~/.pypirc, never printed). Built at340af30: facett wheel 12 509 079 B9fec3f1e…(byte-identical over 3 builds), demo wheel 88 388 B0cefda67…, demo sdist 82 555 B (content-reproducible only). Clean install from PyPI-fetched Streamlit 1.64.0: green; test-demo 59/5; gallery probe on loki on the INSTALLED assets 51/51 + 3/3 (nvidia blackwell). Streamlit on dwarf now runs the INSTALLED wheels (draupnir-facet-wrapped-demo, 127.0.0.1:8501, wheelhouse binds~/runs/facett-0929/laneY/facett/{pkg-facet-wrapped,py}/distro — restart:cargo ops streamlitin that worktree, no index needed); the t14s tunnel works. The uploader binary + the three files + both SHA256SUMS are staged on the t14s in~/runs/laneY-publish(dry-run there: all checks pass, token from~/.pypirc [pypi]); the real upload waits for the owner's go:cd ~/runs/laneY-publish && ./facett-ops publish-pypi --repository pypi facett-0.2.0-py3-none-any.whl facett_demo-0.2.0-py3-none-any.whl facett_demo-0.2.0.tar.gz, then delete that dir. Owner TODOs in.nornir/pypi-publish.md(author e-mail, ignalina.dk TLS certificate is*.one.com, no LICENSE texts in the repo); trusted-publishing road inpublish/github/(needs the workflow committed at the repo root by the owner). -
Lane L (dwarf → loki, 2026-10-02): the final GPU pass on the merged code + the RTX 5080 rows — DONE. Owner's go for loki given in the session. Every graph tab at 100k on ONE bundle — the live pages bytes (
pages3ef70a7, main1d73e36,?v=4088fa9, wasm sha25628016392…) — headless Chrome 154 on loki's RTX 5080 (nvidia blackwell),demo_pages_probe, one Chrome per scenario under~/runs/loki.gpu.lock: drag fps Graphs 60.2/60.3, lineage 56.8/58.3, decograph 60.3, graphpan 60.4, graph3d 60.3, Universe 100k 60.4, Universe 998 250 60.4, falkor 60.3, World coderoom crates 60.3, World coderoom SBM (after the DAG fix) 60.3, graph SBM force 60.3, graph community force 60.4, graphview 60.3;resident_uploads1 (graph: 2) across every drag; GPU 39–43 °C. No regression vs the t14s rows (all first frames/settles shorter; Graphs at 60 on the same bytes = lane G's 29 fps was the t14s power-saver profile). Gallery probe on main's four bundles (core7078870c…): 51/51, wrong-bundle 3/3, universe 100k 61.7 fps, decograph / graphpan 100kresident_uploads1. Streamlit page (dwarf :8501 through a reverse tunnel, opened and closed by lane L): universe/decograph/graphpan at 100k, manual, simview mountwebgpuon the 5080. Table infacett-benchmarks.md("The final GPU pass … lane L"). Still open:lineageat 100k sits just under vsync (17.1–17.6 ms rAF p50) — fixed by lane M (the per-frame all-tabs state publish, not the hover path); the t14s final pass (Radeon) was not rerun — the 5080 rows stand for the merged code; the Streamlit container still runs the lane-F wheel (core00a9734b…), not a wheel of main;VK_LOADER_DRIVERS_SELECT='*nvidia*'breaks Chrome's Vulkan instance on loki (-7 → SwiftShader) — leave it unset on NVIDIA; on SwiftShader the demo panics inCloudModelPaintCallback::prepare(createBuffer 1.6 MB mappedAtCreation) instead of saying "no GPU" — fixed by lane M (refused at start, "no GPU"). -
Lane G (dwarf, 2026-10-02): falkor, World coderoom, graph, graphview to 100k on the GPU — DONE and LIVE, main
4088fa9. GEN_TABS ceilings 1 000 → 100 000 (FIXTURE_SCALE gone; facet-wrapped'sgraph2draised with it, so Streamlit matches). falkor:FalkorBrowserlays out on a non-blockinggpu_layout::LayoutJobon the host's device (grid kernel above 16 384; ≤ 1 000 with the CPU lane's own params, same look), no device → CPU up toCPU_LAYOUT_MAXand "no GPU" above; painted on the resident cloud. World coderoom:DepGraphLayout::buildO(V+E) on dense ids, iterative rank (parity with the old recursive one on cyclic graphs), positions once per refresh, resident cloud, camera kept across what-breaks; generated edges point newer → older (Cargo forbids cycles). graph:GraphViewscale path above 5 000 — layout once per scene, pan/zoom, resident cloud, FC-4 under a stated budget (≤ 2 000 on-screen AccessKit buttons,a11yin state_json, the canvas label says "K of N"), force-laid on the GPU at scale when a host device exists (facett-graph/gpu-layout). graphview: the same model on the resident cloud above 5 000, L0 CPU below / with no renderer.DecoratedGraphViewresident edge = the CPU painter's 1.4 px. t14s (Radeon 890M, headless, drag fps): balanced — falkor 60.4, coderoom (crates) 60.4, graph (force) 59.8, decograph 60.3; power-saver — graphview 52.6, falkor 52.8, coderoom (crates) 52.6; A/B vs the live lane E bundle in the same power-saver hour: no regression (Graphs 29.2/29.7, Universe 51.6/53.0, decograph 50.9/51.5, graphpan 51.8/53.4) — the owner's power profile (power-saver, then balanced) moves every number (facett-benchmarks.md). Tests: 445 passed in 28 binaries on the rebased branch (demo lib 143, four_tabs_at_scale 4, graph_tabs_at_scale 4, navgraph_demo 5, robot_demo 2, deck_no_error_atoms 2, control_matrix 3, demo_frame 2, facet-wrapped lib 66, graphview 139+, graph scale_lane 2, graphgen, coderoom). Pages3ef70a7, live?v=4088fa9, served wasm sha25628016392…== dist (26 924 313 B). Rollback:git push --force origin f0838040c268ec489078560069f88e31a4e359fb:refs/heads/pages. Still open: the final-code t14s pass (all 8 tabs on one bundle, coderoom SBM after the DAG fix, graph SBM with force, graphview balanced) waited on Tctl < 60 °C while the owner was on a video call (76–78 °C) — run on loki's RTX 5080 instead by lane L (above); loki RTX 5080 rows — done by lane L (were refused by the session's permission classifier until the owner's go);Graphsat 100k is 29 fps under power-saver on BOTH bundles (lane E's 58.5 was balanced) — its own lane, not touched here; mega_matrix screenshot and robot_deck ×2 need an adapter (dwarf has none). -
Lane F (dwarf, 2026-10-02): Streamlit parity + the GPU pixel tests — DONE, branch
lane-f/streamlit-parity(merged to main, see git log). (1) facett-demo's generators, lowerings,GenTab(summary above 5 000 nodes), per-tab builders and the Universe tab moved to a library,facett-graphgen(the demo re-exports it). facet-wrapped: the generator seam{"generate": {"source","size","seed"}}/"sbm:100000:1"(built in the wasm, never shipped as JSON),Entry::with_generator+ manifestgenerate {max,sizes,sources}, new entriesuniverse(1M) anddecograph(100k); graphnav, graph2d (1k), graph3d, graphpan, graphview, lineage take requests (lineage left the fixture-only roster). Streamlit: top tabs = the demo's groups (Grafer, Kartor, Tabeller & diagram, Bygg & jobb, App & UI), each opening on 🎨 Komponenter with the live korp pane beside it; a source/size/seed picker next to every generated component (read off the shipped manifest),?gen=passthrough. (2) Wheel from all FOUR bundles (core/docs/model3d/sim; the sim group is now required) in the container road, holger index from~/runs/facett-0929/laneS/holger-runwith the ron at~/runs/facett-0929/laneF/facett/target/pip-build/holger-facett-pip.ron, verify-install 51 components, test-demo 58 passed / 5 skipped. Streamlit RUNNING on dwarf 127.0.0.1:8501 (containerdraupnir-facet-wrapped-demo, source bind~/runs/facett-0929/laneF/facett/pyro, installed core wasm sha25600a9734b…== dist), healthok. Restart: start the index as above, thencargo ops streamlitin~/runs/facett-0929/laneF/facett. The index was STOPPED after the demo came up. The reverse tunnel to the t14s (ssh -f -N -R 127.0.0.1:8501:127.0.0.1:8501 rickard@100.67.148.64) is UP. (3) GPU: gallery probe 51/51 + wrong-bundle 3/3 on the t14s (amd rdna-3) AND loki (nvidia blackwell); universe 100k 61.5 / 61.8 fps, decograph/graphpan 100k resident (resident_uploads1), first frames infacett-benchmarks.md; Streamlit page mounts universe/decograph/graphpan/manual/simview webgpu on both. (4) Pixel tests (never run on a GPU before): robot_deck ×2 green on both GPUs; snapshot + mega_matrix were RED on main too (lanes D/E changed the deck; branch render byte-identical to main) — 8 goldens re-blessed on loki's RTX 5080, within 2 on the t14s. Found + fixed:find_cyclesunbounded path walk frozestate_jsonon a 120-node generated graph (now 200 000 steps); simview had no gallery payload; inventory.rs missed facett-ops. Still open: decograph/graphpan fps in the Streamlit iframe is not measured by the probe (reactive panes repaint only when nudged; lane E's 60 fps drag is the same code);find_cyclesis still a bounded sample, a Johnson walk would make it exact; Look & feel v2.0 not designed (v1 tokens); pages not redeployed (lane G). -
Lane E (dwarf, 2026-10-01): decograph + graphpan on the RESIDENT lane, 4 more tabs on the generator — DONE and LIVE, main
f85386c. Abovecloud::RESIDENT_ABOVE(5 000)DecoratedGraphViewand graphpan (GraphPanView,paint_scene_opts,draw_graph_opts) upload the cloud once per model (cloud::ResidentSlot; decograph also per unfold change) and send the camera per frame; overlays (selection ring, decoration rings/badges/edges, lit trace ≤ 4 096, on-screen labels ≤ 2 000) stay on the CPU. The freepaint_scene_opts(dwarves' Universe) fingerprints the borrowed model — no dwarves change, API source-compatible. t14s Radeon 890M headless, 100k SBM drag: decograph 2.8 → 60.4 fps, graphpan 14.8 → 60.3 fps,resident_uploads1 across the drag; Graphs 58.5, Universe 60.4 (no regression); max Tctl 74 °C (facett-benchmarks.md). Size + generator now also on falkor (a Cypher-shaped answer on the in-memory runner), World coderoom (a crate graph throughGenCoderoomData, its data seam), graph (a Scene), graphview (the L0 kernel) — each capped atFIXTURE_SCALE= 1 000, the reason in its LEGEND row (CPU force layout / O(V·E) seam layout / per-node AccessKit buttons / CPU raster). metro (typed lines + stations) and Sverige (its own 1M → 100M control) keep theirs. Pagesf083804, live?v=f85386c, served wasm sha2561cb72bac…== dist == the measured bytes. Rollback:git push --force origin 69838227e772acee9958b2fb4648a4baa6ea1c84:refs/heads/pages. Still open: (the wgpu kittest binaries — mega_matrix screenshot, robot_deck ×2, snapshot png — were run by lane F on the t14s and loki, goldens re-blessed); in the resident lane edges take their tail node's colour and a selection does not dim the cloud (the trace is drawn over it); the four fixture-scale tabs stop at 1k until their layouts move to the GPU; the RTX 5080 (loki) rows are still owed. -
Lane D (dwarf, 2026-10-01): demo graph tabs — DONE and LIVE, main
3f7d99d. Owner order: show the hidden graphs, group the tabs, a size selector + a data generator. (1) Two-level tab bar (FacetDeck::with_groups, the demo'sTAB_GROUPS): Grafer 25 · Kartor 5 · Diagram 10 · 3D-scener 4 · Bygg & jobb 9 (wasm; 11 native) · Tabeller 10 · App & UI 16 · Övrigt 2 (9 native). Titles/ids unchanged; navgraph order[groups, tabs, *]→ group row 1.2.1, tabs 1.2.2, pane 1.2.3 (snapshot re-blessed, 0 undeclared atoms). (2) Size + generator (facett-graphview::generate: community rings, SBM, Erdős–Rényi, Barabási–Albert, grid, tree, crates; + knut-popsim population) on Graphs, lineage, decograph, graphpan, graph3d (100 → 100k), Universe (→ 1M); deep link?gen=<src>:<size>:<seed>#<tab>/$FACETT_DEMO_GEN. (3) NewUniversetab (WorldGraph galaxy on the resident GPU cloud, labels off, "no GPU" said plainly). GPU lanes turned on: graphnavwgpu+gpu_cloud, graphpanwgpu, graphviewgpu-cloud. Measured on the t14s (Radeon 890M, headless): Graphs 100k 57.9 fps (GPU layout + resident cloud), Universe 100k 60.4 fps, Universe 998 250 nodes 60.3 fps — table infacett-benchmarks.md. Pages:69838227(rollbackgit push --force origin 84ef0a636d64571feb138acffa6f96c7bad70bee:refs/heads/pages), live?v=3f7d99d, served wasm sha256a380db5e…== dist == the measured bytes. Still open: (decograph / graphpan resident and falkor / World coderoom / graph / graphview wired: done by lane E, below) metro, Sverige and the typed DAG views keep their fixtures (each LEGEND row says why). TheGraphsnode table is off above 5 000 nodes (exact betweenness is O(V·E) on the CPU) — a GPU or approximate betweenness would bring it back. The RTX 5080 (loki) rows and a headful check are not done (loki asleep; t14s headless only).demo_pages_proberuns one scenario per Chrome: a second iframe navigation in the same Chrome never draws (cause not found). -
Lane X (dwarf, 2026-10-01): DONE, all on main. xtask carries ONE dependency (
facett-build-thing). The 8 non-build verbs arecargo ops <verb>(facett-ops). The release pipeline's publish-holger, verify-install and test-demo steps run throughalias: "ops". The container road lives once, in edda (nornir_build_thing::container_road); facett's copy is deleted.nornir_pages::demo_wasm(cfg, set, variant)has no host road. Mains: eddae0a2d0b, dwarves68c28e1, nornirfe406ec, facett — see the lane X commits after59dd7e6. Measured: facett tests 135/135, the recipe features tree is byte-identical (3167,044af68e…), and the panel row built through edda's road in668468e7…. Still open (owner decision, VIKTIGT): nornir and dwarves declare no demo row (their sets are matrix-pinned), so theirdemo-wasmis refused by name. nornir'sxtask/tests/no_silenced_tests.rsis red on main fortests/viz_jobs_headless.rs; it predates lane X and is not ours. Proving nornir and dwarves needs the holger-gaps crates (edda + Skidbladnir) and lane R's gunnar/modgunn clones beside them. -
Pages DEPLOYED (lane P, dwarf, 2026-10-01) — moved out of "Not done". Owner chose clang+llvm in the SHARED cargo-toolchain image: edda
6b5f905(main; snapshot.debian.org 20260713T000000Z, same SOURCE_DATE_EPOCH; minted twice, second afterpodman rmi+prune, same manifest digest668468e775ad…, tag on dwarfnordisk-cargo-toolchain:lanep-clang). facett re-pinned inad81c64/086c7ba.cargo xtask deploy-pagesfrom main086c7ba: pages2822cc5→f69686f; livehttps://nordisk.codeberg.page/facett/serves?v=086c7ba, servedfacett-demo_bg.wasmsha256dde4cc2ea136…== dist (26 467 787 B),facett-demo.jsaee5286a…== dist. Rollback:git push --force origin 2822cc5c0a0e0384a954b24b3ae38b31a13d9a8e:refs/heads/pages. Still pinning the OLD3d5115ba…(valid only where that image already exists — the recipe no longer mints it): knut Skidbladnir draupnir znippy dwarves skade korp-collectors nornir korp znippy-zoomies holger (+ gunnar, holger-ui per ~/git). They can re-pin to668468e7…when they next touch it. -
Pages no-GPU fix (lane P, 2026-10-01): owner saw "loading, then black" without an adapter. Main
2776a69:wasm_startchecks navigator.gpu / isSecureContext / requestAdapter() (facett-coreadapter_retry, moved from facet-wrapped) before eframe and writes the plain "no GPU: …" into the page;graph-wgpuputs the 2-D graph on the GPU cloud. t14s headless: renders with GPU, message without. Live: pages84ef0a6,?v=2776a69, served wasm sha256ebd69777…== dist. Previous pagesf69686f. -
Lane P done:
panel-wasmis thefacett-wasm-demo-panelrow (edda2637751BuildVariant::examplewasm::artifact_stem), built in the PINNED image on dwarf (cargo 171 s,panel_bg.wasm5 620 426 B). Gotcha: a fresh worktree without LFS smudge carries 131-byte pointers;facett-docviewthen refuses to compile (DejaVuSans.ttf is a Git-LFS pointer) — rungit lfs checkoutbefore any wasm build.
-
Streamlit: RUNNING on dwarf (lane S, 2026-09-29), facett main
fc07b72. Containerdraupnir-facet-wrapped-demo(imagenordisk-streamlitsha256:b84e4494…), 127.0.0.1:8501 only, source bind~/runs/facett-0929/facett-laneS/py(ro). Wheelfacet_wrapped_web-0.1.19(sha2562fcc0fa7…) built in the container road from all three bundle groups (core wasm 12 599 322 B7166e4a4…, docs 9 036 092 B3fcd3eae…, model3d 7 229 203 B10179d1a…); verify-install: 11 assets identical, 48 components. Stop:podman rm -f draupnir-facet-wrapped-demo. Restart needs the index up first (the container pip-installs the wheel at start):cd ~/runs/facett-0929/laneS/holger-run && HOLGER_DATA=$PWD/data ./holger-server start --config ~/runs/facett-0929/facett-laneS/target/pip-build/holger-facett-pip.ron, thencargo xtask streamlitin facett-laneS. The index was STOPPED after the demo came up.- holger index: holger main
424945aserver-localrow built in the pinned image (holger xtask build --suite ORIGINAL --variant server-local, binary sha256a53935cd…), in a private sibling tree~/runs/facett-0929/laneS/src/= worktrees on eddaholger-gapsd71ade3 (the only edda head carrying appliance-grow + admit + disk-snapshot + estate-clock withestate_clock::poll+ estate-front; release-2 lackspoll), Skidbladnirholger-gaps52b0c07, + clones tunnr, znippy, monetize, monetize-impl, modgunn, holger-ui. holger main's Cargo.lock does NOT match any sibling set: re-resolved LOCALLY (commit 4327e77, not pushed): appliance-pid1 0.1.1→0.1.2 + additive edges (facett-core ahash/getrandom/wasm-bindgen/web-sys, wg-appliance-core tracing). No edda branch merged. - Mounts proven on a GPU (t14s, Radeon 890M
amd rdna-3, headless flag set above, reverse ssh tunnel closed after): Streamlit page mounts core (binview, geomap, graph2d, boxplot, table, calendar), docs (?pick=manual,?pick=docview) and model3d (?pick=model3d), eachcanvas_api=webgpu,software=false— read off the loader's newfacet:mountedconsole line. gallery_probe on the INSTALLED assets: 48/48 PASS (45 core + docview + manual + model3d), wrong-bundle 2/2, every adapteramd rdna-3, attempts 1. loki unreachable (ssh timeout) — the RTX 5080 rows are still owed.
- holger index: holger main
-
cargo xtask test-demo: green against the wheel from the private index — 53 passed, 5 skipped (3 need a live korp-server, 2 a saga sink).cargo test -p xtask111 passed. Still owed: holger main needs a Cargo.lock that resolves against a published edda set (today only a local re-resolution builds it); robot_streamlit.py (playwright) not run — python on the host is out. -
Skidbladnir install road refuses sparse files (
korp-server --refresh→bad_entries=["korp-server"]); every container-built refresh hits it until fixed. -
edda:
from_wasmmust become a list (the wheel has 3 producers);WasmStageRun::ComponentManifestdrops the row's features (facett works around it). -
Headful browser rows are owed on both GPUs: loki has no desktop login, the owner stopped headful on oden.
-
ahash runtime seeding (
crypto.getRandomValuesvia getrandomwasm_js) not yet exercised in a browser. -
korp debt:
tests/robot_shell_mount.rs:234(tab floor predates 17 → 8 tabs); two lib tests collide in a full run (src/jobs.rs:1183,src/map_networks.rs:2594). dwarves debt:robot_two_doors.rs:217needs a monetize-impl checkout; dwarves-gui has 46 wasm errors in native-only modules.
Evidence on oden
~/runs/facett-0929/: gate-logs/, groups-evidence/, logs-container/, bench-logs/, deploy-logs/, wasm-proof/, tmp/clean-targets.log (2.74 TB of idle target dirs freed, /home 96 % → 54 %).