docs: seed PRD + SPEC for the Go-direction rewrite
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>
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# 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).
|
||||
Reference in New Issue
Block a user