This repository has been archived on 2026-04-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
core/README.md
Jeffrey Smith 7b6e54d5b7 step 5 (complete): docs purge, fresh ARCHITECTURE + ROADMAP + CHANGELOG
Purged 29,966 lines of stale chat-switchboard documentation:
  - 41 docs/ files (ICD specs, design docs, archive, workflow docs)
  - 5 root MD files (CHANGESET, TURNOVER, ICD-DRIFT-AUDIT, etc.)

New documentation:
  - docs/ARCHITECTURE.md — kernel components, design principles, data layer
  - ROADMAP.md — v0.1.0 through v0.5.0 MVP with decision log
  - CHANGELOG.md — fresh, starting from v0.1.0 fork
  - README.md — rewritten for switchboard-core

Also in this commit:
  - config.go: stripped 7 dropped fields, DB default → switchboard_core
  - pages/loaders.go: stripped provider/model/notes/projects loaders
  - pages/pages.go: stripped persona store lookup
  - handlers/workflows.go: stripped persona tool grants
  - main.go: stripped team provider routes, avatar routes

Production code: zero references to deleted packages, stores, or models.
-29,966/+352 lines across 73 files.
2026-03-26 05:10:40 -04:00

59 lines
2.1 KiB
Markdown

# Switchboard Core
A self-hosted extension platform. Identity, teams, permissions, workflows,
and a package system. Everything else ships as installable extensions.
## What This Is
Switchboard Core is the kernel. It provides the primitives that extensions
build on: users, teams, groups, scoped credentials, a Starlark sandbox,
workflow orchestration, notifications, and a package installer. It does not
include AI chat, providers, personas, or any domain-specific features —
those are all extension packages.
## Stack
- **Backend**: Go / Gin
- **Frontend**: Preact + htm (no build step)
- **Database**: PostgreSQL (production) + SQLite (dev/test/edge)
- **Sandbox**: Starlark with capability-gated modules
- **Deployment**: Single Docker image, Kubernetes
## Quick Start
```bash
git clone <repo-url> && cd switchboard-core
cp server/.env.example server/.env # edit DB credentials
cd server && go run .
# → http://localhost:8080
```
## Kernel Features
- **Auth**: Builtin password, mTLS (client cert), OIDC (Keycloak et al.)
- **Teams & Groups**: Horizontal isolation + vertical permissions
- **Packages**: Unified registry for surfaces, extensions, libraries, workflows
- **Starlark Sandbox**: Capability-gated server-side scripting for extensions
- **Workflows**: Staged processes with forms, review, and webhooks
- **Connections**: Scoped credential storage (global/team/personal), AES-256-GCM encrypted
- **Notifications**: In-app with per-type preferences
- **Audit Log**: All admin operations logged
- **Object Storage**: PVC or S3-compatible
- **Multi-Replica HA**: PG-backed WS tickets and rate limit counters
## Documentation
- [Architecture](docs/ARCHITECTURE.md) — kernel components and design reasoning
- [Roadmap](ROADMAP.md) — current status and planned milestones
- [Changelog](CHANGELOG.md) — version history
## Project Status
**v0.1.0** (in progress) — kernel extracted from chat-switchboard v0.38.5.
~44K lines of chat/AI code removed, 27 kernel tables, 20 store interfaces.
See [ROADMAP.md](ROADMAP.md) for details.
## License
Proprietary. All rights reserved.