docs: README + PHASE_G0_KICKOFF reflect post-G0 state (G1, G1P, G2)

README was stuck on "Pre-Phase G0, implementation has not started"
while we shipped through G2. Updated to reflect the current 7-binary
service inventory, the 9 acceptance smokes, the cold-start deps
(MinIO bucket, Ollama with nomic-embed-text, secrets-go.toml).

PHASE_G0_KICKOFF gains a "Post-G0 work" pointer at the end —
brief table mapping each G1+/G2 commit to its smoke + scrum-fix
count. Full per-day detail stays in commit messages and the
project memory file.

No code changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
root
2026-04-29 01:45:59 -05:00
co-authored by Claude Opus 4.7
parent 9ee7fc5550
commit 0cb29cda15
2 changed files with 118 additions and 28 deletions
+43
View File
@@ -1273,3 +1273,46 @@ G0's substrate handles real production-scale data with one config
knob bumped. No correctness issues, no OOMs, no silent type
errors. Query latency is fast enough for ad-hoc analytics.
The substrate is ready for G1+ work to build on top.
---
## Post-G0 work (pointer, not detail)
After G0 substrate validated at real scale, work continued on top.
Each piece has its own commit + scrum-review record; this section
is a pointer into the git log, not a full retro.
| Phase | Component | Commit | Smoke | Scrum fixes |
|---|---|---|---|---|
| G1 | vectord — HNSW vector search via `coder/hnsw` | `b8c072c` | g1_smoke 7/7 | 6 |
| G1P | vectord persistence to storaged (single-file `LHV1` framing) | `8b92518` | g1p_smoke 8/8 | 3 (incl. 3-way convergent torn-write fix) |
| G2 | embedd — text → vector via Ollama (default `nomic-embed-text` 768-d) | `9ee7fc5` | g2_smoke 5/5 | 2 |
After G2, the **end-to-end staffing co-pilot pipeline** is functional
through gateway:
```
text → /v1/embed → /v1/vectors/index/<name>/add
text → /v1/embed → /v1/vectors/index/<name>/search → top-K hits
```
The `g2_smoke.sh` end-to-end assertion proves it: a CSV-style staffing
text round-trips through embed → vectord → search at distance ≈ 0
(float32 precision noise on identical unit vectors).
The post-G0 service inventory is now 7 binaries + 1 shared library
package:
- `gateway` (:3110) — reverse proxy
- `storaged` (:3211) — S3 I/O
- `catalogd` (:3212) — Parquet manifests
- `ingestd` (:3213) — CSV → Parquet → register
- `queryd` (:3214) — DuckDB SELECT over Parquet via httpfs
- `vectord` (:3215) — HNSW vector search + optional persistence
- `embedd` (:3216) — text → vector via Ollama
Plus shared packages: `internal/storeclient`, `internal/catalogclient`,
`internal/secrets`, `internal/shared`.
**Smokes (deterministic, run-in-any-order)**: d1, d2, d3, d4, d5, d6,
g1, g1p, g2 — 9 acceptance gates, all PASS. `scripts/g1_smoke.toml`
disables vectord persistence specifically for the in-memory API smoke
to avoid rehydrate-from-storaged contamination.