Feat v0.8.3 vector column type (#70)
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Has been skipped
CI/CD / test-runners (pull_request) Has been skipped
CI/CD / e2e-smoke (pull_request) Has been skipped
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-sqlite (pull_request) Has been cancelled
CI/CD / test-go-pg (pull_request) Has been cancelled
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Has been skipped
CI/CD / test-runners (pull_request) Has been skipped
CI/CD / e2e-smoke (pull_request) Has been skipped
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-sqlite (pull_request) Has been cancelled
CI/CD / test-go-pg (pull_request) Has been cancelled
Add vector(N) column type to db_tables manifests with three-tier progressive enhancement: native pgvector on Postgres, JSONB fallback without pgvector, TEXT fallback on SQLite. New db.query_similar() Starlark builtin with dual-path dispatch. - parseVectorDim validates 1..4096 dimensions - mapColType gains hasPgvector parameter for tier selection - HNSW index auto-created on pgvector backends - starlarkToGoValue extended with list→JSON serialization - cosineDistance helper for Go-side fallback computation - ExtensionHandler gains SetCapabilities for install-time DDL - Roadmap updated: v0.8.4 docs refresh + surface sizing fix 13 new tests (5 schema + 8 db module), all passing with -race. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
39
ROADMAP.md
39
ROADMAP.md
@@ -1,6 +1,6 @@
|
||||
# Armature — Roadmap
|
||||
|
||||
## Current: v0.8.1 — Workspace Module
|
||||
## Current: v0.8.4 — Documentation Refresh + Surface Sizing Fix
|
||||
|
||||
Self-hosted extensible platform kernel. Auth, identity, packages, Starlark
|
||||
sandbox, storage, realtime, and ops are kernel primitives. Everything else
|
||||
@@ -424,15 +424,43 @@ New: `handlers/capabilities.go`, `handlers/capabilities_test.go`,
|
||||
`sandbox/settings_module_test.go`. Modified: install handler, bundled
|
||||
handler, settings module, runner, main.go. 18 new tests.
|
||||
|
||||
**v0.8.3 — Vector Column Type**
|
||||
**v0.8.3 — Vector Column Type** ✅
|
||||
|
||||
`"vector(N)"` in `db_tables` manifest. Maps to native `vector(N)` on
|
||||
PG+pgvector, `JSONB` on PG without, `TEXT` on SQLite. New `db.query_similar()`
|
||||
with dual-path dispatch (native operator vs Go-side brute force).
|
||||
with dual-path dispatch (native operator vs Go-side brute force). Auto-created
|
||||
HNSW index on pgvector. `starlarkToGoValue` extended with list→JSON.
|
||||
|
||||
Modified: `ext_db_schema.go`, `db_module.go`.
|
||||
New: `docs/DESIGN-vector-column.md`. Modified: `ext_db_schema.go`,
|
||||
`db_module.go`, `runner.go`, `extensions.go`, `main.go`. 13 new tests.
|
||||
|
||||
**v0.8.4 — Extension Composability**
|
||||
**v0.8.4 — Documentation Refresh + Surface Sizing Fix**
|
||||
|
||||
Two unrelated items bundled for a clean changeset before composability.
|
||||
|
||||
*Documentation refresh:* Starlark/extension docs have drifted since v0.7.5.
|
||||
Modules added or significantly changed but not fully documented:
|
||||
- `workspace` module (v0.8.1) — undocumented in STARLARK-REFERENCE.md
|
||||
- `permissions` module (v0.7.7) — undocumented in STARLARK-REFERENCE.md
|
||||
- `settings.has_capability()` (v0.8.2) — not in settings section
|
||||
- `db.query_similar()` vector section (v0.8.3) — added but needs review pass
|
||||
- EXTENSION-GUIDE.md — needs `capabilities` manifest block, `vector(N)` column
|
||||
type, `user_permissions`, `gate_permission`
|
||||
- TUTORIAL-FIRST-EXTENSION.md — review for v0.7+ accuracy
|
||||
|
||||
*Surface sizing bug:* Extension surfaces (`height: 100%` + `overflow: hidden`)
|
||||
don't account for the 44px shell topbar. Content is cut off at the bottom
|
||||
with no scroll. Affected: chat, notes, dashboard, schedules, and likely all
|
||||
extension surfaces. Root cause: `.extension-mount` is `flex: 1` within the
|
||||
viewport column, but extensions set `height: 100%` on their root element
|
||||
which inherits the mount's full height — the topbar's 44px is already
|
||||
subtracted by flex, but the extension's internal layout overflows because
|
||||
child containers also use `height: 100%` + `overflow: hidden`, clipping
|
||||
the last 44px of content. Fix: audit all extension root CSS and ensure
|
||||
inner scroll containers use `flex: 1; min-height: 0; overflow: auto`
|
||||
instead of `height: 100%; overflow: hidden`.
|
||||
|
||||
**v0.8.5 — Extension Composability**
|
||||
|
||||
Design doc: `docs/DESIGN-extension-composability.md`
|
||||
|
||||
@@ -616,6 +644,7 @@ These are candidates, not commitments. Each requires a design doc.
|
||||
| `workspace` for real filesystem | Flat blob store can't serve git/compilers/ffmpeg. Managed disk paths are the explicit escape hatch. |
|
||||
| Capability negotiation at install | Fail loud with actionable message, not silently at runtime. |
|
||||
| Vector column with three-tier fallback | Works everywhere, works fast with pgvector. Documentation > hard gates. |
|
||||
| Docs refresh before composability | 8 versions of module additions (v0.7.5–v0.8.3) without a docs pass. Ship accurate docs before adding more API surface. |
|
||||
| Sidecar deferred to v0.10.x | HTTP module covers external APIs. Local compute is a v0.10.x concern. Sidecars connect inward (like cluster nodes), not spawned outward (no k8s RBAC needed). |
|
||||
| No second scripting runtime | Starlark for glue, HTTP for external compute, sidecars for local compute. Three tiers with clear boundaries. Lua/WASM middle tier rejected — Turing-complete enough to be dangerous, not isolated enough to be trustworthy. |
|
||||
| Reference extensions prove the platform | First-party `.pkg` files, not kernel code. Uninstallable. Dogfooding. |
|
||||
|
||||
Reference in New Issue
Block a user