Feat v0.6.5 renderer pipeline (#40)
All checks were successful
All checks were successful
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #40.
This commit is contained in:
85
CHANGELOG.md
85
CHANGELOG.md
@@ -2,6 +2,62 @@
|
||||
|
||||
All notable changes to Switchboard Core are documented here.
|
||||
|
||||
## v0.6.5 — Renderer Pipeline + Docs Rewrite
|
||||
|
||||
Lifts block rendering to a kernel SDK primitive so all surfaces share one
|
||||
markdown pipeline. Rewrites docs for external audience. Adds CONTRIBUTING
|
||||
guide and extension tutorial.
|
||||
|
||||
### Added
|
||||
|
||||
- **`sw.renderers` SDK module**: Kernel-level renderer registry. Extensions
|
||||
register block renderers (fenced code blocks) and post renderers (DOM
|
||||
post-processing) once; all surfaces consume via `sw.markdown`.
|
||||
- **`sw.markdown` SDK module**: Unified markdown rendering via `marked` v16
|
||||
(vendored). Lazy-loads `marked` + DOMPurify. Custom code hook delegates
|
||||
fenced blocks to `sw.renderers`. Wikilink tokenizer (`[[Page Name]]`)
|
||||
built in for all surfaces.
|
||||
- **Browser extension script loader**: Server injects `<script>` tags for
|
||||
enabled browser-tier extensions into all pages. Extensions register via
|
||||
`sw:ready` event.
|
||||
- **Chat markdown support**: Messages with `content_type: 'markdown'` render
|
||||
via `sw.markdown`. Existing `text` messages stay plain (no behavior change).
|
||||
- **Mermaid architecture diagrams**: Six diagrams in `docs/ARCHITECTURE.md`:
|
||||
system overview, request flow, extension lifecycle, realtime events,
|
||||
settings cascade, cluster topology.
|
||||
- **`CONTRIBUTING.md`**: Development setup, project structure, test commands,
|
||||
code conventions.
|
||||
- **`docs/TUTORIAL-FIRST-EXTENSION.md`**: Step-by-step guide to building and
|
||||
installing a browser extension.
|
||||
- **`docs/DESIGN-WORKFLOWS.md`**: Clean workflow system design document.
|
||||
- **13 new renderers tests** (`src/js/__tests__/renderers.test.js`).
|
||||
|
||||
### Changed
|
||||
|
||||
- **Notes surface**: Hand-rolled markdown renderer replaced with
|
||||
`sw.markdown.renderSync()`. Post-renderers (mermaid, katex, etc.) now
|
||||
execute on preview. ~90 lines deleted.
|
||||
- **Docs surface**: Hand-rolled markdown renderer replaced with
|
||||
`sw.markdown.renderSync()`. ~160 lines deleted.
|
||||
- **4 renderer extensions** (mermaid, katex, csv-table, diff-viewer):
|
||||
Rewritten from dead `Extensions.register()` pattern to IIFE +
|
||||
`sw.renderers.register()` via `sw:ready` event. All rendering logic
|
||||
preserved.
|
||||
- **Surface alias routes removed**: Six `/api/v1/admin/surfaces/*` backward
|
||||
compat routes deleted from `main.go`. SDK and ICD runner migrated to
|
||||
canonical `/api/v1/admin/packages/*` endpoints.
|
||||
- **Docs rewritten for external audience**: All references to fork history,
|
||||
internal codenames, and pre-fork version numbers removed from docs,
|
||||
CHANGELOG, and ROADMAP.
|
||||
|
||||
### Removed
|
||||
|
||||
- `docs/DESIGN-WORKFLOW-REDESIGN-0.2.6.md` — replaced by `DESIGN-WORKFLOWS.md`.
|
||||
- Hand-rolled markdown renderers in Notes and Docs surfaces.
|
||||
- Six `/admin/surfaces/*` API alias routes.
|
||||
|
||||
---
|
||||
|
||||
## v0.6.4 — Admin Health/Metrics Tab + Cluster Merge
|
||||
|
||||
Structural consolidation: cluster dashboard merges into Admin as a Health tab.
|
||||
@@ -48,7 +104,7 @@ Comprehensive metrics endpoint for runtime, DB, cluster, and extension stats.
|
||||
|
||||
## v0.6.3 — Dead Code Sweep + Registry Fix
|
||||
|
||||
Pre-fork hardening: fix broken registry install, add registry settings UI,
|
||||
Hardening: fix broken registry install, add registry settings UI,
|
||||
clean up dead code, narrow default bundle.
|
||||
|
||||
### Fixed
|
||||
@@ -74,10 +130,10 @@ clean up dead code, narrow default bundle.
|
||||
unused vendor copies with zero production imports. Removed cache entries
|
||||
from `sw.js`.
|
||||
- **`dev.html`**: 676-line standalone dev gallery, not referenced by anything.
|
||||
- **Pre-fork version comments**: Stripped all chat-switchboard version
|
||||
annotations across ~140 files — standalone comments, inline suffixes,
|
||||
section headers, and config field docs. Reworded to describe features
|
||||
rather than reference pre-fork version numbers.
|
||||
- **Stale version comments**: Stripped legacy version annotations across
|
||||
~140 files — standalone comments, inline suffixes, section headers, and
|
||||
config field docs. Reworded to describe features rather than reference
|
||||
obsolete internal version numbers.
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -1040,8 +1096,8 @@ Indexes on `folder_id`, `creator_id`, `pinned`, `updated_at`.
|
||||
- **Dead `history_mode` in stage UI**: Removed history mode selector and state
|
||||
from StageForm. Backend column retained for v0.3.x schema migration.
|
||||
- **Dead ICD tests**: Removed assertions for `/teams/:teamId/personas`,
|
||||
`/teams/:teamId/providers`, and `/teams/:teamId/models` — endpoints were
|
||||
removed in Phase 0 fork.
|
||||
`/teams/:teamId/providers`, and `/teams/:teamId/models` — endpoints no
|
||||
longer exist in the kernel.
|
||||
- **Stale `chat_only` stage mode**: Frontend `STAGE_MODES` updated from
|
||||
`['chat_only', 'form_only', 'form_chat', 'review']` to
|
||||
`['form_only', 'form_chat', 'review', 'custom']` matching the backend
|
||||
@@ -1135,13 +1191,13 @@ Indexes on `folder_id`, `creator_id`, `pinned`, `updated_at`.
|
||||
(v0.2.7 admin, v0.2.8 user, v0.2.9 team-admin pass 1).
|
||||
- Updated bus doc examples and test labels from `chat.*` to `workflow.*`.
|
||||
- Renamed `channel-` prefixed test paths to `test-` in storage tests.
|
||||
- Updated doc comments throughout to remove references to gutted surfaces.
|
||||
- Updated doc comments throughout to reflect current surface architecture.
|
||||
|
||||
### Removed
|
||||
|
||||
- **~500 lines of dead CSS**: Orphaned classes for gutted chat, channel,
|
||||
project, notes, editor-chat, sidebar, and router-picker features from
|
||||
`layout.css` and `surfaces.css`.
|
||||
- **~500 lines of dead CSS**: Orphaned classes for removed legacy UI
|
||||
components (chat, channel, project, notes, editor-chat, sidebar,
|
||||
router-picker) from `layout.css` and `surfaces.css`.
|
||||
- **Dead Go types**: `Grant` struct (persona-era), `CompositeModelKey` func,
|
||||
comment-only stubs for NoteGraph, ProjectChannel, etc.
|
||||
- **Dead event code**: `chat.typing.*` / `channel.typing.*` condition in WS
|
||||
@@ -1177,7 +1233,7 @@ Indexes on `folder_id`, `creator_id`, `pinned`, `updated_at`.
|
||||
### Changed
|
||||
|
||||
- **UserMenu**: Surface list now driven entirely by the `/api/v1/surfaces`
|
||||
API. Removed hardcoded Chat, Notes, Projects links (gutted in Phase 0).
|
||||
API. Removed hardcoded surface links; menu is now fully dynamic.
|
||||
Core surfaces (Admin, Settings, Team Admin, Workflow) filtered from the
|
||||
API list and handled as dedicated menu items with RBAC gating.
|
||||
- **Tasks surface**: Replaced custom `.tasks-header` with `sw.shell.Topbar`.
|
||||
@@ -1328,7 +1384,8 @@ Indexes on `folder_id`, `creator_id`, `pinned`, `updated_at`.
|
||||
|
||||
## [v0.1.0] — 2026-03-26
|
||||
|
||||
Forked from chat-switchboard v0.38.5. Gutted to a pure extension platform.
|
||||
Initial release. Pure extension platform — kernel provides auth, RBAC,
|
||||
storage, and the Starlark sandbox. Everything else is a package.
|
||||
|
||||
### Removed
|
||||
|
||||
@@ -1364,7 +1421,7 @@ Forked from chat-switchboard v0.38.5. Gutted to a pure extension platform.
|
||||
|
||||
### Changed
|
||||
|
||||
- Module renamed: `chat-switchboard` → `switchboard-core`
|
||||
- Go module: `switchboard-core`
|
||||
- VERSION: `0.1.0`
|
||||
- Default DB name: `switchboard_core`
|
||||
- Fresh migrations: 9 files × 2 dialects (postgres + sqlite), 27 tables
|
||||
|
||||
Reference in New Issue
Block a user