Commit Graph

9 Commits

Author SHA1 Message Date
fa21dbaf98 Add Phase 5 Kotlin desktop app: Compose Multiplatform with gRPC client
Kotlin/Compose Desktop application under desktop/ with:
- Gradle build: Kotlin 2.1, Compose 1.8, gRPC/Protobuf codegen, detekt
- ExoClient: gRPC client for both ArtifactService and KnowledgeGraphService
- Obsidian-style layout: collapsible tree sidebar, contextual main panel
- Five view modes: artifact detail, note editor, search results, catalog,
  graph (stub)
- Unified search bar with selector prefix support
- Command palette (Ctrl+Shift+A) for quick actions
- Menu bar with keyboard shortcuts (Ctrl+I/L/F/Q)
- Dark Material 3 theme
- Detekt lint config with Compose/test naming exceptions
- Unit tests for AppState and model types

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 11:44:45 -07:00
051a85d846 Add Phase 4 knowledge graph: nodes, cells, facts, edges, gRPC service
Build the knowledge graph pillar with the kg package:
- Node: hierarchical notes with parent/children, C2 wiki-style naming,
  shared tag/category pool with artifacts
- Cell: content units (markdown, code, plain) with ordinal ordering
- Fact: EAV tuples with transaction timestamps and retraction support
- Edge: directed graph links (child, parent, related, artifact_link)

Includes schema migration (002_knowledge_graph.sql), protobuf definitions
(kg.proto), full gRPC KnowledgeGraphService implementation, CLI commands
(node create/get), and comprehensive test coverage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 10:05:43 -07:00
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