Files
exo/PROGRESS.md
Kyle Isom bb2c7f7ef3 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>
2026-03-21 09:46:08 -07:00

1.4 KiB

Progress

Tracks implementation progress against the phases in PROJECT_PLAN.md.

Phase 1: Foundation — COMPLETE

Deliverables:

  • Go module (go.mod) at git.wntrmute.dev/kyle/exo
  • core package: Header, Metadata, Value, ObjectType, NewUUID, MapFromList/ListFromMap
  • SQLite migration framework with embedded SQL files (db/migrations/)
  • Initial schema migration (001_initial.sql): 13 tables covering shared infrastructure, bibliographic, and artifact repository
  • Database access layer: Open (with WAL, foreign keys, busy timeout), StartTX/EndTX, ToDBTime/FromDBTime
  • config package: Config struct with paths for database, blob store, Minio endpoint, gRPC listen address
  • .golangci.yaml — strict linting (errcheck, govet, gosec, staticcheck, revive, errorlint)
  • Makefile — vet, lint, test, build targets
  • 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