Add Phase 1 foundation: Go module, core types, DB infrastructure, config
Establish the project foundation with three packages: - core: shared types (Header, Metadata, Value, ObjectType, UUID generation) - db: SQLite migration framework, connection management (WAL, FK, busy timeout), transaction helpers (StartTX/EndTX), time conversion - config: runtime configuration (DB path, blob store, Minio, gRPC addr) Includes initial schema migration (001_initial.sql) with 13 tables covering shared infrastructure, bibliographic data, and artifact repository. Full test coverage for all packages, strict linting (.golangci.yaml), and Makefile. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
33
PROGRESS.md
Normal file
33
PROGRESS.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Progress
|
||||
|
||||
Tracks implementation progress against the phases in `PROJECT_PLAN.md`.
|
||||
|
||||
## Phase 1: Foundation — COMPLETE
|
||||
|
||||
**Deliverables:**
|
||||
- [x] Go module (`go.mod`) at `git.wntrmute.dev/kyle/exo`
|
||||
- [x] `core` package: `Header`, `Metadata`, `Value`, `ObjectType`, `NewUUID`, `MapFromList`/`ListFromMap`
|
||||
- [x] SQLite migration framework with embedded SQL files (`db/migrations/`)
|
||||
- [x] Initial schema migration (`001_initial.sql`): 13 tables covering shared infrastructure, bibliographic, and artifact repository
|
||||
- [x] Database access layer: `Open` (with WAL, foreign keys, busy timeout), `StartTX`/`EndTX`, `ToDBTime`/`FromDBTime`
|
||||
- [x] `config` package: `Config` struct with paths for database, blob store, Minio endpoint, gRPC listen address
|
||||
- [x] `.golangci.yaml` — strict linting (errcheck, govet, gosec, staticcheck, revive, errorlint)
|
||||
- [x] `Makefile` — vet, lint, test, build targets
|
||||
- [x] Full test coverage for all packages (core, db, config)
|
||||
|
||||
**Files created:**
|
||||
- `go.mod`, `go.sum`
|
||||
- `core/core.go`, `core/core_test.go`
|
||||
- `db/db.go`, `db/db_test.go`, `db/migrations/001_initial.sql`
|
||||
- `config/config.go`, `config/config_test.go`
|
||||
- `.golangci.yaml`, `Makefile`
|
||||
|
||||
## Phase 2: Artifact Repository — IN PROGRESS
|
||||
|
||||
## Phase 3: CLI Tools — NOT STARTED
|
||||
|
||||
## Phase 4: Knowledge Graph — NOT STARTED
|
||||
|
||||
## Phase 5: Desktop Application — NOT STARTED (Kotlin, out of scope for Go backend)
|
||||
|
||||
## Phase 6: Remote Access & Backup — NOT STARTED
|
||||
Reference in New Issue
Block a user