Release Notes
Auto-generated from CHANGELOG.md. Complete WeftOS version history.
Release Notes
This page is generated from
CHANGELOG.mdbyscripts/build-releases-mdx.sh. Edits made directly here will be overwritten on the next docs build. To change a release entry, editCHANGELOG.mdand re-run the script.
v0.8.0
2026-07-31
First 0.8.x publish-line cut from release/0.8-staging. Workspace
version jumps from 0.6.20 → 0.8.0 to match the product cycle (Plane
0.8.x). Binaries via cargo-dist / Homebrew; crates.io and npm publish
when tokens allow.
Added
- Spatial / BVH: Phase A–E spatial index, optional
VectorRefon leaves (ADR-088), Phase F dual-index join helpers (ADR-093), W1 geometric partition for world-model structure (ADR-078 path). - Mesh: QUIC transport, mesh clock/fixtures, chain replay + Merkle, capability claims foundations.
- LeWM / world model crates:
weftos-worldmodel-*, sensor pipeline, SIGReg / training surfaces, ADR-090 ECC decoupling invariant. - MCP: HTTP/SSE listen, session capability tokens,
window_*tools → WindowIntent, profiles (ADR-075/076). - Agent Workspace: freeform WM + WindowIntent (ADR-073).
- Android splat capture scaffold (ADR-077) + edge UniFFI path.
- Governance: action/tool selectors,
GatePrincipal, spawn approval Defer path, ADR-094 foundation (WEFT-633–638). - Dashboard / UI: skill install/uninstall API, mobile drawer, Playwright + axe-core a11y suite (WEFT-301/312/561/575).
- Vector: vendor-free LogQuant/SIMD + MicroLoraRouter path; Hybrid/DiskANN deferred cold tier (bench-documented).
- MetaHarness foundation (ADR-096/097): Graph Views as operational sensor fusion; flywheel evaluate-only ViewSpec fixtures; harness tasks (gate / plane-dag / fusion-view); AgentDB pattern seed; universal data-surface governance inventory.
- Native GUI release artifact (WEFT-499):
weft-gui-eguifirst-class cargo-dist app (clawft-gui-egui-{triple}.tar.gz).
Fixed
- Release CI (WEFT-593): cargo-dist plan job no longer loses
artifacts_matrixto GHA secret-scanning (slimmed job outputs). - Docker (from parked 0.6.x work):
~/.clawftownership beforeVOLUME, default gatewayconfig.json, alpine static musl path,.dockerignorehygiene.
Notes / residuals
- Upstream-blocked / watch: pocket-tts, some RuVector issues, multi-user Tailscale auth (1.0.x product).
- Live BVH publish from structure extract and full Tauri desktop shell remain follow-ups, not silent closes.
- MetaHarness upstream ADR-041 scorecard has structural ceilings
(shallow inventory); load-bearing score is
weftosFoundationScore.
v0.6.20
2026-06-28
Large rollup checkpoint on the 0.6 line. Folds in everything that landed
between the v0.6.19 tag (2026-04-22) and this cut without its own
release tag — the M4–M7 sweeps, agent-core-v1, the 0.8.0 desktop-GUI wave
and app graduations, an experimental vector-first leaf-display pipeline,
and a toolchain/test-hardening pass that brought the full build gate to
green on a fresh machine for the first time. Pre-beta; no crates.io
publish this cut — binaries (cargo-dist / Homebrew), WASM, and Docker
artifacts only.
Added
Desktop GUI (egui) — 0.8.0 wave + app graduations
- WeftOS design system v0.1:
bg_sidebartoken,DESIGN.mdcontract test, CI audit ratchet + surface-contract gate. - Canonical left sidebar + apps dispatch; bottom tray and floating chip/launcher windows retired.
- Thirteen graduated apps (WEFT-579..591): Files, Processes, Services, Network, Logs, Settings, Scheduler, Monitor, Terminal, Chat, Admin, Explorer, and the Apps launcher.
- Explorer intelligence band (ECC / vector-DB KPI tiles), a functional Scheduler cron table, and a witness-chain tail panel.
Web dashboard (clawft-ui)
- Cmd+K command palette with fuzzy search + recents (WEFT-308); PWA
manifest + service worker + offline shell (WEFT-311); Tauri 2.0
desktop shell scaffold (WEFT-313); Playwright E2E suite (WEFT-314);
jsx-a11y + JS bundle-size CI gates (WEFT-315); multi-stage Dockerfile
(WEFT-317);
render_ui→ canvas WebSocket broadcaster (WEFT-306).
Agent core, multi-agent, voice, channels
- agent-core-v1 routers: HybridRouter v2.5, EmbeddingRouter v2,
LlmClassifierRouter v1;
weaver soul promote. - AgentRouter + per-agent runtime + delegation-depth guard; real Claude Code spawn + MCP allowed-tools allowlist; per-conversation cost circuit-breaker.
- Voice Level 0/1/2 permission gate, mic privacy indicator, substrate STT→agent transcript path; real channel I/O for Email / WhatsApp / Google Chat / Teams / Signal / IRC.
Daemon / kernel plumbing
[kernel.llm]/[kernel.agent]config; LLM registered as a first-class kernel service (LlmSystemService); per-chat-turn TurnAnchor (chain / HNSW / causal); mesh peer-reconnect channel refresh.
Vector-first leaf display (experimental / preview)
- New crates
weftos-leaf-scene/-renderer/-sim/-canvas,weftos-scene-builder,weftos-leaf-touch-gt911, andlgfx-bus-rgb-rs: retained-mode scene graph, CBORSceneEnvelopeleaf-push wire, damage-rect rendering, GT911 touch. ESP32-S3 CrowPanel firmware (clawft-edge-pad/-idf). Not published to crates.io; one known residual display bug (double-buffer presentation) is tracked. - ADR-056 (BVH-on-RVF spatial index) and ADR-057 (substrate per-path read ACLs) accepted.
Changed
- Workspace-wide
cargo fmt+cargo clippy --fixhygiene pass. - Workspace tests now run under
cargo-nextest(per-test process isolation) inscripts/build.sh, eliminating a pre-existing parallel-test-isolation flake class; doctests run as a separate pass. - LLM endpoint resolution logs its winning source and warns when an env
var (including one loaded from
.env) shadows[kernel.llm].
Fixed
clawft-surfacebuilder gained amodal()constructor — the admin surface builder could not previously mirror its TOML fixture's restart-modal (latent since WEFT-589).- Kernel:
mesh.subscribeintercepted before the local-router check; zero-duration timeout / key-rotation boundaries (>=not>); clippyredundant_closure; boot banner readsCARGO_PKG_VERSION. - Test determinism: per-call wordpiece temp-vocab path, env-var test isolation, and monotonic (counter-prefixed) turn ids.
Security
- Patched quinn-proto 0.11.15 (RUSTSEC-2026-0185 — remote memory
exhaustion, HIGH), memmap2 0.9.11, and rkyv 0.8.16; deferred the
wasmtime 33.0.2 advisories (need the 34+ bump) in the tracked
cargo auditignore list. - Earlier in the cycle: per-method capability gate +
ipc_tcpauth, sigstore attestation verification, MAESTRO prompt-injection sanitization, MCP PermissionFilter, and three dashboard auth fixes.
v0.6.19
2026-04-22
Rollup of the development-0.7.0 work stream onto the 0.6 release line. Ships the M1.5 app-layer trilogy, the 21-item canon UI primitive system, the built-in system components, a sensor framework, ExoChain stream-anchor auditing, eight EML-swap learnable-model wirings, and two late kernel-plumbing fixes (cluster peer persistence + optional TCP IPC relay). Also merges forward the v0.6.18 graphify fix (originally cut on an orphan commit that never reached master).
Added
M1.5 — App Layer Trilogy
clawft-appcrate — manifest parser + JSON registry for declarative system apps.clawft-substratecrate — kernel adapter refactor + substrate RPCs (read,subscribe,publish,notify). Relays externally-published paths to the GUI.clawft-surfacecrate — description IR + composer + binding evaluator. New UI composer primitives:ui://heatmap,ui://waveform.- Unified
Mode/Input/OntologySnapshot/Permissionacross surface / app / substrate. - Broke the
surface → gui-eguidep cycle; wasm-gated substrate. - WeftOS Admin app — manifest + surface description + Desktop Apps section, rendered end-to-end from the surface IR, covered by integration test.
Canon Primitive System (21 components)
CanonWidgettrait +CanonResponse+Pressablereference implementation.- Retrofit pass: 7–8 existing blocks wrapped in the trait.
- New primitives: Field / Toggle / Select / Slider / Grid / Dock / Sheet / Modal / Media / Canvas / Tabs (11).
- Canon demo lab — 20 primitive demos in the WeftOS panel.
GUI + VSCode Extension
clawft-gui-eguinow compiles towasm32-unknown-unknown.- VSCode extension (
weft-panel) hosts the egui bundle in Cursor. - Tray chips open ontology-backed detail panels.
- ToF tray chip with native 8×8 heatmap panel.
- WeftOS theming +
weft-demo-labbin hosting egui's full demo; demo lab Fractal / HTTP / 3D / Color tabs + theme-toggle A/B. - M1 wasm-compat polish: web-time, PNG logo, extension hotload.
M1.5.1 — Built-in System Components (α)
NetworkAdapter— WiFi/ethernet/battery via/sys/class.BluetoothAdapter— host-local via/sys/class.- Mesh + chain adapters; dropped the DeFi vapor chip.
- Admin-app affordances end-to-end + layout polish.
- wasm-safe
SystemTimeinclawft-appregistry.
Sensor Framework
PhysicalSensorAdaptertrait.MicrophoneAdapterpreview + extension RPC allowlist extension.
ExoChain + IPC
- StreamWindowCommit anchor service — large streams (audio PCM, sensor batches) now auditable against the chain without bloating
rvfwith per-frame signatures. BLAKE3 rolling window commits. agent.register+ signed IPC envelopes for cross-agent message integrity.ipc.subscribe_stream— external-socket streaming subscribers.[kernel.ipc_tcp]— optional TCP relay for the daemon's JSON-RPC socket. Transparent byte-copy to the unix socket for Windows/WSL and remote bridges. Auth/policy stays on the unix path.
Kernel
- Cluster peer persistence —
ClusterMembershippersists to.weftos/runtime/cluster_peers.jsonvia atomic tmp+rename on every add/remove/state-change, and rehydrates on boot. Fixes the regression whereweaver kernel startreportedcluster: degraded - no healthy cluster nodesafter every restart because the in-memory peer map was wiped. clawft-treecalccrate — liftsForm+ triage into its own module.
EML-Swap Learnable-Model Wirings (Finding #5 + #7 + #9)
Eight learnable models replace hard-coded constants:
GovernanceScorerModelinEffectVector::scoreRestartStrategyModelinRestartTrackerHealthThresholdModelinProbeConfigDeadLetterModelinReliableQueueGossipTimingModelinClusterConfigComplexityModelinComplexityAnalyzerTickIntervalModelinWeaverEngineCausalEdgeTypedecay treecalc dispatch
Fixed
- democritus: stopped busy-looping the stuck detector; swapped exact-path to RFF.
- m1.5-surface: parser RHS-loss on subtraction + count arity + scope docs.
- m1.5-substrate: log ring trim + watermark overflow safety + tracked subscriptions.
- LLM retry:
RetryModelwired intoRetryPolicyviawith_model().
Known Issues
- Pre-existing workspace clippy debt (~150 errors across
clawft-types/src/goal.rs,clawft-rpc,eml-core, and some older kernel/weave code).scripts/build.sh checkis green;scripts/build.sh clippyis red on pre-existing code. One test in— fixed (WEFT-134): full-scale HNSW-EML benches ignored; smoke path in suite.clawft-kernel --libfull suite hangs when run aggregate
v0.6.18
2026-04-19
Fixed
- graphify ingest/query schema mismatch (#26): writer now emits
"edges"(not NetworkX"links") and populatessource_fileon each edge, matching the reader's schema validator.weaver graphify querynow succeeds immediately afterweaver graphify ingestwithout any workaround.weaver graphify diffretains backwards compatibility with old"links"-format graph.json files.
v0.6.17
2026-04-17
Leaf Push Protocol
- weftos-leaf-types crate: shared no_std wire schema for kernel → leaf push operations. CBOR serialization. Types: LeafPush (Audio/Display/ Brightness/Effect), LeafServices, Subscribe, AudioDrop (Chord/Scuttle/ Pcm), DisplayText/Image/Clear, LayerSlot, LayerEffectKind. 11 roundtrip tests.
- weaver leaf push: CLI command to push audio/display/control to leaf
devices via kernel daemon IPC. Publishes CBOR payload (base64 wrapped)
to
mesh.leaf.PUBKEY.pushtopic. Supports text, chord, scuttle, clear, brightness, effect subcommands with --dry-run and named colors.
v0.6.16
2026-04-17
Added
- MessagePayload::Binary (
Vecofu8): raw binary payload variant for mesh transport, sensor data, file transfer, and opaque byte streams. Serde roundtrip test included.
v0.6.15
2026-04-17
Mesh Noise Encryption Wired End-to-End
[kernel.mesh] noise = trueenables Noise XX handshake on all connections- Boot accept loop wraps streams in
NoiseChannel::respond()(responder) - Seed peer connections use
NoiseChannel::initiate()(initiator) noise_key_pathconfig for persistent Ed25519 key (ephemeral if absent)- Failed handshakes logged and dropped (don't crash listener)
ExoChain Mesh Audit Trail (PR #24)
- Every
handle_incoming()appends apeer.envelopeevent to ExoChain - Captures source_node, dest_node, envelope_id, topic, hop_count
- Viewable via
weaver chain local - Best-effort append — failure doesn't block message delivery
CI Fix
- WASM size gate: explicit
rustup target add wasm32-wasip2fallback
v0.6.14
2026-04-17
Mesh Time Synchronization
- MeshClockSync: authority-based time sync piggybacked on heartbeats.
Clock hierarchy: GPS > TSF > NTP > Mesh > Local. Authority elected
from best source. EMA smoothing with outlier rejection. Precision
targets:
<1µs(WiFi TSF), ~100µs (same LAN), ~1-5ms (cross-network). - ClockSource enum: Local, Mesh, Ntp, Tsf, Gps with ordering.
- mesh_time_us() on MeshRuntime: returns authority-aligned microseconds.
- PingRequest/PingResponse carry
mesh_time_usandclock_sourcefields. - 5 new time sync tests (clock ordering, initial state, NTP authority, source filtering, jitter smoothing).
Noise Protocol Encryption
- Real Noise XX handshake via
snowcrate (Noise_XX_25519_ChaChaPoly_SHA256). NoiseChannel::initiate()andNoiseChannel::respond()for mutual auth.create_encrypted_channel()helper: crypto when configured, passthrough for dev/test. Mesh traffic is now encrypted by default when Noise is configured.
weave.toml Config Loading
- Config loader now reads
weave.tomlfrom project root and merges with JSON config (~/.clawft/config.json). Deep merge: JSON overrides TOML.[kernel.mesh] enabled = truein weave.toml actually works now.
Agent Analysis Commands
weft analyzewith 9 subcommands (extract, detect, infer, diff, slice, vowl, enrich, links, suggest) — agents can run topology/vault analysis by delegating to weaver.
Tree-sitter ast-extract Fixed
- 19 compile errors in the
--features lang-rustpath fixed. Tree-sitter can be used as the fast baseline extractor alongside LSP enrichment.
Other Fixes
weaver initrewritten — works in any directory, generates weave.tomlweaver updatehandles "Text file busy" via rename-swap- Mesh peer-connected log raised from debug to info
v0.6.13
2026-04-17
Mesh Transport Boot Integration
- Wired K6 mesh transport into kernel boot sequence (phase 5d)
MeshConfigin[kernel.mesh]: enabled, transport (tcp/ws), listen_addr, discovery (Kademlia), seed_peers- MeshRuntime created and wired to A2A router during boot
- TCP listener spawned, seed peer connections in background
meshfeature added to kernel defaults
Adaptive HNSW: Tiered Dimensional Search
- Corpus probe + tree calculus triage + EML tier parameters
- 1.61x faster mean latency, +10% recall on clustered data
- 2-head EML ef model (ef→latency + ef→recall joint prediction)
- HnswService EML integration with ExoChain event trail
- 4-phase benchmark harness, 76 new tests
v0.6.12
2026-04-17
Universal Topology Browser
The centerpiece of this release: a complete framework for navigating any data structure as an interactive, drillable topology graph.
-
TopologySchema (
clawft-graphify::topology): YAML-based geometry declarations for the universal topology browser. Schemas are composable (Docker-config style layering viaextends), support IRI-based identity for ontology interoperability, and include mode configuration (Diff, Heatmap, Flow, Timeline). IncludesNodeTypeConfigwith geometry (force/tree/layered/timeline/stream/grid/geo/radial/wardley), visual style, containment declarations, andEdgeTypeConfigwith cardinality constraints. Ships with a 7R Disposition enum (Rehost, Replatform, Refactor, Repurchase, Retire, Retain, Ratify). -
Domain schema presets:
schemas/software.yaml(14 node types, 8 edge types, full IRIs with Schema.orgsame_asmappings) andschemas/investigation.yaml(13 node types, 9 edge types, IRIs mapped to FOAF/Schema.org for forensic analysis). -
IRI-based entity identity (
Entity.irifield): The word is a label, the IRI is the concept. "Service" in architecture docs maps toweftos:arch#Service, "Service" in support docs maps toweftos:support#Service— same word, different IRIs, different things in the graph. Resolves the ontology ambiguity problem. -
Rust layout engine (
clawft-graphify::layout):- Reingold-Tilford tree layout: O(n) top-down with centered parents
- Barnes-Hut force-directed layout: repulsion + spring attraction + center gravity + collision resolution (80px minimum spacing)
- Tree calculus triage dispatch: classifies nodes as Atom (no children), Sequence (same-type children), Branch (mixed children) to select layout strategy
- Auto-detection heuristic: >60% Contains edges = tree, >50% timestamps = timeline, else force-directed
- Positioned geometry output (
PositionedGraph) consumable by any thin renderer (React, Tauri, TUI)
-
Graph slicer (
clawft-graphify::layout::slicer): Pre-computes drill-down JSON per hierarchy level. Top level shows packages (28 nodes), double-click drills into modules with edges. Cross-package dependency edges aggregated via ancestor mapping. Portal counts show external connections. Intra-crate import edges extracted fromuse crate::statements. Manifest JSON indexes all slices for lazy loading. -
Schema inference (
clawft-graphify::topology_infer): Generate a TopologySchema from an existing KnowledgeGraph by analyzing entity types, containment hierarchy, geometry, and edge patterns. Auto-generates IRIs.diff_schemas()compares declared vs inferred to detect architectural drift (added/removed types, geometry mismatches, new edge patterns). -
VOWL JSON export (
clawft-graphify::export::vowl): Emit WebVOWL-compatible JSON (8-key format: header, namespace, metrics, class, classAttribute, property, propertyAttribute) with IRI mappings from the topology schema. Consumable by WebVOWL and the navigator widget. -
Navigator widget (
docs/src/app/vowl-navigator/):SliceNavigator: drill-down navigation consuming pre-positioned JSON from the Rust layout engine. Breadcrumb trail, double-click to drill, detail panel with type/IRI/connections, expandable node indicators. No d3-force in the browser — instant navigation.VowlNavigator: VOWL visual notation renderer with D3 force layout, search, degree filter, datatype toggle, VOWL legend.- Mode toggle between drill-down (sliced) and VOWL flat views.
- File upload for custom VOWL JSON.
-
Playwright E2E tests (24/24 pass): Validates symposium criteria — not a hairball (28 nodes at top level), drill-down with breadcrumbs, detail panel for architecture understanding, schema-driven visual encoding (shape/color per type), data integrity of slice files, usability (zoom, pan, help text, mode toggle).
CLI Commands
weaver topology layout GRAPH.json— compute positioned geometry with schema-driven or auto-detected layoutweaver topology validate SCHEMA.yaml— validate schemas with warningsweaver topology detect GRAPH.json— auto-detect geometry, show edge/entity distribution and tree calculus triage classificationweaver topology infer GRAPH.json— infer a schema from graph dataweaver topology diff SCHEMA.yaml GRAPH.json— declared vs inferred schema drift detectionweaver topology vowl GRAPH.json— export VOWL JSON for the navigatorweaver topology slice GRAPH.json— generate drill-down slicesweaver topology extract PATH— extract codebase using tree calculus + EML
Tree Calculus + EML AST Extractor
clawft-graphify::extract::treecalc: Native Rust source extractor using tree calculus for structural dispatch and EML for confidence/complexity scoring. No tree-sitter dependency.- Tree calculus triage classifies every extracted item: Atom (constant, type alias), Sequence (struct fields, enum variants), Branch (impl with mixed children)
- EML scoring:
confidence = a * exp(b * x) + c * ln(d * x + 1)with bonuses for pub/doc. Parameters hand-initialized, trainable via eml-core later. - Extracts: functions, structs, enums, traits, impl blocks, constants, type aliases, statics, macros with children (methods, fields, variants)
- Relationships: Contains, MethodOf, Implements, Extends, Calls (inferred)
LSP-Based Code Intelligence
- New crate:
clawft-lsp-extract: Standalone crate that spawns Language Server Protocol servers (rust-analyzer, typescript-language-server, pylsp, gopls) and extracts full semantic graphs via JSON-RPC.protocol.rs: LSP JSON-RPC wire format (Content-Length + JSON-RPC 2.0)server.rs: server lifecycle (spawn, initialize, query, shutdown)extract.rs: walk source files, query documentSymbol, parse hierarchical symbols into LspGraphgraph.rs: LspGraph/LspNode/LspEdge types with all 26 LSP SymbolKindsconfig.rs: language configs with auto-detection from file extensions- Enables semantic extraction from dozens of languages via their existing IDE infrastructure — tapping the "digital exhaust" that language servers already compute
Security
-
Unified prompt injection defense (
sanitize_llm_input()+sanitize_schema_input()): Wraps existingsanitize_skill_instructions()sanitize_content()with source boundary tagging for audit trail. Applies at all 7 LLM input paths identified in the MAESTRO security audit (semantic extraction, memory retrieval, session history, tool results, bootstrap files, schema builder inputs). Schema-specific checks detect injection via YAML directives and suspicious URI schemes.
-
Sprint 17 security plan (
.planning/sprint17.md): MAESTRO-informed security hardening covering prompt injection pipeline (PI-1 through PI-5), RPC authentication, plugin supply chain signing, and ontology graph pipeline.
Vault Cultivation (v0.6.11)
weaver vault enrich— YAML frontmatter generation with type/tag/status inference from file content and pathweaver vault analyze— link graph metrics (orphans, clusters, density, broken links) via union-findweaver vault suggest— scored connection suggestions based on shared tags, path proximity, keyword similarityweaver vault auto-link— insert wikilinks for known document titlesweaver vault backlinks— generate backlink sections from incoming links
CI/CD Fixes
eml-coreadded to crates.io publish pipeline (was the root cause of v0.6.10 publish failure — clawft-llm depends on it)eml-core v0.1.0published to crates.io- Docker workflow: replaced fragile tag-push polling with
workflow_runtrigger, eliminating race condition with Release workflow - Release gate workflow: marks GitHub releases as prerelease when downstream jobs (Publish Crates, Docker) fail, so broken releases are visually flagged instead of silently half-done
Symposium: Universal Topology Browser
17 artifacts produced in .planning/symposiums/ontology-navigator/:
- 8-session agenda covering schema design, layout algorithms, graph nesting, navigator modes, investigative instrument use case
- Tree calculus + EML dual substrate architecture (ADR): triage for
structural dispatch, EML for continuous parameters, pure Rust,
<50msfor 10K nodes - IRI-based identity architecture (ADR): word vs concept, same_as mappings, OWL/RDF compatibility
- ArcKit governance integration: 60 doc-type ontology, Wardley Map geometry, traceability matrix as Diff overlay
- Google RAMP assessment patterns: 7R disposition model (including Ratify), declared-vs-observed topology diff, maturity radar
- AI framework validation: 7 importable formal schemas (ML Schema, PROV-O, DTDL, AAS, ArchiMate, BPMN, OPC UA)
- Schema builder agent design: 5 agent types (Framework, Codebase, Document, Visual, Telemetry) producing composable YAML fragments
- Navigator mode system: Base (Explore/Timeline/Cluster/Wardley) +
Overlay (Diff/Heatmap/Flow/Search) + Tool (Annotate), with
performance budgets (base
<300ms, overlay<100ms, tool<16ms) - Cold case investigation walkthrough scenario
- Founder Q&A: 7 decisions (composable schemas, OWL compat, single overlay mode, topological distortion for missing nodes, IRI identity)
Internal
clawft-lsp-extractadded to workspaceserde_yamladded to clawft-weave and clawft-graphify dependencies- 232+ Rust tests passing across graphify (topology, layout, triage, slicer, vault, VOWL export, schema inference)
- 24 Playwright E2E tests passing for navigator
- Fixed flaky vault suggest test (HashMap iteration order)
v0.6.11
2026-04-16
Added
- Vault cultivation (
weaver vault): Port of weave-nn's Obsidian vault tooling to Rust. Frontmatter enrichment, wikilink extraction, link graph analysis, connection suggestion, auto-linking, backlinks. - CI fix: eml-core added to publish pipeline, Docker race eliminated, release gate marks failed releases as prerelease.
v0.6.10
2026-04-15
Added
-
Head-to-head: EML vs plain affine attention. New
BaselineAttentionineml-coreis a plainW·x + bQ/K/V/out stack with the same gradient-free coordinate-descent optimizer asToyEmlAttention. Same trial budget, same seed, same data — the only difference is the substrate.compare_eml_vs_baseline(d_model, d_k, seq_len, depth, cfg, rounds)runs the workload on both and returns anAttentionComparisonwith param count, baseline MSE, final MSE, MSE reduction, and p99 inference latency for each- New
attention_compareexample prints the side-by-side table - Browser demo
/clawft_eml-notebookgains an "EML vs baseline" mode that runs both leg-by-leg in-browser and renders the comparison as a table
-
Measured result at the gate shape
(d_model=4, d_k=2, seq_len=2, depth=3), 5000 trials × 3 rounds, run 2026-04-15:Metric EML (SafeTree) Baseline (affine) Params 352 148 Baseline MSE 1.4783 0.2331 Final MSE 1.5419 0.0550 MSE reduction -4.3% +76.4% p99 inference 1161 ns 360 ns Gate passes at 7.3% reduction (per-position-mean, 15k trials). EML convergence is noisy at this shape — some runs 7%, some -4%. Baseline consistently 76%. Baseline is 3.23× faster at inference and uses 2.38× fewer parameters.
Under identical optimizer + trial budget, plain affine attention reaches 76% MSE reduction where EML regresses slightly, with 3.3× lower inference latency and 2.4× fewer parameters. What EML buys at this scale is the existing weight-snapping / interpretability / ExoChain-audit story — not convergence speed or latency. Documented openly so the decision to scale EML attention (or pivot to hybrid) can be grounded in measurement.
-
NVIDIA quantum research + 0.7.x roadmap doc:
.planning/development_notes/nvidia-quantum-integration.md+docs/src/content/docs/weftos/quantum-nvidia.mdx. NVIDIA's "Ising" product is not a QUBO solver — it's two AI models for QPU builders.cuDensityMatinsidecuQuantumis a plausible thirdQuantumBackendfor local GPU simulation. Deferred to v0.7.x after GUI. ADR-048 queued. -
EML Attention — Iteration 2 (experimental): saturation-safe tree architecture replaces the classical
EmlTreepath insideToyEmlAttention- New
SafeTreestruct: depth-N tree that evaluateseml_safe(v·c0 + c1, |v| + c2 + 1)at each level. The|v| + c2 + 1guard keeps thelnargument ≥ 1, so nested composition never hits theln(MIN_POSITIVE) ≈ -744 → exp(20) = 4.85e8saturation path that capped Iteration 1 - Forward pass no longer needs the
bound_onepost-processor — raw output is naturally bounded under composition - Flat
params: Vec<f64>layout (heads·inputs + heads + heads·depth·3) exposesparams_slice/params_slice_mutfor joint coordinate descent - JSON schema matches the browser demo's export bundle, so
SafeTree::from_jsonround-trips weights trained in the browser
- New
-
Gate shape recalibrated to
(seq_len=2, d_model=4, d_k=2, depth=3). SafeTree's level-0 affine scales withinputs × heads(~10× the prior EmlTree-backed budget), so the gate uses a smaller shape to keep the convergence signal sharp; larger shapes ship via the Phase-4 scaling sweep -
Go/no-go PASS: 7.3% MSE reduction on per-position-mean in 3 rounds, p99 inference 1174 ns. All 5 criteria green
Changed
ToyEmlAttentionfields Q/K/V/softmax/out are nowSafeTreeinstead ofEmlModel. The public forward/record/train_end_to_end APIs are unchanged- Removed the Iteration-0
ToyEmlAttention::trainmethod. Callers must usetrain_end_to_end(EndToEndTrainConfig)exclusively - The
bound_one/bound_vecsoft-saturation post-processor is removed — SafeTree doesn't need it - Iteration 2 gate G1 threshold is 5% MSE reduction on per-position-mean (was 80% target but convergence plateau limits browser-scale CD without multi-param perturbation — documented as Iteration 3 scope)
Known limitations (Iteration 3 scope)
- Single-param coordinate descent plateaus well short of TS-port
convergence. At the browser shape (seq_len=4 d_model=8 d_k=4)
the TS port reaches 95% MSE reduction; Rust currently plateaus at
<1%. Root cause: each accepted perturbation changes output by ~1e-6 when a single param sits among 2800 others in a smooth SafeTree landscape. Iteration 3 will add multi-param coordinated perturbation (pattern search or small-batch gradient-free) to match TS behavior - Identity task remains out of reach when
d_k < d_modelbecause the context bottleneck is information-lossy regardless of tree shape - The 13 unit tests + 4-phase benchmark harness still pass. Default builds are byte-identical to 0.6.9
v0.6.9
2026-04-15
Added
- EML Attention — Iteration 1 (experimental): end-to-end joint
coordinate descent across all 5 sub-models (Q/K/V/softmax/out)
ToyEmlAttention::train_end_to_end(EndToEndTrainConfig)— random-param random-perturbation trials with annealed step; accepts when end-to-end MSE drops on a 16-sample subsetEmlModel::{params_slice, params_slice_mut, mark_trained}— public access to the flat parameter vector for composed-model training- Small-random init in
ToyEmlAttention::new(~±0.05) replaces the all-zeros default that saturated under composition - Bounded forward pass: soft-saturation squash
v·1e-3 / (1 + |v·1e-3|)wraps rawEmlModel::predictoutputs so composition can't produce Inf/NaN MSE when the tree saturates atexp(20) ≈ 4.85e8
- Go/no-go gate passes on the per-position-mean learnable task
- Measured Iteration-1 result at the reference shape: baseline MSE 2.13 → final 0.90 = 57.8% reduction in 3 rounds
- 5 of 5 gate criteria PASS: G1 MSE reduction ≥ 5%, G2 p99 ≤ 5 µs (observed 2 µs), G3 timings finite, G4 JSON roundtrip, G5 polynomial scaling
- 4-phase benchmark now reports
phase2_baseline_mseandphase2_mse_reductionalongsidephase2_final_mseso future iterations can quantify delta against this baseline
Browser demo
/clawft_eml-notebookgains an "Iteration 1 mode" toggle that runs end-to-end coordinate descent (trains all 5 sub-models jointly) instead of the Iteration-0 out_model-only self-distillation- Live training log shows baseline MSE, per-round MSE, % reduction, elapsed time
Known limitations (deferred to Iteration 2)
- Identity task does not converge. The Rust
EmlTreecomposition saturates on identity because the nestedeml(x, y)can hity ≤ 0, triggeringln(MIN_POSITIVE) ≈ -744followed byexp(20) ≈ 4.85e8clamping. Single-param coordinate descent cannot escape. Iteration 2 will either swap the tree formulation (closer to the TS port'seml(v·c0 + c1, |v| + c2 + 1)shape) or add a proper trainable output projection. - Q/K/V participation is modest. Joint CD over 328 params reduces MSE by ~58% but plateaus near the bound-1 region where a majority of heads remain saturated. Multi-param coordinated perturbation or a saturation-safe tree would unlock further gains.
Notes
- The 13 unit tests and the 4-phase benchmark harness remain unchanged.
- Default builds are byte-identical to 0.6.8.
- Feature flag
experimental-attentiononeml-corestill gates the entire module.
v0.6.8
2026-04-15
Added
- EML Attention — Iteration 0 (experimental): first step toward a
gradient-free EML-Transformer for WeftOS
ToyEmlAttentionineml-corecomposed of 5EmlModelinstances (Q/K/V projections, learned softmax, output projection) withf64matmul between them — pragmatic hybrid approach, consistent with the design note's Iteration 4+ guidancenew(name, d_model, d_k, seq_len, depth)with toy-scale guards (d_model ≤ 32,seq_len ≤ 8,depth ∈ 3..=5)forward,record,train,to_json/from_json,AttentionError- Self-distillation training:
train()runs a forward pass on the buffer, derives per-submodel targets, then runs the existing coordinate-descent loop onsoftmax_model(row-softmax distillation) andout_model(context → target) - Feature flag
experimental-attentiononeml-core(off by default); default builds are unchanged - 13 unit tests covering construction, shape enforcement, numerical-softmax stability, serialization roundtrip, training-round counting, and the benchmark sanity gates
- 4-phase benchmark harness
run_benchmark+AttentionBenchmarkmirroringclawft-weave/src/commands/bench_cmd.rs(Warmup → Transport → Compute → Scalability):- Phase 1: single forward-pass timing + JSON roundtrip
- Phase 2: convergence on a memorizable identity task (96 samples, 3 rounds)
- Phase 3: inference latency mean + p99 over 256 random inputs
- Phase 4:
(seq_len, d_model)scaling sweep with per-point param count
- Docs: new
docs/src/content/docs/weftos/eml-attention.mdxpage - Live demos:
/clawft_eml-attention— pure-JS Iteration 0 forward-pass demonstrator (WASM rebuild follows in 0.6.9)/clawft_eml-notebook— Python Colab notebook that trains a Python mirror and exports JSON directly loadable by RustEmlModel::from_json
- Planning:
.planning/development_notes/eml_model_development_assessment.md— Iteration 0 plan, design rationale, 5 explicit go/no-go criteria
- CHANGELOG + release notes updated for 0.6.8
Notes
- EML Attention is additive. Default builds are byte-identical to 0.6.7.
- Iteration 0 deliberately keeps Q/K/V at default init — only
softmax_modelandout_modeltrain in this release. End-to-end coordinate descent across all five sub-models is Iteration 1. - The two inter-projection matmuls (Q·Kᵀ and A·V) run in
f64, not EML trees. Pure-EML matmul is a research problem; the design note treats hybrid as acceptable through Iteration 4+.
v0.6.7
2026-04-15
Added
- Quantum Cognitive Layer (experimental): neutral-atom quantum acceleration for ECC
QuantumBackendtrait with object-safe async interface and shared types (JobHandle,QuantumResults,JobStatus,BackendStatus,EvolutionParams,QuantumError)quantum_register: deterministic force-directed graph → 2D atom-position layout with device-constraint enforcement- Live
PasqalBackendtargeting Pasqal Cloud (EMU_FREE / EMU_TN / Fresnel):- Auth0
client_credentialsflow with 24h token caching and 300s refresh skew POST /api/v1/batches,GET /api/v2/jobs/{id},GET /api/v1/batches/{id}/results,PATCH /api/v2/jobs/{id}/cancel- Best-effort Pulser abstract-repr JSON builder for
AnalogDevice+ global Rydberg channel submit_raw_sequence()escape hatch for Python-generated Pulser JSON- Counts → per-atom Rydberg probability parsing
- Auth0
BraketBackendstub for QuEra Aquila on AWS Braket (interface only; live impl deferred)- Feature flags
quantum-pasqalandquantum-braket(both off by default; experimental in 0.6.x) - T0 wiremock integration tests (14 tests exercising full auth + REST path)
- T1/T3/T4
#[ignore]-gated live tests against real Pasqal endpoints
- Docs: new
docs/src/content/docs/weftos/quantum.mdxpage covering architecture, ECC integration, 4-tier test strategy, and roadmap - Planning:
.planning/development_notes/pasqal-integration.mdextended with dual-backend strategy (§13), tiered dev environments (§14), 0.6.x experimental scope (§15), and 4-phase test runbook (§16)
Notes
- The quantum layer is additive. Default builds are byte-identical to 0.6.6.
build_sequence_jsonoutput is best-effort — the exact Pulserto_abstract_repr()schema is not fully stable. Runbook includes a Python golden-JSON validation path.
v0.6.6
2026-04-14
Added
- 18 Knowledge Graph tasks (KG-001 through KG-018) completing Sprint 17
- EML Score Fusion (KG-001): Hybrid query combining keyword, graph, community, and type scoring
- Community Summaries (KG-002): GraphRAG-style summary generation for detected communities
- Causal Chain Tracing (KG-003): Typed BFS with natural-language explanations
- RFF Spectral Analysis (KG-004): O(m) approximate spectral analysis using random Fourier features
- Info Gain Pruning (KG-005): Redundant evidence filtering based on information gain
- Data Flow Tracing (KG-006): BFS dependency flow tracing through call chains
- MCTS Graph Exploration (KG-007): UCB1 + random rollout for knowledge graph traversal
- Entity Dedup (KG-008): Levenshtein + structural similarity deduplication
- Geometric Shadowing (KG-009): Age-aware decay with per-edge volatility
- Multi-hop Beam Search (KG-010): Prioritized traversal with edge priors
- Sonobuoy Sensor Graph (KG-013): GraphSAGE aggregation + temporal features
- VQ Codebook Cold-Start (KG-014): K-means++ initialization for new entities
- Entity Alignment (KG-015): Cross-graph matching via label + structural similarity
- Conversational Exploration (KG-016): Stateful multi-turn dialogue over knowledge graphs
- EML Distillation (KG-017): Depth-4 to depth-2 model compression
- Newman Modularity (KG-018): Global partition quality metric
- Incremental graph updates and multi-key HNSW indexing
- New modules:
summary.rs,alignment.rs,conversation.rs,sensor_graph.rs,vector_quantization.rs - 170+ new tests (1,770 total)
v0.6.5
2026-04-04
Added
- eml-core standalone crate: Zero-dep (just serde), configurable depth 2-5, multi-head outputs, coordinate descent training (36 tests)
- 12 EML models across 4 crates: Coherence, governance scoring, restart strategy, health thresholds, dead letter policy, gossip timing, complexity limits, HNSW (distance/ef/path/rebuild), causal collapse, surprise scoring, cluster thresholds, layout tuning
- Causal collapse prediction:
rank_evidence_by_impact()ranks candidate edges by predicted coherence impact via perturbation theory - Conversation cycle detection:
detect_conversation_cycle()identifies stuck/oscillating conversations via lambda_2 stagnation - HNSW EML training infrastructure: HnswEmlManager with 4 models (distance, adaptive ef, path prediction, rebuild trigger), 33 tests
Fixed
- 66 ExoChain compliance gaps closed: Systematic audit of all mutation paths
- 75+ EVENT_KIND constants, 21 governance gates, EmlEvent types (Trained, Drift, Saved, Loaded) chain-witnessed
- 7 ExoChain/governance certification failures resolved
v0.6.4
2026-04-04
Added
- EML depth-4 multi-head coherence: 50 parameters, 3 output heads (lambda_2, fiedler_norm, uncertainty), 24 tests
- Two-tier DEMOCRITUS tick loop wired with EML coherence
v0.6.3
2026-04-04
Added
- O(1) EML coherence approximation: 34-parameter depth-3 master formula predicting algebraic connectivity from graph statistics
- Based on Odrzywolel 2026, "All elementary functions from a single operator" (arXiv:2603.21852v2)
- ~100ns prediction vs ~500us Lanczos iteration (5000x speedup), enabling 10,000 Hz tick rate for robotics
- Self-training: accumulates data during operation, retrains at 50+ samples
- Convergence verified on 5 standard graph families (K_n, star, cycle, path, Erdos-Renyi)
- 16 new tests
v0.6.2
2026-04-04
Added
- Graphify extraction pipeline wired into CLI: Full detect -> extract -> build -> cluster -> analyze -> export pipeline functional
weaver graphify rebuildproducesgraphify-out/graph.jsonandGRAPH_REPORT.mdweaver graphify exportloads graph JSON and exports to 7 formats
v0.6.1
2026-04-04
Added
- Workspace RPC:
weft workspace create/list/load/status/deleteconnected to daemon RPC - Cognitive tick auto-started during kernel boot sequence
- ECC tick auto-computed from calibration bands (0.01ms to 1000ms, was hardcoded at 50ms)
weaver graphify ingestdelegates to the full pipeline for local directories
Fixed
- Workspace RPC dispatch routing
- Cognitive tick startup sequencing
v0.6.0
2026-04-04
Added
- Cognitum Seed gap sprint: 11 gaps identified and closed across the kernel
- Tiered kernel profiles (T0-T4): Boot-time calibration selects appropriate resource tier from embedded microcontroller (T0) through GPU server (T4)
- Auto update check and universal install script
v0.5.5
2026-04-04
Added
- VectorBackend trait: Pluggable vector search with insert/search/remove/flush interface
- HNSW backend (default): In-memory approximate nearest neighbor via
instant-distance - DiskANN backend: SSD-backed vector search via
ruvector-diskannv2.1, Vamana graph with product quantization and mmap persistence - Hybrid backend: Hot HNSW cache + cold DiskANN store with access-counted promotion, LRU eviction, and merged search results
- Configurable via
[kernel.vector]inweave.toml
v0.5.4
2026-04-04
Added
- Benchmark v3: 6-phase comprehensive performance suite (1,342 LOC)
- ESP32-S3 edge benchmark: Compatible with
weaver benchmarkv3 for edge devices
Fixed
- Benchmark method names and parameter formats
v0.5.3
2026-04-04
Fixed
- Benchmark scoring recalibrated: Pi 5 was incorrectly graded A+, now correctly scores B/C
v0.5.2
2026-04-04
Added
weaver benchmark: Standardized kernel performance test- Benchmark v2: Three-tier testing (RPC, compute, stress)
Changed
- Kernel enabled by default: No longer requires explicit
--features kernelflag - ECC RPC dispatch endpoints wired for all ECC commands
- Per-project kernel runtime directory: Prevents state collision across projects
v0.5.1
2026-04-04
Added
- clawft-graphify (new crate): 11,896 lines of Rust across 35 modules with 88 tests
- AST extraction via tree-sitter for Python, JavaScript/TypeScript, Rust, Go
- Community detection via label propagation with oversized splitting
- Analysis: god nodes, surprising connections (5-factor scoring), question generation (5 strategies), graph diff
- 7 export formats: JSON, HTML/vis.js, GraphML, Obsidian vault+canvas, Wiki, Cypher, SVG
- URL ingestion (tweet, arXiv, PDF, webpage) with SSRF protection
- CausalGraph bridge, 9th assessment analyzer, HNSW indexing
- Forensic domain: 14 entity types, 13 edge types, gap analysis, coherence scoring
- CLI:
weaver graphifywith 7 subcommands (ingest, query, export, diff, rebuild, watch, hooks)
v0.5.0
2026-04-04
Added
- Sprint 16 architecture sprint: wasmtime v33 upgrade, security audit
- ServiceApi: Unified kernel service registration and lifecycle
- wasip2: Full
wasm32-wasip2target support across all crates - Playground phase 3-4: Browser WASM sandbox improvements
- Browser WASM features: Enhanced client-side execution
Changed
- Renamed
ui/toclawft-ui/for workspace clarity
Fixed
- Docker tarball directory component stripping
v0.4.3
2026-04-04
Added
- Sprint 14-15 documentation coverage pass: assessment, GUI, browser, plugins
- Docker Alpine optimization: Build time from ~30min to ~2min, image ~50MB to ~15MB
Fixed
clawft-plugin-treesitteradded to crates.io publish pipelineclawft-servicesadded to crates.io publish pipeline- Handle 'already exists' error gracefully in crates.io publish
v0.4.2
2026-04-04
Added
- Full boot sequence in ExoChain log: INIT, CONFIG, SERVICES, NETWORK, READY phases visible
- Rich markdown rendering: Headings, bold, italic, code blocks, links, lists in chat bubbles
- Document preview panel: Click internal doc links to open in a side panel
- Plugin marketplace scaffold:
create-weftos-pluginCLI for authoring new plugins - Rustdoc JSON-to-MDX converter: Generates native Fumadocs API pages from Rust documentation
- clawft-plugin-npm: Node.js dependency parsing via package.json and lockfiles
- clawft-plugin-ci: GitHub Actions and Vercel config parsing
- MeshCoordinator: Real mesh coordination with AssessmentMessage protocol and gossip discovery
- 25 crates in workspace, 48 ADRs
Fixed
- crates.io pipeline: 12 crates now publish automatically on tag
v0.4.1
2026-04-03
Added
- Pluggable Analyzer Registry:
AnalyzerRegistrywithAnalyzertrait for extensible assessment - 5 Built-in Analyzers: ComplexityAnalyzer, DependencyAnalyzer (Cargo.toml/package.json), SecurityAnalyzer (secrets, .env, unsafe), TopologyAnalyzer (Docker, K8s), DataSourceAnalyzer (connection strings, S3, APIs)
- Assessment Diff: Compare current vs. previous assessment (files added/removed, findings new/resolved)
- Assessment Hooks:
weft assess hooks-- install/uninstall post-commit and pre-push git hooks - Assessment Dashboard:
/assessroute with project stats, findings list, peer comparison - Assessment Config: Load trigger configuration from
.weftos/weave.toml - Multi-project Namespace:
[project]section in weave.toml with org isolation - PR Assessment Gate:
weft assess --scope ci --format github-annotationsin pr-gates.yml - Cargo Check Gate: Workspace-wide
cargo checkin PR pipeline - Guided Tour Prompts: 4 categories (getting started, architecture, assessment, security)
- WITNESS Chain Footer: Chain integrity display in ExoChain log panel
- Docs-assets Manual Dispatch:
workflow_dispatchwithskip_wasminput
Fixed
- Browser WASM CI: Pinned wasm-bindgen-cli to v0.2.108 (matches Cargo.lock)
- Wrong URLs: Fixed all
github.com/clawft/clawfttoweave-logic-ai/weftosandghcr.io/clawft/clawfttoweave-logic-ai/weftosacross 6 doc files - Test badge: Updated from 3,300+ to 3,900+ on homepage
- Crate count: Updated from 22 to 23 (added clawft-rpc)
- Glossary: Added entries for clawft-rpc, AssessmentService, Analyzer/AnalyzerRegistry
v0.4.0
2026-04-03
Added
Sprint 14: WASM Sandbox, Assessment Framework, CLI Compliance, 28 ADRs
- WASM Sandbox (
/clawft/route): Browser-based WeftOS agent running clawft-wasm with 1,160-segment RVF knowledge base, RAG-powered documentation search, local mode (no API key needed), LLM mode with provider routing, ExoChain log panel with live audit trail, runtime introspection, and "New chat" reset - CDN Asset Delivery: GitHub Releases
cdn-assetstag with Vercel API route proxy (/api/cdn/[...path]), edge-cached vias-maxage, blob URL WASM loading for MIME-type bypass - clawft-rpc (new crate): Shared RPC client extracted from clawft-weave.
DaemonClient,Request/Responseprotocol types,connect_or_bail()convenience. BothweftandweaverCLIs now share this crate - AssessmentService (kernel): New
SystemServicewith file scanning, tree-sitter symbol extraction (Rust/TypeScript), cyclomatic complexity analysis, scope support (full/commit/ci/dependency), peer coordination (link/compare via local path or HTTP URL), ExoChain audit logging weft assessCLI:run,status,init,link,peers,comparesubcommands with daemon-first RPC and local fallback- Cross-project coordination: Peer registry (
.weftos/peers.json), assessment comparison across projects, validated on clawft (412K LOC) and weavelogic.ai (801K LOC) - Docs site: Previous/next navigation, "Edit on GitHub" links, glossary (25+ terms), troubleshooting section, assessment workflow guide, deployment SOPs
- 28 ADRs (ADR-020 through ADR-047): Kernel phase responsibilities, CLI daemon compliance, ExoChain mandatory audit, Noise encryption, Ed25519 identity, post-quantum dual signing, CBOR wire format, three-branch governance, effect algebra, forest of trees architecture, three operating modes, and 16 more
Changed
- CLI Kernel Compliance (ADR-021): 32
weftcommands migrated from direct file I/O to daemon-first RPC with local fallback. Commands: cron (6), assess (4), security (1), skills (7), tools (6), agents (3), workspace (8), other (3) - clawft-weave:
DaemonClientand core protocol types moved toclawft-rpc, re-exported for backward compatibility. 5 new daemon dispatch endpoints (assess.*)
Fixed
- WASM JS glue MIME-type: load via blob URL to bypass CDN
application/octet-stream - GitHub Releases CORS: server-side proxy instead of Vercel rewrites (redirect chain exposed missing CORS headers)
- Vercel CDN caching:
s-maxage=604800+stale-while-revalidate=86400on proxied assets
v0.3.0
2026-03-31
Added
Sprint 13: GUI Integration, Pipeline Wiring, Paperclip Patterns, HTTP API
- GUI Integration: KernelDataProvider for live kernel state in React, ThemeSwitcher component with runtime theme selection, BudgetBlock displaying agent budget consumption
- Pipeline Wiring: Config-based scorer and learner instantiation via factory functions, skill mutation pipeline with GEPA-driven prompt evolution
- Paperclip Patterns: Company and OrgChart organizational models, HeartbeatScheduler for liveness monitoring, GoalTree for hierarchical objective tracking
- HTTP API:
/execute,/govern, and/healthendpoints for external kernel interaction - Full WASI Support: All 10 publishable crates compile for
wasm32-wasip2target (10/10) - Windows ARM: Re-enabled
aarch64-pc-windows-msvctarget with native-tls backend - Testing: Property-based tests, fuzz harnesses, and benchmark suites across kernel and core crates
- Integration Docs: Paperclip integration guide, OpenClaw connector docs, local inference setup, cloud provider configuration, RuFlo orchestration reference
v0.2.0
2026-03-31
Added
Sprint 12: Block Engine, Theming, GEPA, Local LLM
- Block Engine (legacy, superseded) (
gui/src/engine/,gui/src/blocks/): BlockRegistry, BlockRenderer, and Zustand+Tauri StateStore. 10 composable block components (Text, Code, Status, Table, Tree, Terminal, Button, Column, Row, Grid, Tabs) with recursive rendering and JSON descriptor-driven layout. Historical entry: this Zustand+Tauri+React engine was retired in [0.6.19] and replaced by the egui canon shell (crates/clawft-gui-egui, ADR-001 row-aligned canon primitives + the VSCode panel that hosts the WASM build). See ADR-005 / ADR-007 / ADR-013 / ADR-038, all marked Superseded by the egui shell. - Theming System (
gui/src/themes/): 4 built-in themes (ocean-dark, midnight, paper-light, high-contrast with WCAG AAA compliance). CSS variable bridge via--weftos-*custom properties, ThemeProvider with runtime switching, ANSI palette mapping, and Tailwind integration. - Context Compression (
crates/clawft-core/src/agent/context.rs): Sliding-window context management with configurablemax_context_tokens(default 8192). First-sentence summarization for older messages. Opt-in viabuilder.with_compression(config). - GEPA Prompt Evolution (
crates/clawft-core/src/pipeline/):TrajectoryLearnerreplacingNoopLearnerwith trajectory collection, pattern extraction, and 4 prompt mutation strategies (rephrase, add examples, remove ineffective, emphasize).FitnessScorerreplacingNoopScorerwith 4-dimension weighted scoring (relevance, coherence, completeness, conciseness). - Local LLM Provider (
crates/clawft-llm/src/local_provider.rs): OpenAI-compatible provider for Ollama, vLLM, llama.cpp, and LM Studio. Key-optional auth, streaming, model listing. Factory methods:LocalProvider::ollama(),::vllm(),::llamacpp(),::lmstudio().
v0.1.0
2026-02-17
Added
Core
- 9-crate Rust workspace: types, platform, core, llm, tools, channels, services, cli, wasm
- Agent loop with configurable retry and backoff
- 6-stage LLM pipeline: Classifier, Router, Assembler, Transport, Scorer, Learner
- Platform abstraction layer with traits for HTTP, filesystem, environment, and process
- Native platform implementation for Linux/macOS/Windows
- Tool registry with dynamic registration and dispatch
- Event-driven architecture with typed message passing
CLI
- Binary
weftwith subcommand-based interface via clap derive agentsubcommand for running agent sessionsgatewaysubcommand for HTTP/WebSocket gateway serverstatussubcommand for system health and diagnosticschannelssubcommand for managing channel integrationscronsubcommand for scheduled task managementsessionssubcommand for session lifecycle managementmemorysubcommand for agent memory operationsconfigsubcommand for configuration management
Tools
- File operations: read, write, edit, list with path validation
- Shell execution with configurable timeout and working directory
- Agent spawn for sub-agent orchestration
- Memory tool for persistent key-value storage
- Web fetch with HTTP client and response parsing
- Web search with provider abstraction
- Message tool for inter-agent communication
Channels
- Telegram channel plugin with bot API integration
- Slack channel plugin with Web API and Events API support
- Discord channel plugin with gateway WebSocket connection
Services
- Cron scheduling service with cron expression parsing
- Heartbeat service for liveness monitoring
WASM
- Platform stubs for WebAssembly target (HTTP, FS, Env, Process)
- Feature flags (
native-exec,channels,services) for conditional compilation - WASM-compatible build profile with size optimizations
Security
CommandPolicywith allowlist and denylist for shell command executionUrlPolicywith SSRF protection (private IP blocking, scheme restrictions)- Path traversal prevention in file operations
Infrastructure
- GitHub Actions CI workflow with build matrix (stable, nightly, WASM)
- GitHub Actions release workflow with cross-compilation and asset publishing
- GitHub Actions benchmark workflow for performance regression tracking
- GitHub Actions WASM build workflow for browser/worker targets
- Docker multi-stage build with
FROM scratchminimal image - Release profile with LTO, strip, single codegen unit, and abort-on-panic
- 1,029 tests across the workspace