Two documents only — no Go code yet. PRD restates the problem and preserves the Rust PRD's invariants verbatim, then maps the locked stack to Go libraries and surfaces four hard problems (DuckDB-via-cgo for the query engine, Lance dropped, Dioxus → HTMX, arrow-go maturity). SPEC walks each Rust crate + TS surface and tags the port with library choice / effort estimate / risk + a 5-phase migration plan from skeleton (Phase G0) to demo parity (Phase G5). Six open questions remain that gate Phase G0: - DuckDB cgo OK? - HTMX vs React for the UI? - Repo location? - Distillation v1.0.0 port verbatim or rebuild? - Pathway memory data — port 88 traces or start clean? - Auditor lineage — port audit_baselines.jsonl or restart? Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
# golangLAKEHOUSE
|
|
|
|
Go reimplementation of the Lakehouse — a versioned knowledge substrate
|
|
for staffing analytics + local AI workloads.
|
|
|
|
## Status
|
|
|
|
**Pre-Phase G0.** Documents seeded; Go module declared; implementation
|
|
has not started. See `docs/PRD.md` for direction and `docs/SPEC.md`
|
|
for the component-by-component port plan.
|
|
|
|
### Phase G0 prerequisites (must be done before any code lands)
|
|
|
|
1. **Install Go 1.23+ on the dev box.** Not currently present at
|
|
`/usr/local/go` or elsewhere on the build machine. Standard install:
|
|
```
|
|
curl -L https://go.dev/dl/go1.23.linux-amd64.tar.gz | sudo tar -C /usr/local -xz
|
|
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
|
|
```
|
|
2. **Ensure cgo toolchain is present** (gcc + libc-dev) — required by
|
|
the DuckDB binding per ADR-001 §1.1. `apt install build-essential`
|
|
on Debian-based systems.
|
|
3. **Initialize the dependency tree** with `go mod tidy` once
|
|
`cmd/gateway/main.go` declares its first imports.
|
|
|
|
## Layout
|
|
|
|
```
|
|
docs/ Direction + spec + ADRs
|
|
cmd/ (forthcoming) main packages — one per service
|
|
internal/ (forthcoming) shared packages
|
|
web/ (forthcoming) HTMX templates + static
|
|
scripts/ (forthcoming) cold-start, smoke, distill
|
|
tests/ (forthcoming) golden files, integration tests
|
|
```
|
|
|
|
## Reading order
|
|
|
|
1. `docs/PRD.md` — what we're building and why
|
|
2. `docs/SPEC.md` — how, per-component
|
|
3. `docs/DECISIONS.md` — ADRs, starting with ADR-001 (foundational)
|
|
4. `docs/RUST_PATHWAY_MEMORY_NOTE.md` — historical reference for the
|
|
Rust era's pathway memory state (not migrated)
|
|
|
|
## Predecessor
|
|
|
|
The Rust Lakehouse this rewrite supersedes lives at
|
|
`git.agentview.dev/profit/lakehouse`. It remains the live system until
|
|
this Go implementation reaches feature parity (per `docs/SPEC.md` §7).
|