You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(oracle): UI v3 — split the 4,181-line oracle.html monolith into a concat bundle
oracle.html was the pre-refactor hub.html pattern: one file, ~780 lines of
CSS + ~400 lines of markup + a 2,967-line inline script. Following the hub
v2 concat architecture: new oracle_ui.html shell (CSS + markup +
__C3_ORACLE_SCRIPTS__ token) + 18 oracle/ui/ modules split at section
banners (core, busy, theme_tabs, crossgraph, header, projects, insights,
activity, suggestions, settings, agents, chat/{markdown,conversations,
stream_renderer,toolbar,input,send}, app.js LAST — the init IIFE).
_ORACLE_JS_FILES + _build_oracle_html() concatenate server-side with
per-file markers; / serves the cached bundle, /legacy serves the frozen
monolith for one release (both issue the dashboard session cookie).
Extraction is VERBATIM: a splitter script cut exact line ranges with a
tiling assertion (no gaps/overlaps), and a multiset diff proved the bundle
differs from the original script by only the intentional ORACLE_BUILD_TIME
bump. Whole-bundle esbuild parse clean. Deliberate deviation from the Wave-3
plan: no React/babel runtime — the logic is 100%% vanilla imperative and the
transferable hub pattern is the file structure + build pipeline, not the
framework; wrapping unowned vanilla code in React would add a CDN/transpile
failure surface for zero owned UI.
Also: pyproject package-data globs for oracle/ui + oracle/ui/chat (the '*'
top-level-only gotcha), and a new 'c3 oracle serve|start' subcommand (lazy
import, mirrors cmd_hub) so the server no longer requires the python entry
point. New tests/test_oracle_ui_bundle.py; wheel inspection confirms all 18
modules + shell + legacy ship.
* docs(oracle): oracle-guide caught up a full product generation; CHANGELOG v2.49.0
The guide documented the original memory/insight Oracle but none of what it
became: architecture.md gains Chat subsystem (tool loop, native-vs-text
protocol, full SSE event vocabulary), C3Bridge, Federated graph, and
Security model sections, all 17 services listed, stale line counts fixed,
Web UI section rewritten for the 8-tab concat bundle. api-reference.md adds
the /api/apikey, /api/chat, /api/graph/federated, /api/insights/cross and
/api/activity/digest/latest families plus the v2.47.0 write-gate auth note
and fixed /api/health payload. configuration.md now covers all 30 DEFAULTS
keys incl. the agents roster shape with the backend field. README leads
with c3 oracle serve. discovery-api.md lists c3_project/c3_artifacts, the
scope param, and delegate_task's project_path. changelog.md gains v1.3.0
(C3 v2.47.0-v2.48.0), v1.4.0 (C3 v2.49.0), and an honest 'previously
undocumented' block for the v2.32-v2.38 era features. AGENTS.md tree
updated; root CHANGELOG gains the v2.49.0 Wave 3 entry.
@@ -23,6 +26,10 @@ Open `http://localhost:3331` in your browser.
23
26
-**Ollama cloud**: Uses `https://ollama.com` with Bearer token auth by default. Can also target a local Ollama instance.
24
27
-**Hub-aware**: Discovers projects through the C3 hub API or falls back to reading `~/.c3/projects.json` directly.
25
28
-**Read + suggest-write**: Oracle reads project memory freely. Writes to project `.c3/facts/` require explicit user approval in the UI.
29
+
-**Interactive chat**: a Chat tab (the default view) streams conversations with Oracle over SSE, with a tool-calling loop over the same tool registry the Discovery API exposes — native Ollama tool calling where the model supports it, text-protocol fallback otherwise.
30
+
-**Team / Agents**: a configurable roster of specialist agents (Architect, Code Explorer, Memory Analyst by default) that chat can delegate sub-tasks to via `delegate_task`. Agents run on Ollama or, per-agent, on a CLI backend (codex/gemini/claude/auto) in read-only mode.
31
+
-**Federated graph**: a Cross-Graph tab visualizes one memory graph across all projects, with embedding/TF-IDF similarity edges linking related facts between projects.
32
+
-**Scheduled digest**: opt-in (`digest_enabled`) daily cross-project activity digest written by the background review loop and served at `/api/activity/digest/latest`.
26
33
-**Discovery API (v2.32.0)**: External LLMs (Claude Code/Desktop or any function-calling model) can use Oracle's tools over MCP (`:3332/mcp`) and OpenAPI REST (`/api/discovery`) — Bearer-auth'd, loopback-bound, read + safe-action tiers only. See [Discovery API](discovery-api.md).
27
34
-**Cross-project memory**: Maintains a global insight store (`~/.c3/oracle/cross_memory.json`) linking patterns, risks, and opportunities across projects.
28
35
-**Background review**: A daemon thread periodically scans projects for changes, runs health checks, and generates consolidation suggestions.
0 commit comments