Skip to content

Releases: bhengubv/CircleAI

v3.5.0 — The Neuron

Choose a tag to compare

@bhengubv bhengubv released this 18 Jul 09:33

[3.5.0] — 2026-07-18 — The Neuron — on-device concierge, ported to all 8 languages + multilingual docs

Adds the Neuron: a private, on-device second brain that decides, per turn,
whether an always-warm generalist answers or a capability-matched specialist is
hot-loaded to answer — grounded in one shared memory and persona, host-neutral,
and durable across restarts. Built on the C# reference and ported to all seven
sister languages (Python, TypeScript, Go, Kotlin, Swift, Rust, C), each adapted
to its substrate and covered by its own tests. HarmonyOS remains the single
documented gap. Also ships a multilingual README set — the Neuron explained in
17 languages, including six new African-language translations.

Added — the Neuron (CircleAI.Hosting, mirrored to all 7 ports)

  • Concierge router + gate — INeuronRouter / HeuristicNeuronRouter /
    NeuronGate. Per-turn keyword/length heuristics (never a model) route each
    turn to the generalist or a specialist (vision / long-context / reasoning);
    a gate can veto a specialist, and the generalist floor always answers.
  • Two-slot residency — ResidentSlotManager, a RAM admission gate that
    keeps the generalist warm and hot-loads at most one specialist beside it,
    reserving RAM before loading and evicting the specialist first under
    memory pressure so the generalist never drops. Wired into AIService at the
    chat / stream / agentic call sites, gated on AIOptions.Router — with no
    router the path is byte-identical to before.
  • Host-neutral seam + facade — IChatRuntime / IPersistableChatRuntime
    • NeuronNode, so any harness can drive the node without touching engine
      internals; AddNeuron(...) DI; generalist-floor KV session save/load for
      OOM/restart survival.
  • Voice — the "Hey B" voice loop drives the Neuron (NeuronVoice).
  • Ported to all seven sister languages — Python, TypeScript, Go, Kotlin,
    Swift, Rust, C. Each adapts to its substrate (rich ports mirror the two-slot
    path directly; thinner ports inject a specialist selector + factory; C ships
    a self-contained module over its callback substrate) and carries its own
    Neuron test suite.

Added — documentation + internationalisation

  • Plain-language Neuron section in the root README — what it is, and how a
    network of Neurons composes (clearly marked as not-yet-built vision).
  • 17-language README set under docs/i18n/: a new English source, the
    Neuron section added to the 10 existing translations (Arabic, German,
    Spanish, Persian, French, Japanese, Korean, Portuguese-BR, Russian, Chinese),
    and six new African-language READMEs — Afrikaans, Kiswahili, isiZulu,
    Sesotho, Hausa, Amharic — matching the product's own language support. A
    language bar links them all from the root README.

Notes

  • Neuron unit tests verified green per language: C# (net9 and net10),
    Python, Go, Rust (16/16), TypeScript (17/17), Kotlin (17/17), Swift (17/17 on
    macOS), C (full CMake library build + ctest). AIOptions.Router null keeps
    every existing AIService path byte-identical.
  • The docs/i18n translations are AI-assisted starting points; native-speaker
    review is welcome, isiZulu especially.

v3.4.0 — Cross-language test parity

Choose a tag to compare

@bhengubv bhengubv released this 14 Jul 07:52

v3.4.0 — Cross-language test parity + StubGuard package completions

All eight language surfaces — the C# reference plus the Go, Rust, Python, TypeScript, Kotlin, Swift and C ports — are verified green on their unit-test suites with full public-API parity. HarmonyOS remains the single documented gap (no ArkTS toolchain to compile-gate it).

Highlights

  • 15 concise CircleAI.* packages completed to genuine depth (clearing the StubGuardTests ≥60-real-line gate) — Media, Safety, the Networking transports (Bluetooth/NearLink/Grpc), Integration in-memory connectors, and 9 vertical-domain packs. Every addition was mirrored across all 7 ports and re-verified.
  • Cross-language determinism + port bugs fixed by the test pass: FP contraction in C (-ffp-contract=off), tags: regex backtracking in Python, CalDAV ICS date parsing in Kotlin, a biosignals aggregator task-group race in Swift, async-subscriber handling in TypeScript, and serde/fixture mismatches in Rust. All ports converged on round-half-to-even for Math.Round byte-parity.

Verified green

C# (15 projects incl. StubGuardTests), Go, Rust (1,396), Python (2,276), TypeScript (1,413), Kotlin (1,447), Swift (2,140), C (130).

NuGet (GitHub Packages)

CircleAI.Security, CircleAI.Orchestration, CircleAI.Simulation @ 3.4.0.

See CHANGELOG.md for the full entry.

CircleAI 3.3.0 — HER/JARVIS parity

Choose a tag to compare

@bhengubv bhengubv released this 25 Jun 09:28

[3.3.0] — 2026-06-25 — HER / JARVIS parity — always-on, world-aware, embodied, learns-you, reasoner

Closes the gap between the 3.2.0 substrate ("real backends for 24 HER/Jarvis
contracts") and a companion that actually behaves like HER / JARVIS: always
listens, sees what you see, knows your day, controls your home, learns your
voice over years, and reaches you across devices. 28 deliverables across
5 phases (A=always-on, B=world-aware, C=embodied, D=learns-you, E=reasoner)
landed against existing HER/Jarvis interfaces — no new contract surfaces
introduced.

Added — Phase A · Always-on persona

  • CircleAI.Voice.KwsWakeWordDetector — low-latency ONNX keyword-spotter
    on a sliding 1 s window every 100 ms. Replaces the ASR-based
    EnergyWakeWordDetector for production wake-on-"Hey B". Mel-spectrogram
    feature extraction (Hamming + DFT + mel filterbank) or raw-waveform input,
    configurable threshold + cooldown.
  • CircleAI.Maui.AlwaysOnService — IHostedService per platform:
    Android sticky ForegroundService with microphone type +
    circleai-always-on notification channel; iOS AVAudioSession
    PlayAndRecord with MixWithOthers + AllowBluetooth +
    interruption observer.
  • CircleAI.Memory.Sync.CompanionConversationSyncBridge —
    ConversationStateDelta (session id, partial transcript, in-flight turn
    flag, timestamps) cross-device via the existing SyncableEntry pipeline.
    Move a call phone → laptop mid-stream.
  • End-to-end episodic pipeline wired in CompanionSession: every
    user/assistant turn is jointly embedded via ITextEmbedder before
    EpisodicMemory.RecordAsync so LoadRecentMemoriesAsync can do
    embedding-based recall.

Added — Phase B · World-aware

  • CircleAI.Integration — base contracts: ICalendarConnector,
    IEmailConnector, INewsSource, IWeatherProvider, IRoutingProvider,
    IHomeAutomationConnector.
  • CircleAI.Integration.Calendar — Google Calendar v3 (OAuth),
    Microsoft Graph v1.0, generic CalDAV (REPORT verb + ICS parser).
  • CircleAI.Integration.Email — IMAP (MailKit), Gmail API v1
    (base64url), Microsoft Graph mail.
  • CircleAI.Integration.News — RSS 2.0 + Atom 1.0 dual parser,
    NewsAPI / GNews, Bluesky AT-proto searchPosts, Mastodon public /
    hashtag timeline.
  • CircleAI.Integration.Geo — Open-Meteo current + hourly with full
    WMO weather-code decoder; OSRM driving/bike/foot routing with polyline.
  • CircleAI.Companion.ProactiveBriefingService — IHostedService
    with a configurable fire-times schedule that pulls calendar + email +
    news + weather, runs an LLM summary, and dispatches via
    IBriefingNotifier. Internal TimeUntilNextFire helper.

Added — Phase C · Embodied

  • CircleAI.Integration.HomeAssistant.HomeAssistantConnector — REST
    bridge over /api/states + /api/services/{domain}/{service} POST
    with a Long-Lived Access Token. TurnOnAsync / TurnOffAsync
    convenience surface.
  • CircleAI.Vision.IVideoCapture + CircleAI.Maui.MauiCameraCapture —
    platform-conditional camera capture mirroring MauiAudioCapture:
    Android Camera2 with ImageReader + Y-plane extraction, iOS
    AVCaptureSession with VideoDataOutput delegate, Windows
    MediaCapture with MediaFrameReader + SoftwareBitmap → JPEG.
    BoundedChannel-backed FrameQueue for cross-thread frame hand-off.
  • CircleAI.Vision.OnnxFaceDetector / OnnxFaceEmbedder /
    OnnxPlateRecognizer
    — YOLO-family face detection with letterbox +
    NMS, ArcFace 112×112 BGR mean-subtracted 512-D embedder (L2 normalised),
    plate-region detector. SixLabors.ImageSharp for cross-platform decode.
  • CircleAI.Maui.HealthBoardBridge — IHostedService that polls
    Android Health Connect (ContentResolver fallback) or iOS HealthKit
    (HKHealthStore) and records into IWearableBoard.
  • CircleAI.Maui.LocationBridge — Android LocationManager
    (GpsProvider preferred) / iOS CLLocationManager with
    RequestWhenInUseAuthorization, feeds IChildSafetyBoard.RecordCheckIn.

Added — Phase D · Learns you

  • native/mnn-bridge 1.4.0 — adds mnn_llm_train_lora_step +
    mnn_llm_save_lora C ABI surface. Implementation is gated by
    #ifdef MNN_BUILD_TRAIN; when MNN is built without the training
    subsystem (the upstream binary release), both functions return the new
    MNNBRIDGE_ERR_TRAINING_DISABLED (-12). Bundled libmnnbridge.dylib
    for osx-arm64 (built on the Mac with brew cmake + Xcode 26 / AppleClang
    17, linked against the macOS framework).
  • CircleAI.Inference.LoRAAdapterManager.TrainStep / SaveAdapter —
    managed P/Invoke for the new native surface. NotSupportedException
    with the explicit "rebuild MNN with -DMNN_BUILD_TRAIN=ON" guidance
    when -12 returns.
  • CircleAI.Inference.FeedbackTrainingQueue — line-delimited JSON
    file-backed queue (TrainingSample records) with atomic drain.
  • CircleAI.Inference.NightlyAdapterTrainer — IHostedService
    with NightlyAdapterTrainerOptions (MinBatchSize,
    MaxSamplesPerRun, LearningRate, LoRARank, AdapterPath,
    Interval, ShouldFireNow, Tokenizer). Drains the queue, runs
    TrainStep per sample, atomically SaveAdapter + Apply. Char-level
    fallback tokenizer. Re-queues on training-disabled.
  • CircleAI.Memory.Sync.LoraAdapterSyncBridge — base64-encoded
    adapter bytes propagate across devices as LoraAdapterSnapshot
    syncable entries.

Added — Phase E · Reasoner

  • CircleAI.Companion.ReasoningLoopInnerMonologue — real o1 /
    DeepSeek-R1 style inner monologue using
    IChatGenerator.StreamFragmentsAsync with IncludeReasoning = true.
    Captures Reasoning-kind fragments as the thought; Content
    fragments form the visible answer. Replaces TemplateInnerMonologue.
  • CircleAI.Companion.SqliteKnowledgeGraph +
    LlmKnowledgeGraphExtractor
    — kg_nodes + kg_triples SQLite
    triple store with indexes; LLM-driven entity / relation extractor with
    JSON-strict prompt + defensive bracket-finding parser. Replaces
    AdjacencyPersonalKnowledgeGraph.
  • CircleAI.Companion.SqliteHippoRagStore — real
    Personalised PageRank walk over the personal KG (damping 0.85, 32
    iterations) seeded from query terms. Multi-hop recall returns top-K
    nodes as MemoryHit with PR mass as score.
  • CircleAI.Companion.BayesianWorldModel — online-learning Naive
    Bayes classifier over (observations → outcome) pairs with Laplace
    smoothing. Softmax-normalised posteriors. Replaces
    FrequencyWorldModel.
  • CircleAI.Companion.SequencePredictiveEngine — variable-order
    (default 3-gram) Markov chain over the user's event timeline with
    back-off weighting and per-event inter-arrival forecasting. Replaces
    the slot-of-week HistogramPredictiveEngine.
  • CircleAI.Voice.OnnxSpeakerIdentity +
    CircleAI.Companion.OnnxSpeakerIdentityAdapter
    — ECAPA-TDNN-style
    speaker embedder (log-mel or raw waveform input) with JSON
    enrollment store, running-mean centroid update, cosine-similarity
    match. Replaces the MFCC EnergyBandVoiceIdentity.
  • CircleAI.Voice.OnnxSpeechEmotionDetector +
    CircleAI.Companion.OnnxSpeechEmotionSensor
    — wav2vec2-style speech
    emotion ONNX with Russell-circumplex arousal / valence mapping per
    label. Plugs into IEmotionSensor via a base64-audio key in the
    fused-signal JSON.
  • CircleAI.SelfBench — new project: BenchTask / BenchResult /
    BenchSummary records, BuiltInScorers (exact / substring / regex /
    numeric-tolerance), BenchRunner, AbBenchRunner with
    RegressionGateConfig (mean-score threshold, p95 latency cap,
    critical-task regression cap), BenchSuiteRegistry with a built-in
    10-task default suite (math, factual, format, refusal, reasoning).
  • CircleAI.Companion.SelfBenchSelfImprovementLoop — implements
    ISelfImprovementLoop by orchestrating SelfBench: baseline vs
    candidate IAIService, regression-gated promotion.

Changed

  • Version-aligned every 3.x runtime package from 3.2.0 → 3.3.0 (49
    packages), seven new packages join the runtime tier at 3.3.0
    (CircleAI.Integration, …Calendar, …Email, …News, …Geo,
    …HomeAssistant, CircleAI.SelfBench). Touched 1.x packages bumped
    one minor: CircleAI.Companion 1.2.0 → 1.3.0,
    CircleAI.Voice 1.2.0 → 1.3.0, CircleAI.Memory 1.3.0 → 1.4.0.
  • native/mnn-bridge/CMakeLists.txt — macOS framework search path
    (-F${MNN_FRAMEWORK_PARENT}) so <MNN/...> includes inside
    MNN.framework headers resolve via the framework name; needed because
    MNN/expr/Expr.hpp is referenced from MNN's own llm/llm.hpp and
    the bundle's Headers directory has no MNN/ subfolder.

Fixed

  • CircleAI.Voice.KwsWakeWordDetector — ReadOnlyMemory<byte>.AsSpan(...)
    doesn't exist; replaced with .Span.Slice(...).
  • CircleAI.Inference.csproj — added
    Microsoft.Extensions.Hosting.Abstractions +
    Microsoft.Extensions.Logging.Abstractions (required by
    NightlyAdapterTrainer : IHostedService).
  • CircleAI.Maui.MauiCameraCapture — Android.Media.ImageFormatType
    doesn't exist; corrected to Android.Graphics.ImageFormatType.

Build verification

  • CircleAI.Companion (net9.0) — green; transitively builds
    Core / Memory / Embeddings / Integration / Domain / Identity / Sync / Languages / Voice / Tools / Hosting / Networking / Inference / SelfBench.
  • All five CircleAI.Maui TFMs — net9.0, net10.0,
    net10.0-android, net10.0-ios, net10.0-maccatalyst,
    net10.0-windows10.0.19041.0 — green.
  • CircleAI.Integration.{Calendar,Email,News,Geo,HomeAssistant} +
    CircleAI.Vision — green.
  • Native libmnnbridge.dylib (osx-arm64) — built on Mac
    (Xcode 26 / AppleClang 17), linked against MNN.framework, copied
    into src/CircleAI.Inference/runtimes/osx-arm64/native/ alongside
    the staged libMNN.dylib (15.7 MB).

CircleAI 3.2.0 — HER / Jarvis lift, companion substrate

Choose a tag to compare

@bhengubv bhengubv released this 22 Jun 14:10

Summary

Seven new packages port working backends from CircleUp + Concierge into the CircleAI substrate so any consumer can light up a HER- / Jarvis-class companion experience without re-deriving the protocol scaffolding.

New packages (all 3.2.0)

  • CircleAI.Companion.Proactive — generic proactive scheduler (5-field cron + IProactiveTaskSource / IProactiveTaskRunner / IProactiveScheduler + IHostedService). 20 tests.
  • CircleAI.Hosting.CloudFallback — OpenAI / Anthropic / Gemini IChatGenerator with SSE streaming + fail-soft + composite CloudFallbackChain. 11 tests.
  • CircleAI.Speech.Cloud — OpenAI Whisper ISpeechRecognizer (WAV-envelope-wraps PCM input) + OpenAI TTS ISpeechSynthesizer (response_format=pcm honours AudioPcm16Mono contract) + generic regex KeywordVoiceIntentRouter. 14 tests.
  • CircleAI.Vision.Cloud — new IImageGenerator contract (the existing CircleAI.Vision is detection-only) + DALL-E + Stability AI + ImageGeneratorFallbackChain. 13 tests.
  • CircleAI.Plugins — per-plugin collectible AssemblyLoadContext, JSON PluginRegistry, PluginMarketplace, hot-reload PluginLifecycleService, declarative permission gating via PermissionedPluginContext. 18 tests.
  • CircleAI.Hosting.Mcp — MCP (Model Context Protocol) JSON-RPC 2.0 endpoint. DI-driven IMcpTool + IMcpResourceProvider. Single + batch requests. Pure-DI DispatchAsync makes it testable without ASP.NET Core. 15 tests.
  • CircleAI.Hosting.Multiplayer — SignalR MultiplayerHub — per-document rooms, last-writer-wins by rev, live cursor positions, presence. Identity via IMultiplayerPeerIdentity (default: GuestPeerIdentity). 9 tests.

Changed

  • Version-aligned every 3.x package from 3.1.0 → 3.2.0 (50 packages total).
  • Fixed a latent DI bug in CircleAI.Hosting.CloudFallback.ServiceCollectionExtensions: the options factory was being registered as Func<IServiceProvider, T> instead of T, so Add*ChatGenerator calls would have failed at resolution time. Same pattern applied to Speech.Cloud and Vision.Cloud.

Tests

100 new Circle32* tests pass on both net9.0 and net10.0.

Compatibility

No breaking changes. New surfaces are additive — every new package ships contracts + null + real backends, fail-soft when credentials are absent.

CircleAI 3.1.0 — Video pillar foundation

Choose a tag to compare

@bhengubv bhengubv released this 20 Jun 15:48

New CircleAI.Video contract package + the device-fit gates that make the BestFit selector aware of GPU memory. Real backends (CogVideoX-2B, LTX-Video distilled-2B) ship in 3.1.x as ONNX→MNN conversion completes.

Driving use case — txtMe Video Mail

Sender video-calls, no answer, types a message. Recipient's on-device B! (where capable) renders the message as a short styled video — public-domain or original-character voice — and plays it back. On phones that can't honour the GPU budget, the toggle is hidden. On phones with a desktop peer reachable over AetherNet, the work is offloaded via the RT-12 v2 cross-tier path that shipped in 2.7.0.

New package — CircleAI.Video

Three interfaces:

  • IVideoGenerator — text + style + reference frame + audio → short video (mp4)
  • IStyleScript — rewrite the user's message in the chosen style's voice (uses the existing IChatGenerator; no new model)
  • IStyleReference — registry of registered styles for the picker UI

Plus NullVideoGenerator, NullStyleScript, and InMemoryStyleReference (genuinely production-suitable).

New surface in existing packages

  • CircleAI.Inference — ChatCapability.Video = 1 << 5
  • CircleAI.Core — ModelEntry.MinVramGb + DeviceProbe.VramGb (both nullable)
  • DeviceProbe.Snapshot(vramGbOverride: ...) — platform adapters wire VRAM in one line

Real backends — shipping in 3.1.x

  • CogVideoX-2B (THUDM / Zhipu AI) — 2B params, 6-second clips at 720×480, INT8/FP8 quantisable, lives on ModelScope, Apache-2.0 compatible. Same Chinese-sovereign family as Qwen/MNN.
  • LTX-Video distilled-2B (Lightricks) — faster on the same hardware, image-to-video mode built-in.

Versions

All 43 packages bumped to 3.1.0 (the 42 from the 3.0.1 line + the new CircleAI.Video). All net9.0;net10.0.

Tests

13 new contract-surface tests in tests/CircleAI.Tests/Circle31ContractTests.cs. Full suite: 1394 net9.0 pass, 1393/1394 net10.0 (pre-existing HttpListener environmental flake, unrelated to 3.1.0).

Why the gate matters

CogVideoX-2B needs ~6 GB VRAM quantised. A phone has 2-8 GB system RAM total. The MinVramGb gate is what makes the difference between "feature is hidden on this device" and "feature crashes on first tap." Same pattern as MinRamGb did for the text models — different memory axis.

See CHANGELOG.md for the full entry.

CircleAI 3.0.1 — Naming cleanup (MediaHub, ContentPolicy)

Choose a tag to compare

@bhengubv bhengubv released this 17 Jun 15:30

Renames + metadata cleanup over 3.0.0:

  • CircleAI.MediaServer -> CircleAI.MediaHub (Plex + beatsync media-server contracts)
  • CircleAI.Guardrails -> CircleAI.ContentPolicy (Sponsio refusal / audit / injection contracts)

Both old names existed only as workarounds for the v1.2.0 CircleAI.Media and CircleAI.Safety domain-pack collisions. The 3.0.0 entries stay on nuget.org (API key scope is push-only) but nothing newer ships under those IDs. New consumers: dotnet add package CircleAI.MediaHub, dotnet add package CircleAI.ContentPolicy.

All 41 packages at 3.0.1. Description-prefix drift normalized.

🤖 Generated with Claude Code

CircleAI 3.0.0 — The contingency runtime

Choose a tag to compare

@bhengubv bhengubv released this 17 Jun 12:10

The strategic 3.0.0 release. Five new packages close the loop on the doctrine: if Claude Code / Codex / Cursor get banned, CircleAI is what we have left.

  • CircleAI.Research (the_well + UnifiedFieldTheory + arxiv)
  • CircleAI.Games (flame + Doom.Mobile)
  • CircleAI.AutonomousBiz (show-me-the-money pattern)
  • CircleAI.CodeUnderstanding (Understand-Anything pattern)
  • CircleAI.DevTools — the cornerstone: ICodeEditor + IInlineSuggester + IAgentShell + IPatchPlanner + IRefactorTool. The contract surface a Geek-Network IDE / agent shell binds to.

All 41 packages at 3.0.0. 174 total contract-surface tests across the 2.x → 3.0 line. Pure-additive over 2.9.0; no breaking changes for upgrading consumers. The SemVer major bump signals the doctrine shift from 'mobile runtime' to 'complete sovereign AI stack.'

🤖 Generated with Claude Code

CircleAI 2.9.0 — DevOps + build-farm — FINAL 2.x release

Choose a tag to compare

@bhengubv bhengubv released this 17 Jun 12:04

The final 2.x release. Eight new packages: BuildFarm / DepBot / DocAnalytics / Testing / Distribution / MediaServer / WindowsAutomation / MicroAgents. All fail-closed Null impls.

36 packages total across 2.0 → 2.9. CircleAI 2.x is feature-complete as the Western-dev-tools contingency runtime. The contract surface is stable; real backends land in 2.x.1 dot-releases.

🤖 Generated with Claude Code

CircleAI 2.8.0 — Server domain packs

Choose a tag to compare

@bhengubv bhengubv released this 17 Jun 11:58

Seven new domain packs bring CircleAI into line-of-business stacks: Banking / Markets / Pipelines / Workflows / Visualization / Collaboration / CRM. All fail-closed Null impls. All 28 packages at 2.8.0. 14 new contract tests.

🤖 Generated with Claude Code

CircleAI 2.7.0 — Server-farm tier

Choose a tag to compare

@bhengubv bhengubv released this 17 Jun 11:53

Four new packages: CircleAI.Inference.Server.Enterprise (multi-tenant routing + batch + sharding + RT-12 v2 cross-tier offload), CircleAI.Observability (OTel + Prometheus + Grafana), CircleAI.Operator (kagent k8s pattern), CircleAI.SDD (spec-kit pattern-port). All fail-safe Null impls. All 21 packages at 2.7.0. 12 new contract tests.

🤖 Generated with Claude Code