Commit Graph

7 Commits

Author SHA1 Message Date
a336dc1ebb Add Phase 3 CLI tools: exo client and exod server binaries
- exod: gRPC daemon with auto-migration, graceful shutdown (SIGINT/SIGTERM),
  configurable listen address and data directory via flags
- exo: CLI client with import (YAML artifacts), tag add/list, cat add/list,
  search by tag commands; connects via EXO_ADDR env var
- Add bin/ to .gitignore

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 09:59:54 -07:00
b64177baa8 Add Phase 2 artifact repository: types, blob store, gRPC service
Build the complete artifact pillar with five packages:
- artifacts: Artifact, Snapshot, Citation, Publisher types with Get/Store
  DB methods, tag/category management, metadata ops, YAML import
- blob: content-addressable store (SHA256, hierarchical dir layout)
- proto: protobuf definitions (common.proto, artifacts.proto) with buf
  linting and code generation
- server: gRPC ArtifactService implementation (create/get artifacts,
  store/retrieve blobs, manage tags/categories, search by tag)

All FK insertion ordering is correct (parent rows before children).
Full test coverage across artifacts, blob, and server packages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 09:56:34 -07:00
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
98990c6d76 Make ARCHITECTURE.md standalone with inlined schemas and types
Inline all data type definitions (Go structs, protobuf messages), the
full SQLite schema (11 tables), CAS directory layout, and the dbObject
interface directly into ARCHITECTURE.md so it is self-contained and does
not depend on cross-references to docs/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 09:31:27 -07:00
83f4b327f3 Add architecture and project plan documentation
ARCHITECTURE.md covers the system design: exod backend, single Kotlin
desktop app (Obsidian-style), layered architecture, data flow, CAS blob
store, cross-pillar integration, and key design decisions.

PROJECT_PLAN.md defines six implementation phases from foundation through
remote access, with concrete deliverables per phase.

CLAUDE.md updated to reference both documents and reflect the single-app
UI decision with unified search.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:18:54 -07:00
ea32237279 Restart with Claude 2026-03-20 11:54:56 -07:00
02a6356158 initial import 2022-02-21 17:37:47 -08:00