From c15cf802069b70b541682425744bf2a355e27da4 Mon Sep 17 00:00:00 2001 From: Julien CHABLE Date: Sun, 6 Sep 2026 20:48:13 +0200 Subject: [PATCH] docs: drop the okf serve promise, #40's live server is abandoned The live-server half of #40 is dropped: interactive, always-fresh viewing is being pursued as the VS Code extension already on the roadmap, which reaches the same goal from inside the editor without a local HTTP server -- and reaches full-text search by the same route, since an extension host is a process that can call the .NET side rather than mirroring ConceptSearch's weights in JavaScript. What the server would have added over okf-render alone was one saved command invocation per edit. Search was the only capability that genuinely required it, and the extension gets that too. Four places promised `okf serve` or an open live-server half and would have outlived the decision: ROADMAP's viewer entry, the VS Code entry's cross-reference to it, CHANGELOG's unreleased okf-render bullet, README's render section, and CLAUDE.md's viewer architecture bullet. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 5 +++-- CLAUDE.md | 2 +- README.md | 7 +++++-- ROADMAP.md | 17 ++++++++++++----- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fc39f6b..e7e01d68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,8 +78,9 @@ and this project adheres to in general (see `CLAUDE.md`). GFM task list items survive sanitization as real `` elements with correct checked state, so a screen reader announces them as checkboxes rather than as - decorative text. No full-text search yet — that lands with the planned - `okf serve` companion. (This started life as `okf`'s `render` verb; it + decorative text. No full-text search: a static site has no server to run + the shared `ConceptSearch` scorer, and mirroring its weights in JavaScript + would fork it. (This started life as `okf`'s `render` verb; it moved to its own binary before ever shipping in a release, so there is no deprecated verb or shim to call out here.) - **A `sources[]` entry can now carry its own `usage_window` override diff --git a/CLAUDE.md b/CLAUDE.md index 5b06ada4..91028a3b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,7 +44,7 @@ Requires .NET SDK 10.0+. CI (ci.yml) runs build+test on Linux/Windows/macOS, `do - **`src/OKF4net.Agents/`** — Microsoft Agent Framework layer exposing OKF bundle operations as function tools (e.g. `OkfBundleTools`) plus `OkfContextProvider`, an `AIContextProvider` that auto-injects budget-bounded bundle context and captures deterministic per-day memory concepts; the only project depending on `Microsoft.Agents.AI`. - **`src/OKF4net.Catalog/`** — knowledge-catalog model and logic, referencing only `OKF4net` (BCL otherwise; zero `PackageReference`). Depended on by `OKF4net.Catalog.Hosting`. Each manifest source carries a `role` (`SourceRole`): `Knowledge` (read-only, searched by `IKnowledgeResolver`) or `Memory` (writable, scoped by a required `tier` — `session`/`user`/`tenant`, all three backed by `FileMemoryStore`, fed by `IMemoryStore`, never searched by the resolver); any other `role` string in `catalog.json` is rejected (`CatalogDiagnosticCode.IllegalRole`). - **`src/OKF4net.Catalog.Hosting/`** — host-integration layer for the catalog, referencing only `OKF4net.Catalog`. This is the sole project allowed a `Microsoft.Extensions.*` package (`Microsoft.Extensions.DependencyInjection.Abstractions`) — an explicit, narrowly-scoped exception to the zero-dependency rule so catalog sources can register with a host's `IServiceCollection`; the core dependency graph (`OKF4net.Catalog` → `OKF4net`) stays zero-dependency and acyclic. -- **`src/OKF4net.Viewer/`** — static HTML site generation for a bundle, referencing only `OKF4net` (BCL otherwise; zero `PackageReference`). Backs the `okf-render` binary (`src/OKF4net.Render/`), not `okf` itself. Three units: `SiteModel` (pure `Bundle` → display-model projection), `HtmlWriter` (the only I/O), `ViewerAssets` (embedded CSS/JS). Markdown is rendered **client-side** by a vendored copy of marked (MIT, v15.0.12, credited in `NOTICE`) — the generated page carries its raw markdown plus a link-rewiring table as an HTML-safe JSON payload, escaped by `HtmlSafeJson` so untrusted bundle content cannot break out of the `