Skip to content

kernel: WorkspaceService — init/open workspace on disk, format_version, project-name uniqueness #4

Description

@JArmandoAnaya

Context

The workspace is the root of everything: a directory on disk plus its metadata store. Every
kernel operation happens in the context of exactly one workspace.

Deliverables

  • WorkspaceService.init(path) — creates directory layout (blob store root, sqlite db),
    writes format_version.
  • WorkspaceService.open(path) — validates layout + format_version, fails with a clear
    error on unknown/future versions.
  • Project-name uniqueness enforced at workspace level.
  • Wire FilesystemBlobStore + SqliteMetadataStore construction here (single composition
    point for default adapters).

Acceptance criteria

  • init on an existing non-empty dir fails safely; open on a non-workspace dir fails clearly
  • Duplicate project names rejected with a domain error
  • Tests cover init/open/reopen against tmpdir

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kernelvisionset.kernel — domain, ports, adapters, servicesm1M1 — Living kernel (0.0.1-alpha.1)

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions