From c83616be4e9f80b368f060f05cd92a76297c38e8 Mon Sep 17 00:00:00 2001 From: Grivn Date: Tue, 11 Aug 2026 19:29:03 +0200 Subject: [PATCH 1/3] test: preserve exact package dependency boundaries Inspect each package directory independently and compare full internal import paths so nested Memory and Agency packages cannot collapse into one component. Validated with umask 022; make test. --- .../architecture/mnemond_structure_test.go | 47 +++++++++++++------ 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/test/mnemond/architecture/mnemond_structure_test.go b/test/mnemond/architecture/mnemond_structure_test.go index 8da80b5d..9ef61f6a 100644 --- a/test/mnemond/architecture/mnemond_structure_test.go +++ b/test/mnemond/architecture/mnemond_structure_test.go @@ -58,9 +58,12 @@ func assertNativeMemoryDoesNotImportAgency(t *testing.T, root string) { if !strings.HasPrefix(importPath, prefix) { continue } - dependency := importComponent(strings.TrimPrefix(importPath, prefix)) - if _, forbidden := agency[dependency]; forbidden { - t.Errorf("%s imports Agency component %q", path, dependency) + dependency := strings.TrimPrefix(importPath, prefix) + for component := range agency { + if dependency == component || strings.HasPrefix(dependency, component+"/") { + t.Errorf("%s imports Agency component %q", path, dependency) + break + } } } }) @@ -80,13 +83,13 @@ func assertMnemondPackageGraph(t *testing.T, root string) { "cmd/agency": {"internal/agencyclient", "internal/attach", "internal/daemon"}, "cmd/memory": { "internal/embed", "internal/graph", "internal/importdraft", "internal/model", - "internal/search", "internal/setup", "internal/store", + "internal/search", "internal/setup", "internal/setup/assets", "internal/store", }, } got := make(map[string]map[string]struct{}, len(want)) for component := range want { got[component] = map[string]struct{}{} - forEachComponentGoFile(t, root, component, func(path string, file *ast.File) { + forEachPackageGoFile(t, root, component, func(path string, file *ast.File) { for _, spec := range file.Imports { importPath, err := strconv.Unquote(spec.Path.Value) if err != nil { @@ -101,7 +104,7 @@ func assertMnemondPackageGraph(t *testing.T, root string) { if !strings.HasPrefix(importPath, prefix) { continue } - dependency := importComponent(strings.TrimPrefix(importPath, prefix)) + dependency := strings.TrimPrefix(importPath, prefix) if dependency != component { got[component][dependency] = struct{}{} } @@ -264,6 +267,30 @@ func forEachComponentGoFile(t *testing.T, root, component string, visit func(str walkGoFiles(t, filepath.Join(root, filepath.FromSlash(component)), visit) } +// forEachPackageGoFile visits one exact Go package directory. Unlike a product +// component scan, it must not merge child packages into their parent when +// enforcing the promoted import graph. +func forEachPackageGoFile(t *testing.T, root, packagePath string, visit func(string, *ast.File)) { + t.Helper() + base := filepath.Join(root, filepath.FromSlash(packagePath)) + entries, err := os.ReadDir(base) + if err != nil { + t.Fatalf("scan package %s: %v", base, err) + } + for _, entry := range entries { + if entry.IsDir() || !strings.HasSuffix(entry.Name(), ".go") || + strings.HasSuffix(entry.Name(), "_test.go") { + continue + } + path := filepath.Join(base, entry.Name()) + file, err := parser.ParseFile(token.NewFileSet(), path, nil, parser.SkipObjectResolution) + if err != nil { + t.Fatalf("parse %s: %v", path, err) + } + visit(path, file) + } +} + func forEachProductionGoFile(t *testing.T, root string, visit func(string, *ast.File)) { t.Helper() for _, base := range []string{filepath.Join(root, "internal"), filepath.Join(root, "cmd")} { @@ -298,14 +325,6 @@ func walkGoFiles(t *testing.T, base string, visit func(string, *ast.File)) { } } -func importComponent(importPath string) string { - parts := strings.Split(importPath, "/") - if len(parts) < 2 { - return importPath - } - return parts[0] + "/" + parts[1] -} - func assertSingleArchitectureMatch(t *testing.T, matches []string, directory, want, label string) { t.Helper() if len(matches) != 1 || !strings.Contains(matches[0], directory) || From 9bdda953b5c733cbb190d958b36a3483421a577f Mon Sep 17 00:00:00 2001 From: Grivn Date: Tue, 11 Aug 2026 19:32:52 +0200 Subject: [PATCH 2/3] refactor: group memory packages by domain Move Memory storage, search, graph, embedding, import, and Host setup packages under internal/memory while preserving their package APIs and runtime paths. Update deterministic package lists, architecture guards, and path-sensitive tests without changing Memory behavior. Validated with go build -o mnemon . and umask 022; make test. --- Makefile | 16 ++++---- cmd/memory/embed.go | 2 +- cmd/memory/gc.go | 2 +- cmd/memory/import.go | 12 +++--- cmd/memory/import_test.go | 4 +- cmd/memory/link.go | 2 +- cmd/memory/recall.go | 8 ++-- cmd/memory/recall_test.go | 4 +- cmd/memory/receipt.go | 2 +- cmd/memory/receipt_test.go | 2 +- cmd/memory/related.go | 6 +-- cmd/memory/remember.go | 10 ++--- cmd/memory/root.go | 4 +- cmd/memory/root_test.go | 2 +- cmd/memory/search.go | 2 +- cmd/memory/setup.go | 6 +-- cmd/memory/store.go | 2 +- cmd/memory/viz.go | 2 +- internal/{ => memory}/embed/ollama.go | 0 internal/{ => memory}/embed/ollama_test.go | 0 internal/{ => memory}/embed/vector.go | 0 internal/{ => memory}/embed/vector_test.go | 0 internal/{ => memory}/graph/bfs.go | 4 +- internal/{ => memory}/graph/causal.go | 6 +-- internal/{ => memory}/graph/causal_test.go | 0 internal/{ => memory}/graph/engine.go | 4 +- internal/{ => memory}/graph/entity.go | 4 +- internal/{ => memory}/graph/entity_test.go | 0 .../{ => memory}/graph/integration_test.go | 6 +-- internal/{ => memory}/graph/semantic.go | 8 ++-- internal/{ => memory}/graph/temporal.go | 4 +- internal/{ => memory}/importdraft/draft.go | 2 +- .../{ => memory}/importdraft/draft_test.go | 0 internal/{ => memory}/model/edge.go | 0 internal/{ => memory}/model/edge_test.go | 0 internal/{ => memory}/model/node.go | 0 internal/{ => memory}/model/node_test.go | 0 internal/{ => memory}/search/diff.go | 4 +- internal/{ => memory}/search/diff_test.go | 2 +- .../{ => memory}/search/integration_test.go | 6 +-- internal/{ => memory}/search/intent.go | 2 +- internal/{ => memory}/search/intent_test.go | 0 internal/{ => memory}/search/keyword.go | 2 +- internal/{ => memory}/search/keyword_test.go | 2 +- internal/{ => memory}/search/recall.go | 6 +-- internal/{ => memory}/search/recall_test.go | 0 internal/{ => memory}/setup/assets/assets.go | 0 .../{ => memory}/setup/assets/claude/SKILL.md | 0 .../setup/assets/claude/compact.sh | 0 .../{ => memory}/setup/assets/claude/guide.md | 0 .../{ => memory}/setup/assets/claude/prime.sh | 0 .../{ => memory}/setup/assets/claude/stop.sh | 0 .../setup/assets/claude/user_prompt.sh | 0 .../setup/assets/codebuddy/SKILL.md | 0 .../setup/assets/codebuddy/prime.sh | 0 .../setup/assets/codebuddy/stop.sh | 0 .../setup/assets/codebuddy/user_prompt.sh | 0 .../{ => memory}/setup/assets/codex/SKILL.md | 0 .../{ => memory}/setup/assets/codex/prime.sh | 0 .../{ => memory}/setup/assets/codex/stop.sh | 0 .../setup/assets/codex/user_prompt.sh | 0 .../{ => memory}/setup/assets/cursor/SKILL.md | 0 .../setup/assets/cursor/compact.sh | 0 .../{ => memory}/setup/assets/cursor/prime.sh | 0 .../{ => memory}/setup/assets/cursor/stop.sh | 0 .../{ => memory}/setup/assets/hermes/SKILL.md | 0 .../setup/assets/hermes/compact.sh | 0 .../{ => memory}/setup/assets/hermes/nudge.sh | 0 .../{ => memory}/setup/assets/hermes/prime.sh | 0 .../setup/assets/hermes/remind.sh | 0 .../{ => memory}/setup/assets/kimi/SKILL.md | 0 .../{ => memory}/setup/assets/kimi/prime.sh | 0 .../{ => memory}/setup/assets/kimi/stop.sh | 0 .../setup/assets/kimi/user_prompt.sh | 0 .../setup/assets/nanobot/SKILL.md | 0 .../setup/assets/nanoclaw/SKILL.md | 0 .../setup/assets/nanoclaw/container-skill.md | 0 .../setup/assets/openclaw/SKILL.md | 0 .../openclaw/hooks/mnemon-prime/HOOK.md | 0 .../openclaw/hooks/mnemon-prime/handler.js | 0 .../setup/assets/openclaw/plugin/index.js | 0 .../openclaw/plugin/openclaw.plugin.json | 0 .../setup/assets/openclaw/plugin/package.json | 0 .../setup/assets/opencode/SKILL.md | 0 .../setup/assets/opencode/mnemon.js | 0 .../{ => memory}/setup/assets/pi/SKILL.md | 0 .../{ => memory}/setup/assets/pi/mnemon.ts | 0 .../{ => memory}/setup/assets/qoder/SKILL.md | 0 .../{ => memory}/setup/assets/qoder/prime.sh | 0 .../{ => memory}/setup/assets/qoder/stop.sh | 0 .../setup/assets/qoder/user_prompt.sh | 0 .../setup/assets/qoderwork/SKILL.md | 0 .../{ => memory}/setup/assets/trae/SKILL.md | 0 .../{ => memory}/setup/assets/trae/prime.sh | 0 .../{ => memory}/setup/assets/trae/stop.sh | 0 .../setup/assets/trae/user_prompt.sh | 0 .../setup/assets/workbuddy/SKILL.md | 0 .../setup/assets/workbuddy/prime.sh | 0 .../setup/assets/workbuddy/stop.sh | 0 .../setup/assets/workbuddy/user_prompt.sh | 0 internal/{ => memory}/setup/claude.go | 2 +- internal/{ => memory}/setup/claude_test.go | 2 +- internal/{ => memory}/setup/codebuddy.go | 2 +- internal/{ => memory}/setup/codex.go | 2 +- internal/{ => memory}/setup/cursor.go | 2 +- internal/{ => memory}/setup/cursor_test.go | 0 internal/{ => memory}/setup/detect.go | 0 internal/{ => memory}/setup/files.go | 0 internal/{ => memory}/setup/hermes.go | 2 +- internal/{ => memory}/setup/hermes_test.go | 2 +- .../{ => memory}/setup/host_artifacts_test.go | 2 +- internal/{ => memory}/setup/kimi.go | 2 +- internal/{ => memory}/setup/kimi_test.go | 0 internal/{ => memory}/setup/markdown.go | 0 internal/{ => memory}/setup/markdown_test.go | 0 internal/{ => memory}/setup/nanobot.go | 2 +- .../setup/nested_settings_hosts_test.go | 0 internal/{ => memory}/setup/openclaw.go | 2 +- internal/{ => memory}/setup/openclaw_test.go | 2 +- internal/{ => memory}/setup/opencode.go | 2 +- internal/{ => memory}/setup/opencode_test.go | 0 internal/{ => memory}/setup/pi.go | 2 +- internal/{ => memory}/setup/pi_test.go | 2 +- internal/{ => memory}/setup/prompt.go | 0 internal/{ => memory}/setup/qoder.go | 2 +- internal/{ => memory}/setup/qoder_test.go | 0 internal/{ => memory}/setup/settings.go | 0 internal/{ => memory}/setup/settings_test.go | 0 internal/{ => memory}/setup/trae.go | 2 +- internal/{ => memory}/setup/trae_test.go | 0 internal/{ => memory}/setup/workbuddy.go | 2 +- internal/{ => memory}/store/db.go | 2 +- internal/{ => memory}/store/edge.go | 2 +- internal/{ => memory}/store/node.go | 2 +- internal/{ => memory}/store/oplog.go | 0 internal/{ => memory}/store/store_test.go | 4 +- scripts/e2e_test.sh | 2 +- .../architecture/mnemond_structure_test.go | 40 ++++++++++++------- .../architecture/repository_hygiene_test.go | 12 +++--- 139 files changed, 130 insertions(+), 120 deletions(-) rename internal/{ => memory}/embed/ollama.go (100%) rename internal/{ => memory}/embed/ollama_test.go (100%) rename internal/{ => memory}/embed/vector.go (100%) rename internal/{ => memory}/embed/vector_test.go (100%) rename internal/{ => memory}/graph/bfs.go (95%) rename internal/{ => memory}/graph/causal.go (97%) rename internal/{ => memory}/graph/causal_test.go (100%) rename internal/{ => memory}/graph/engine.go (96%) rename internal/{ => memory}/graph/entity.go (99%) rename internal/{ => memory}/graph/entity_test.go (100%) rename internal/{ => memory}/graph/integration_test.go (99%) rename internal/{ => memory}/graph/semantic.go (96%) rename internal/{ => memory}/graph/temporal.go (96%) rename internal/{ => memory}/importdraft/draft.go (99%) rename internal/{ => memory}/importdraft/draft_test.go (100%) rename internal/{ => memory}/model/edge.go (100%) rename internal/{ => memory}/model/edge_test.go (100%) rename internal/{ => memory}/model/node.go (100%) rename internal/{ => memory}/model/node_test.go (100%) rename internal/{ => memory}/search/diff.go (98%) rename internal/{ => memory}/search/diff_test.go (99%) rename internal/{ => memory}/search/integration_test.go (99%) rename internal/{ => memory}/search/intent.go (97%) rename internal/{ => memory}/search/intent_test.go (100%) rename internal/{ => memory}/search/keyword.go (99%) rename internal/{ => memory}/search/keyword_test.go (99%) rename internal/{ => memory}/search/recall.go (99%) rename internal/{ => memory}/search/recall_test.go (100%) rename internal/{ => memory}/setup/assets/assets.go (100%) rename internal/{ => memory}/setup/assets/claude/SKILL.md (100%) rename internal/{ => memory}/setup/assets/claude/compact.sh (100%) rename internal/{ => memory}/setup/assets/claude/guide.md (100%) rename internal/{ => memory}/setup/assets/claude/prime.sh (100%) rename internal/{ => memory}/setup/assets/claude/stop.sh (100%) rename internal/{ => memory}/setup/assets/claude/user_prompt.sh (100%) rename internal/{ => memory}/setup/assets/codebuddy/SKILL.md (100%) rename internal/{ => memory}/setup/assets/codebuddy/prime.sh (100%) rename internal/{ => memory}/setup/assets/codebuddy/stop.sh (100%) rename internal/{ => memory}/setup/assets/codebuddy/user_prompt.sh (100%) rename internal/{ => memory}/setup/assets/codex/SKILL.md (100%) rename internal/{ => memory}/setup/assets/codex/prime.sh (100%) rename internal/{ => memory}/setup/assets/codex/stop.sh (100%) rename internal/{ => memory}/setup/assets/codex/user_prompt.sh (100%) rename internal/{ => memory}/setup/assets/cursor/SKILL.md (100%) rename internal/{ => memory}/setup/assets/cursor/compact.sh (100%) rename internal/{ => memory}/setup/assets/cursor/prime.sh (100%) rename internal/{ => memory}/setup/assets/cursor/stop.sh (100%) rename internal/{ => memory}/setup/assets/hermes/SKILL.md (100%) rename internal/{ => memory}/setup/assets/hermes/compact.sh (100%) rename internal/{ => memory}/setup/assets/hermes/nudge.sh (100%) rename internal/{ => memory}/setup/assets/hermes/prime.sh (100%) rename internal/{ => memory}/setup/assets/hermes/remind.sh (100%) rename internal/{ => memory}/setup/assets/kimi/SKILL.md (100%) rename internal/{ => memory}/setup/assets/kimi/prime.sh (100%) rename internal/{ => memory}/setup/assets/kimi/stop.sh (100%) rename internal/{ => memory}/setup/assets/kimi/user_prompt.sh (100%) rename internal/{ => memory}/setup/assets/nanobot/SKILL.md (100%) rename internal/{ => memory}/setup/assets/nanoclaw/SKILL.md (100%) rename internal/{ => memory}/setup/assets/nanoclaw/container-skill.md (100%) rename internal/{ => memory}/setup/assets/openclaw/SKILL.md (100%) rename internal/{ => memory}/setup/assets/openclaw/hooks/mnemon-prime/HOOK.md (100%) rename internal/{ => memory}/setup/assets/openclaw/hooks/mnemon-prime/handler.js (100%) rename internal/{ => memory}/setup/assets/openclaw/plugin/index.js (100%) rename internal/{ => memory}/setup/assets/openclaw/plugin/openclaw.plugin.json (100%) rename internal/{ => memory}/setup/assets/openclaw/plugin/package.json (100%) rename internal/{ => memory}/setup/assets/opencode/SKILL.md (100%) rename internal/{ => memory}/setup/assets/opencode/mnemon.js (100%) rename internal/{ => memory}/setup/assets/pi/SKILL.md (100%) rename internal/{ => memory}/setup/assets/pi/mnemon.ts (100%) rename internal/{ => memory}/setup/assets/qoder/SKILL.md (100%) rename internal/{ => memory}/setup/assets/qoder/prime.sh (100%) rename internal/{ => memory}/setup/assets/qoder/stop.sh (100%) rename internal/{ => memory}/setup/assets/qoder/user_prompt.sh (100%) rename internal/{ => memory}/setup/assets/qoderwork/SKILL.md (100%) rename internal/{ => memory}/setup/assets/trae/SKILL.md (100%) rename internal/{ => memory}/setup/assets/trae/prime.sh (100%) rename internal/{ => memory}/setup/assets/trae/stop.sh (100%) rename internal/{ => memory}/setup/assets/trae/user_prompt.sh (100%) rename internal/{ => memory}/setup/assets/workbuddy/SKILL.md (100%) rename internal/{ => memory}/setup/assets/workbuddy/prime.sh (100%) rename internal/{ => memory}/setup/assets/workbuddy/stop.sh (100%) rename internal/{ => memory}/setup/assets/workbuddy/user_prompt.sh (100%) rename internal/{ => memory}/setup/claude.go (99%) rename internal/{ => memory}/setup/claude_test.go (98%) rename internal/{ => memory}/setup/codebuddy.go (98%) rename internal/{ => memory}/setup/codex.go (98%) rename internal/{ => memory}/setup/cursor.go (98%) rename internal/{ => memory}/setup/cursor_test.go (100%) rename internal/{ => memory}/setup/detect.go (100%) rename internal/{ => memory}/setup/files.go (100%) rename internal/{ => memory}/setup/hermes.go (98%) rename internal/{ => memory}/setup/hermes_test.go (98%) rename internal/{ => memory}/setup/host_artifacts_test.go (97%) rename internal/{ => memory}/setup/kimi.go (98%) rename internal/{ => memory}/setup/kimi_test.go (100%) rename internal/{ => memory}/setup/markdown.go (100%) rename internal/{ => memory}/setup/markdown_test.go (100%) rename internal/{ => memory}/setup/nanobot.go (94%) rename internal/{ => memory}/setup/nested_settings_hosts_test.go (100%) rename internal/{ => memory}/setup/openclaw.go (98%) rename internal/{ => memory}/setup/openclaw_test.go (97%) rename internal/{ => memory}/setup/opencode.go (98%) rename internal/{ => memory}/setup/opencode_test.go (100%) rename internal/{ => memory}/setup/pi.go (96%) rename internal/{ => memory}/setup/pi_test.go (97%) rename internal/{ => memory}/setup/prompt.go (100%) rename internal/{ => memory}/setup/qoder.go (98%) rename internal/{ => memory}/setup/qoder_test.go (100%) rename internal/{ => memory}/setup/settings.go (100%) rename internal/{ => memory}/setup/settings_test.go (100%) rename internal/{ => memory}/setup/trae.go (98%) rename internal/{ => memory}/setup/trae_test.go (100%) rename internal/{ => memory}/setup/workbuddy.go (98%) rename internal/{ => memory}/store/db.go (99%) rename internal/{ => memory}/store/edge.go (98%) rename internal/{ => memory}/store/node.go (99%) rename internal/{ => memory}/store/oplog.go (100%) rename internal/{ => memory}/store/store_test.go (99%) diff --git a/Makefile b/Makefile index 6e8b6070..6849c2b3 100644 --- a/Makefile +++ b/Makefile @@ -23,14 +23,14 @@ DETERMINISTIC_PKGS := \ ./internal/attach \ ./internal/authority \ ./internal/artifact \ - ./internal/embed \ - ./internal/graph \ - ./internal/importdraft \ - ./internal/model \ - ./internal/search \ - ./internal/setup \ - ./internal/setup/assets \ - ./internal/store \ + ./internal/memory/embed \ + ./internal/memory/graph \ + ./internal/memory/importdraft \ + ./internal/memory/model \ + ./internal/memory/search \ + ./internal/memory/setup \ + ./internal/memory/setup/assets \ + ./internal/memory/store \ ./test/mnemond/architecture \ ./test/mnemond/observer \ ./test/mnemond/domainops/trace diff --git a/cmd/memory/embed.go b/cmd/memory/embed.go index 93ad6ab1..0ac9be70 100644 --- a/cmd/memory/embed.go +++ b/cmd/memory/embed.go @@ -5,7 +5,7 @@ import ( "fmt" "os" - "github.com/mnemon-dev/mnemon/internal/embed" + "github.com/mnemon-dev/mnemon/internal/memory/embed" "github.com/spf13/cobra" ) diff --git a/cmd/memory/gc.go b/cmd/memory/gc.go index a223a07b..c828afd8 100644 --- a/cmd/memory/gc.go +++ b/cmd/memory/gc.go @@ -5,7 +5,7 @@ import ( "fmt" "os" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/import.go b/cmd/memory/import.go index 40a3503e..0100634b 100644 --- a/cmd/memory/import.go +++ b/cmd/memory/import.go @@ -7,12 +7,12 @@ import ( "time" "github.com/google/uuid" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/graph" - "github.com/mnemon-dev/mnemon/internal/importdraft" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/search" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/graph" + "github.com/mnemon-dev/mnemon/internal/memory/importdraft" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/search" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/import_test.go b/cmd/memory/import_test.go index 5ab480fd..5431b81c 100644 --- a/cmd/memory/import_test.go +++ b/cmd/memory/import_test.go @@ -7,8 +7,8 @@ import ( "testing" "time" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) func TestImportRepairsBackdatedTemporalBackbone(t *testing.T) { diff --git a/cmd/memory/link.go b/cmd/memory/link.go index 0bc2d013..71c58e4e 100644 --- a/cmd/memory/link.go +++ b/cmd/memory/link.go @@ -6,7 +6,7 @@ import ( "os" "time" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" "github.com/spf13/cobra" ) diff --git a/cmd/memory/recall.go b/cmd/memory/recall.go index 6deb8ad3..4d1c2bef 100644 --- a/cmd/memory/recall.go +++ b/cmd/memory/recall.go @@ -7,10 +7,10 @@ import ( "os" "strings" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/graph" - "github.com/mnemon-dev/mnemon/internal/search" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/graph" + "github.com/mnemon-dev/mnemon/internal/memory/search" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/recall_test.go b/cmd/memory/recall_test.go index f38298b0..6f055019 100644 --- a/cmd/memory/recall_test.go +++ b/cmd/memory/recall_test.go @@ -6,8 +6,8 @@ import ( "testing" "time" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/search" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/search" ) func makeTestRecallResponse() search.RecallResponse { diff --git a/cmd/memory/receipt.go b/cmd/memory/receipt.go index 1c39d8f0..ca26e029 100644 --- a/cmd/memory/receipt.go +++ b/cmd/memory/receipt.go @@ -8,7 +8,7 @@ import ( "os" "time" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/receipt_test.go b/cmd/memory/receipt_test.go index 776d8a37..a48c7ff0 100644 --- a/cmd/memory/receipt_test.go +++ b/cmd/memory/receipt_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) func TestBuildReceiptOmitsRawDetails(t *testing.T) { diff --git a/cmd/memory/related.go b/cmd/memory/related.go index 2abd308a..44152e06 100644 --- a/cmd/memory/related.go +++ b/cmd/memory/related.go @@ -5,9 +5,9 @@ import ( "fmt" "os" - "github.com/mnemon-dev/mnemon/internal/graph" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/graph" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/remember.go b/cmd/memory/remember.go index d5525c44..c37497a2 100644 --- a/cmd/memory/remember.go +++ b/cmd/memory/remember.go @@ -8,11 +8,11 @@ import ( "time" "github.com/google/uuid" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/graph" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/search" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/graph" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/search" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/root.go b/cmd/memory/root.go index 1827141c..08ffc6fa 100644 --- a/cmd/memory/root.go +++ b/cmd/memory/root.go @@ -4,8 +4,8 @@ import ( "fmt" "os" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/root_test.go b/cmd/memory/root_test.go index 4922605d..eb2a79ac 100644 --- a/cmd/memory/root_test.go +++ b/cmd/memory/root_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "github.com/mnemon-dev/mnemon/internal/embed" + "github.com/mnemon-dev/mnemon/internal/memory/embed" ) func TestNewReturnsComposableMemoryRoot(t *testing.T) { diff --git a/cmd/memory/search.go b/cmd/memory/search.go index 2339ac63..332c9f4a 100644 --- a/cmd/memory/search.go +++ b/cmd/memory/search.go @@ -6,7 +6,7 @@ import ( "os" "strings" - "github.com/mnemon-dev/mnemon/internal/search" + "github.com/mnemon-dev/mnemon/internal/memory/search" "github.com/spf13/cobra" ) diff --git a/cmd/memory/setup.go b/cmd/memory/setup.go index f592021b..4a6a8f4e 100644 --- a/cmd/memory/setup.go +++ b/cmd/memory/setup.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/mnemon-dev/mnemon/internal/setup" - "github.com/mnemon-dev/mnemon/internal/setup/assets" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/setup" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/store.go b/cmd/memory/store.go index cda165c0..b155ad1b 100644 --- a/cmd/memory/store.go +++ b/cmd/memory/store.go @@ -4,7 +4,7 @@ import ( "fmt" "os" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/store" "github.com/spf13/cobra" ) diff --git a/cmd/memory/viz.go b/cmd/memory/viz.go index 5c0f834f..818dc9f3 100644 --- a/cmd/memory/viz.go +++ b/cmd/memory/viz.go @@ -6,7 +6,7 @@ import ( "os" "strings" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" "github.com/spf13/cobra" ) diff --git a/internal/embed/ollama.go b/internal/memory/embed/ollama.go similarity index 100% rename from internal/embed/ollama.go rename to internal/memory/embed/ollama.go diff --git a/internal/embed/ollama_test.go b/internal/memory/embed/ollama_test.go similarity index 100% rename from internal/embed/ollama_test.go rename to internal/memory/embed/ollama_test.go diff --git a/internal/embed/vector.go b/internal/memory/embed/vector.go similarity index 100% rename from internal/embed/vector.go rename to internal/memory/embed/vector.go diff --git a/internal/embed/vector_test.go b/internal/memory/embed/vector_test.go similarity index 100% rename from internal/embed/vector_test.go rename to internal/memory/embed/vector_test.go diff --git a/internal/graph/bfs.go b/internal/memory/graph/bfs.go similarity index 95% rename from internal/graph/bfs.go rename to internal/memory/graph/bfs.go index 1740d22f..28715d44 100644 --- a/internal/graph/bfs.go +++ b/internal/memory/graph/bfs.go @@ -1,8 +1,8 @@ package graph import ( - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) // BFSNode represents a node discovered during BFS traversal. diff --git a/internal/graph/causal.go b/internal/memory/graph/causal.go similarity index 97% rename from internal/graph/causal.go rename to internal/memory/graph/causal.go index 700f8748..4ba6fbe7 100644 --- a/internal/graph/causal.go +++ b/internal/memory/graph/causal.go @@ -5,9 +5,9 @@ import ( "regexp" "time" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/search" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/search" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) // Minimum token overlap ratio to create a causal edge. diff --git a/internal/graph/causal_test.go b/internal/memory/graph/causal_test.go similarity index 100% rename from internal/graph/causal_test.go rename to internal/memory/graph/causal_test.go diff --git a/internal/graph/engine.go b/internal/memory/graph/engine.go similarity index 96% rename from internal/graph/engine.go rename to internal/memory/graph/engine.go index 474b3b31..8080ce2f 100644 --- a/internal/graph/engine.go +++ b/internal/memory/graph/engine.go @@ -1,8 +1,8 @@ package graph import ( - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) // EdgeStats tracks how many edges of each type were created. diff --git a/internal/graph/entity.go b/internal/memory/graph/entity.go similarity index 99% rename from internal/graph/entity.go rename to internal/memory/graph/entity.go index 985a32e9..b26d10a5 100644 --- a/internal/graph/entity.go +++ b/internal/memory/graph/entity.go @@ -5,8 +5,8 @@ import ( "strings" "time" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) // Maximum number of existing nodes to link per entity (avoid hot-entity explosion). diff --git a/internal/graph/entity_test.go b/internal/memory/graph/entity_test.go similarity index 100% rename from internal/graph/entity_test.go rename to internal/memory/graph/entity_test.go diff --git a/internal/graph/integration_test.go b/internal/memory/graph/integration_test.go similarity index 99% rename from internal/graph/integration_test.go rename to internal/memory/graph/integration_test.go index aa35d996..8099e494 100644 --- a/internal/graph/integration_test.go +++ b/internal/memory/graph/integration_test.go @@ -5,9 +5,9 @@ import ( "testing" "time" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) func testDB(t *testing.T) *store.DB { diff --git a/internal/graph/semantic.go b/internal/memory/graph/semantic.go similarity index 96% rename from internal/graph/semantic.go rename to internal/memory/graph/semantic.go index d5420fe6..0f70bdea 100644 --- a/internal/graph/semantic.go +++ b/internal/memory/graph/semantic.go @@ -5,10 +5,10 @@ import ( "sort" "time" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/search" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/search" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) // Minimum similarity to be considered a semantic candidate (token overlap fallback). diff --git a/internal/graph/temporal.go b/internal/memory/graph/temporal.go similarity index 96% rename from internal/graph/temporal.go rename to internal/memory/graph/temporal.go index 3946ee18..0ca0ddbc 100644 --- a/internal/graph/temporal.go +++ b/internal/memory/graph/temporal.go @@ -4,8 +4,8 @@ import ( "fmt" "time" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) // Temporal proximity window in hours (MAGMA: 24h). diff --git a/internal/importdraft/draft.go b/internal/memory/importdraft/draft.go similarity index 99% rename from internal/importdraft/draft.go rename to internal/memory/importdraft/draft.go index 849defb6..de621c2c 100644 --- a/internal/importdraft/draft.go +++ b/internal/memory/importdraft/draft.go @@ -9,7 +9,7 @@ import ( "os" "time" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) // CurrentSchemaVersion is the only schema version this build can import. diff --git a/internal/importdraft/draft_test.go b/internal/memory/importdraft/draft_test.go similarity index 100% rename from internal/importdraft/draft_test.go rename to internal/memory/importdraft/draft_test.go diff --git a/internal/model/edge.go b/internal/memory/model/edge.go similarity index 100% rename from internal/model/edge.go rename to internal/memory/model/edge.go diff --git a/internal/model/edge_test.go b/internal/memory/model/edge_test.go similarity index 100% rename from internal/model/edge_test.go rename to internal/memory/model/edge_test.go diff --git a/internal/model/node.go b/internal/memory/model/node.go similarity index 100% rename from internal/model/node.go rename to internal/memory/model/node.go diff --git a/internal/model/node_test.go b/internal/memory/model/node_test.go similarity index 100% rename from internal/model/node_test.go rename to internal/memory/model/node_test.go diff --git a/internal/search/diff.go b/internal/memory/search/diff.go similarity index 98% rename from internal/search/diff.go rename to internal/memory/search/diff.go index 48775933..32d8c7a1 100644 --- a/internal/search/diff.go +++ b/internal/memory/search/diff.go @@ -4,8 +4,8 @@ import ( "sort" "strings" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) // DiffSuggestion classifies how a new fact relates to existing content. diff --git a/internal/search/diff_test.go b/internal/memory/search/diff_test.go similarity index 99% rename from internal/search/diff_test.go rename to internal/memory/search/diff_test.go index c7bddf23..037964a2 100644 --- a/internal/search/diff_test.go +++ b/internal/memory/search/diff_test.go @@ -3,7 +3,7 @@ package search import ( "testing" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) func TestClassifySuggestion_Add(t *testing.T) { diff --git a/internal/search/integration_test.go b/internal/memory/search/integration_test.go similarity index 99% rename from internal/search/integration_test.go rename to internal/memory/search/integration_test.go index b0817f48..51204aa3 100644 --- a/internal/search/integration_test.go +++ b/internal/memory/search/integration_test.go @@ -5,9 +5,9 @@ import ( "testing" "time" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) func testDB(t *testing.T) *store.DB { diff --git a/internal/search/intent.go b/internal/memory/search/intent.go similarity index 97% rename from internal/search/intent.go rename to internal/memory/search/intent.go index 3a969950..2ba56e21 100644 --- a/internal/search/intent.go +++ b/internal/memory/search/intent.go @@ -5,7 +5,7 @@ import ( "regexp" "strings" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) // Intent represents the detected query intent. diff --git a/internal/search/intent_test.go b/internal/memory/search/intent_test.go similarity index 100% rename from internal/search/intent_test.go rename to internal/memory/search/intent_test.go diff --git a/internal/search/keyword.go b/internal/memory/search/keyword.go similarity index 99% rename from internal/search/keyword.go rename to internal/memory/search/keyword.go index 26020b54..c9348976 100644 --- a/internal/search/keyword.go +++ b/internal/memory/search/keyword.go @@ -5,7 +5,7 @@ import ( "strings" "unicode" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) // ScoredInsight pairs an insight with a relevance score. diff --git a/internal/search/keyword_test.go b/internal/memory/search/keyword_test.go similarity index 99% rename from internal/search/keyword_test.go rename to internal/memory/search/keyword_test.go index 73d644f8..d68b90e2 100644 --- a/internal/search/keyword_test.go +++ b/internal/memory/search/keyword_test.go @@ -3,7 +3,7 @@ package search import ( "testing" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) func TestTokenize_English(t *testing.T) { diff --git a/internal/search/recall.go b/internal/memory/search/recall.go similarity index 99% rename from internal/search/recall.go rename to internal/memory/search/recall.go index e1f8acf2..c99f9906 100644 --- a/internal/search/recall.go +++ b/internal/memory/search/recall.go @@ -6,9 +6,9 @@ import ( "sort" "strings" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/model" - "github.com/mnemon-dev/mnemon/internal/store" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/model" + "github.com/mnemon-dev/mnemon/internal/memory/store" ) // Beam search parameters (MAGMA-aligned). diff --git a/internal/search/recall_test.go b/internal/memory/search/recall_test.go similarity index 100% rename from internal/search/recall_test.go rename to internal/memory/search/recall_test.go diff --git a/internal/setup/assets/assets.go b/internal/memory/setup/assets/assets.go similarity index 100% rename from internal/setup/assets/assets.go rename to internal/memory/setup/assets/assets.go diff --git a/internal/setup/assets/claude/SKILL.md b/internal/memory/setup/assets/claude/SKILL.md similarity index 100% rename from internal/setup/assets/claude/SKILL.md rename to internal/memory/setup/assets/claude/SKILL.md diff --git a/internal/setup/assets/claude/compact.sh b/internal/memory/setup/assets/claude/compact.sh similarity index 100% rename from internal/setup/assets/claude/compact.sh rename to internal/memory/setup/assets/claude/compact.sh diff --git a/internal/setup/assets/claude/guide.md b/internal/memory/setup/assets/claude/guide.md similarity index 100% rename from internal/setup/assets/claude/guide.md rename to internal/memory/setup/assets/claude/guide.md diff --git a/internal/setup/assets/claude/prime.sh b/internal/memory/setup/assets/claude/prime.sh similarity index 100% rename from internal/setup/assets/claude/prime.sh rename to internal/memory/setup/assets/claude/prime.sh diff --git a/internal/setup/assets/claude/stop.sh b/internal/memory/setup/assets/claude/stop.sh similarity index 100% rename from internal/setup/assets/claude/stop.sh rename to internal/memory/setup/assets/claude/stop.sh diff --git a/internal/setup/assets/claude/user_prompt.sh b/internal/memory/setup/assets/claude/user_prompt.sh similarity index 100% rename from internal/setup/assets/claude/user_prompt.sh rename to internal/memory/setup/assets/claude/user_prompt.sh diff --git a/internal/setup/assets/codebuddy/SKILL.md b/internal/memory/setup/assets/codebuddy/SKILL.md similarity index 100% rename from internal/setup/assets/codebuddy/SKILL.md rename to internal/memory/setup/assets/codebuddy/SKILL.md diff --git a/internal/setup/assets/codebuddy/prime.sh b/internal/memory/setup/assets/codebuddy/prime.sh similarity index 100% rename from internal/setup/assets/codebuddy/prime.sh rename to internal/memory/setup/assets/codebuddy/prime.sh diff --git a/internal/setup/assets/codebuddy/stop.sh b/internal/memory/setup/assets/codebuddy/stop.sh similarity index 100% rename from internal/setup/assets/codebuddy/stop.sh rename to internal/memory/setup/assets/codebuddy/stop.sh diff --git a/internal/setup/assets/codebuddy/user_prompt.sh b/internal/memory/setup/assets/codebuddy/user_prompt.sh similarity index 100% rename from internal/setup/assets/codebuddy/user_prompt.sh rename to internal/memory/setup/assets/codebuddy/user_prompt.sh diff --git a/internal/setup/assets/codex/SKILL.md b/internal/memory/setup/assets/codex/SKILL.md similarity index 100% rename from internal/setup/assets/codex/SKILL.md rename to internal/memory/setup/assets/codex/SKILL.md diff --git a/internal/setup/assets/codex/prime.sh b/internal/memory/setup/assets/codex/prime.sh similarity index 100% rename from internal/setup/assets/codex/prime.sh rename to internal/memory/setup/assets/codex/prime.sh diff --git a/internal/setup/assets/codex/stop.sh b/internal/memory/setup/assets/codex/stop.sh similarity index 100% rename from internal/setup/assets/codex/stop.sh rename to internal/memory/setup/assets/codex/stop.sh diff --git a/internal/setup/assets/codex/user_prompt.sh b/internal/memory/setup/assets/codex/user_prompt.sh similarity index 100% rename from internal/setup/assets/codex/user_prompt.sh rename to internal/memory/setup/assets/codex/user_prompt.sh diff --git a/internal/setup/assets/cursor/SKILL.md b/internal/memory/setup/assets/cursor/SKILL.md similarity index 100% rename from internal/setup/assets/cursor/SKILL.md rename to internal/memory/setup/assets/cursor/SKILL.md diff --git a/internal/setup/assets/cursor/compact.sh b/internal/memory/setup/assets/cursor/compact.sh similarity index 100% rename from internal/setup/assets/cursor/compact.sh rename to internal/memory/setup/assets/cursor/compact.sh diff --git a/internal/setup/assets/cursor/prime.sh b/internal/memory/setup/assets/cursor/prime.sh similarity index 100% rename from internal/setup/assets/cursor/prime.sh rename to internal/memory/setup/assets/cursor/prime.sh diff --git a/internal/setup/assets/cursor/stop.sh b/internal/memory/setup/assets/cursor/stop.sh similarity index 100% rename from internal/setup/assets/cursor/stop.sh rename to internal/memory/setup/assets/cursor/stop.sh diff --git a/internal/setup/assets/hermes/SKILL.md b/internal/memory/setup/assets/hermes/SKILL.md similarity index 100% rename from internal/setup/assets/hermes/SKILL.md rename to internal/memory/setup/assets/hermes/SKILL.md diff --git a/internal/setup/assets/hermes/compact.sh b/internal/memory/setup/assets/hermes/compact.sh similarity index 100% rename from internal/setup/assets/hermes/compact.sh rename to internal/memory/setup/assets/hermes/compact.sh diff --git a/internal/setup/assets/hermes/nudge.sh b/internal/memory/setup/assets/hermes/nudge.sh similarity index 100% rename from internal/setup/assets/hermes/nudge.sh rename to internal/memory/setup/assets/hermes/nudge.sh diff --git a/internal/setup/assets/hermes/prime.sh b/internal/memory/setup/assets/hermes/prime.sh similarity index 100% rename from internal/setup/assets/hermes/prime.sh rename to internal/memory/setup/assets/hermes/prime.sh diff --git a/internal/setup/assets/hermes/remind.sh b/internal/memory/setup/assets/hermes/remind.sh similarity index 100% rename from internal/setup/assets/hermes/remind.sh rename to internal/memory/setup/assets/hermes/remind.sh diff --git a/internal/setup/assets/kimi/SKILL.md b/internal/memory/setup/assets/kimi/SKILL.md similarity index 100% rename from internal/setup/assets/kimi/SKILL.md rename to internal/memory/setup/assets/kimi/SKILL.md diff --git a/internal/setup/assets/kimi/prime.sh b/internal/memory/setup/assets/kimi/prime.sh similarity index 100% rename from internal/setup/assets/kimi/prime.sh rename to internal/memory/setup/assets/kimi/prime.sh diff --git a/internal/setup/assets/kimi/stop.sh b/internal/memory/setup/assets/kimi/stop.sh similarity index 100% rename from internal/setup/assets/kimi/stop.sh rename to internal/memory/setup/assets/kimi/stop.sh diff --git a/internal/setup/assets/kimi/user_prompt.sh b/internal/memory/setup/assets/kimi/user_prompt.sh similarity index 100% rename from internal/setup/assets/kimi/user_prompt.sh rename to internal/memory/setup/assets/kimi/user_prompt.sh diff --git a/internal/setup/assets/nanobot/SKILL.md b/internal/memory/setup/assets/nanobot/SKILL.md similarity index 100% rename from internal/setup/assets/nanobot/SKILL.md rename to internal/memory/setup/assets/nanobot/SKILL.md diff --git a/internal/setup/assets/nanoclaw/SKILL.md b/internal/memory/setup/assets/nanoclaw/SKILL.md similarity index 100% rename from internal/setup/assets/nanoclaw/SKILL.md rename to internal/memory/setup/assets/nanoclaw/SKILL.md diff --git a/internal/setup/assets/nanoclaw/container-skill.md b/internal/memory/setup/assets/nanoclaw/container-skill.md similarity index 100% rename from internal/setup/assets/nanoclaw/container-skill.md rename to internal/memory/setup/assets/nanoclaw/container-skill.md diff --git a/internal/setup/assets/openclaw/SKILL.md b/internal/memory/setup/assets/openclaw/SKILL.md similarity index 100% rename from internal/setup/assets/openclaw/SKILL.md rename to internal/memory/setup/assets/openclaw/SKILL.md diff --git a/internal/setup/assets/openclaw/hooks/mnemon-prime/HOOK.md b/internal/memory/setup/assets/openclaw/hooks/mnemon-prime/HOOK.md similarity index 100% rename from internal/setup/assets/openclaw/hooks/mnemon-prime/HOOK.md rename to internal/memory/setup/assets/openclaw/hooks/mnemon-prime/HOOK.md diff --git a/internal/setup/assets/openclaw/hooks/mnemon-prime/handler.js b/internal/memory/setup/assets/openclaw/hooks/mnemon-prime/handler.js similarity index 100% rename from internal/setup/assets/openclaw/hooks/mnemon-prime/handler.js rename to internal/memory/setup/assets/openclaw/hooks/mnemon-prime/handler.js diff --git a/internal/setup/assets/openclaw/plugin/index.js b/internal/memory/setup/assets/openclaw/plugin/index.js similarity index 100% rename from internal/setup/assets/openclaw/plugin/index.js rename to internal/memory/setup/assets/openclaw/plugin/index.js diff --git a/internal/setup/assets/openclaw/plugin/openclaw.plugin.json b/internal/memory/setup/assets/openclaw/plugin/openclaw.plugin.json similarity index 100% rename from internal/setup/assets/openclaw/plugin/openclaw.plugin.json rename to internal/memory/setup/assets/openclaw/plugin/openclaw.plugin.json diff --git a/internal/setup/assets/openclaw/plugin/package.json b/internal/memory/setup/assets/openclaw/plugin/package.json similarity index 100% rename from internal/setup/assets/openclaw/plugin/package.json rename to internal/memory/setup/assets/openclaw/plugin/package.json diff --git a/internal/setup/assets/opencode/SKILL.md b/internal/memory/setup/assets/opencode/SKILL.md similarity index 100% rename from internal/setup/assets/opencode/SKILL.md rename to internal/memory/setup/assets/opencode/SKILL.md diff --git a/internal/setup/assets/opencode/mnemon.js b/internal/memory/setup/assets/opencode/mnemon.js similarity index 100% rename from internal/setup/assets/opencode/mnemon.js rename to internal/memory/setup/assets/opencode/mnemon.js diff --git a/internal/setup/assets/pi/SKILL.md b/internal/memory/setup/assets/pi/SKILL.md similarity index 100% rename from internal/setup/assets/pi/SKILL.md rename to internal/memory/setup/assets/pi/SKILL.md diff --git a/internal/setup/assets/pi/mnemon.ts b/internal/memory/setup/assets/pi/mnemon.ts similarity index 100% rename from internal/setup/assets/pi/mnemon.ts rename to internal/memory/setup/assets/pi/mnemon.ts diff --git a/internal/setup/assets/qoder/SKILL.md b/internal/memory/setup/assets/qoder/SKILL.md similarity index 100% rename from internal/setup/assets/qoder/SKILL.md rename to internal/memory/setup/assets/qoder/SKILL.md diff --git a/internal/setup/assets/qoder/prime.sh b/internal/memory/setup/assets/qoder/prime.sh similarity index 100% rename from internal/setup/assets/qoder/prime.sh rename to internal/memory/setup/assets/qoder/prime.sh diff --git a/internal/setup/assets/qoder/stop.sh b/internal/memory/setup/assets/qoder/stop.sh similarity index 100% rename from internal/setup/assets/qoder/stop.sh rename to internal/memory/setup/assets/qoder/stop.sh diff --git a/internal/setup/assets/qoder/user_prompt.sh b/internal/memory/setup/assets/qoder/user_prompt.sh similarity index 100% rename from internal/setup/assets/qoder/user_prompt.sh rename to internal/memory/setup/assets/qoder/user_prompt.sh diff --git a/internal/setup/assets/qoderwork/SKILL.md b/internal/memory/setup/assets/qoderwork/SKILL.md similarity index 100% rename from internal/setup/assets/qoderwork/SKILL.md rename to internal/memory/setup/assets/qoderwork/SKILL.md diff --git a/internal/setup/assets/trae/SKILL.md b/internal/memory/setup/assets/trae/SKILL.md similarity index 100% rename from internal/setup/assets/trae/SKILL.md rename to internal/memory/setup/assets/trae/SKILL.md diff --git a/internal/setup/assets/trae/prime.sh b/internal/memory/setup/assets/trae/prime.sh similarity index 100% rename from internal/setup/assets/trae/prime.sh rename to internal/memory/setup/assets/trae/prime.sh diff --git a/internal/setup/assets/trae/stop.sh b/internal/memory/setup/assets/trae/stop.sh similarity index 100% rename from internal/setup/assets/trae/stop.sh rename to internal/memory/setup/assets/trae/stop.sh diff --git a/internal/setup/assets/trae/user_prompt.sh b/internal/memory/setup/assets/trae/user_prompt.sh similarity index 100% rename from internal/setup/assets/trae/user_prompt.sh rename to internal/memory/setup/assets/trae/user_prompt.sh diff --git a/internal/setup/assets/workbuddy/SKILL.md b/internal/memory/setup/assets/workbuddy/SKILL.md similarity index 100% rename from internal/setup/assets/workbuddy/SKILL.md rename to internal/memory/setup/assets/workbuddy/SKILL.md diff --git a/internal/setup/assets/workbuddy/prime.sh b/internal/memory/setup/assets/workbuddy/prime.sh similarity index 100% rename from internal/setup/assets/workbuddy/prime.sh rename to internal/memory/setup/assets/workbuddy/prime.sh diff --git a/internal/setup/assets/workbuddy/stop.sh b/internal/memory/setup/assets/workbuddy/stop.sh similarity index 100% rename from internal/setup/assets/workbuddy/stop.sh rename to internal/memory/setup/assets/workbuddy/stop.sh diff --git a/internal/setup/assets/workbuddy/user_prompt.sh b/internal/memory/setup/assets/workbuddy/user_prompt.sh similarity index 100% rename from internal/setup/assets/workbuddy/user_prompt.sh rename to internal/memory/setup/assets/workbuddy/user_prompt.sh diff --git a/internal/setup/claude.go b/internal/memory/setup/claude.go similarity index 99% rename from internal/setup/claude.go rename to internal/memory/setup/claude.go index fa7e1c39..652d5876 100644 --- a/internal/setup/claude.go +++ b/internal/memory/setup/claude.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // HookSelection describes which optional hooks to install. diff --git a/internal/setup/claude_test.go b/internal/memory/setup/claude_test.go similarity index 98% rename from internal/setup/claude_test.go rename to internal/memory/setup/claude_test.go index d5037aa7..11871b36 100644 --- a/internal/setup/claude_test.go +++ b/internal/memory/setup/claude_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) func TestPromptDirHonorsMnemonDataDir(t *testing.T) { diff --git a/internal/setup/codebuddy.go b/internal/memory/setup/codebuddy.go similarity index 98% rename from internal/setup/codebuddy.go rename to internal/memory/setup/codebuddy.go index e29f33ab..329ba805 100644 --- a/internal/setup/codebuddy.go +++ b/internal/memory/setup/codebuddy.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // CodeBuddyWriteSkill writes the mnemon skill to the CodeBuddy skills directory. diff --git a/internal/setup/codex.go b/internal/memory/setup/codex.go similarity index 98% rename from internal/setup/codex.go rename to internal/memory/setup/codex.go index 01357e64..1dc9183c 100644 --- a/internal/setup/codex.go +++ b/internal/memory/setup/codex.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // CodexWriteSkill writes the mnemon skill to the Codex skills directory. diff --git a/internal/setup/cursor.go b/internal/memory/setup/cursor.go similarity index 98% rename from internal/setup/cursor.go rename to internal/memory/setup/cursor.go index 9355b9a5..c34f7b55 100644 --- a/internal/setup/cursor.go +++ b/internal/memory/setup/cursor.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // CursorWriteSkill writes the mnemon skill to the Cursor skills directory. diff --git a/internal/setup/cursor_test.go b/internal/memory/setup/cursor_test.go similarity index 100% rename from internal/setup/cursor_test.go rename to internal/memory/setup/cursor_test.go diff --git a/internal/setup/detect.go b/internal/memory/setup/detect.go similarity index 100% rename from internal/setup/detect.go rename to internal/memory/setup/detect.go diff --git a/internal/setup/files.go b/internal/memory/setup/files.go similarity index 100% rename from internal/setup/files.go rename to internal/memory/setup/files.go diff --git a/internal/setup/hermes.go b/internal/memory/setup/hermes.go similarity index 98% rename from internal/setup/hermes.go rename to internal/memory/setup/hermes.go index 121896e3..fa9a6c5f 100644 --- a/internal/setup/hermes.go +++ b/internal/memory/setup/hermes.go @@ -6,7 +6,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" "go.yaml.in/yaml/v3" ) diff --git a/internal/setup/hermes_test.go b/internal/memory/setup/hermes_test.go similarity index 98% rename from internal/setup/hermes_test.go rename to internal/memory/setup/hermes_test.go index 852b364a..77190de4 100644 --- a/internal/setup/hermes_test.go +++ b/internal/memory/setup/hermes_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) func TestHermesWriteSkillAndHooks(t *testing.T) { diff --git a/internal/setup/host_artifacts_test.go b/internal/memory/setup/host_artifacts_test.go similarity index 97% rename from internal/setup/host_artifacts_test.go rename to internal/memory/setup/host_artifacts_test.go index 69579ea1..260d7374 100644 --- a/internal/setup/host_artifacts_test.go +++ b/internal/memory/setup/host_artifacts_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "testing" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) func TestHostSkillAndHookArtifacts(t *testing.T) { diff --git a/internal/setup/kimi.go b/internal/memory/setup/kimi.go similarity index 98% rename from internal/setup/kimi.go rename to internal/memory/setup/kimi.go index 7b44f252..1559dd1e 100644 --- a/internal/setup/kimi.go +++ b/internal/memory/setup/kimi.go @@ -6,7 +6,7 @@ import ( "path/filepath" "strings" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // KimiWriteSkill writes the mnemon skill to the Kimi Code skills directory. diff --git a/internal/setup/kimi_test.go b/internal/memory/setup/kimi_test.go similarity index 100% rename from internal/setup/kimi_test.go rename to internal/memory/setup/kimi_test.go diff --git a/internal/setup/markdown.go b/internal/memory/setup/markdown.go similarity index 100% rename from internal/setup/markdown.go rename to internal/memory/setup/markdown.go diff --git a/internal/setup/markdown_test.go b/internal/memory/setup/markdown_test.go similarity index 100% rename from internal/setup/markdown_test.go rename to internal/memory/setup/markdown_test.go diff --git a/internal/setup/nanobot.go b/internal/memory/setup/nanobot.go similarity index 94% rename from internal/setup/nanobot.go rename to internal/memory/setup/nanobot.go index 727f66ae..056b24eb 100644 --- a/internal/setup/nanobot.go +++ b/internal/memory/setup/nanobot.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // NanobotWriteSkill writes the SKILL.md to the nanobot skills directory. diff --git a/internal/setup/nested_settings_hosts_test.go b/internal/memory/setup/nested_settings_hosts_test.go similarity index 100% rename from internal/setup/nested_settings_hosts_test.go rename to internal/memory/setup/nested_settings_hosts_test.go diff --git a/internal/setup/openclaw.go b/internal/memory/setup/openclaw.go similarity index 98% rename from internal/setup/openclaw.go rename to internal/memory/setup/openclaw.go index de65861c..f1df185b 100644 --- a/internal/setup/openclaw.go +++ b/internal/memory/setup/openclaw.go @@ -6,7 +6,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // OpenClawWriteSkill writes the SKILL.md to the OpenClaw skills directory. diff --git a/internal/setup/openclaw_test.go b/internal/memory/setup/openclaw_test.go similarity index 97% rename from internal/setup/openclaw_test.go rename to internal/memory/setup/openclaw_test.go index 3ac94299..4097b576 100644 --- a/internal/setup/openclaw_test.go +++ b/internal/memory/setup/openclaw_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) func TestOpenClawRegisterPluginWritesSelection(t *testing.T) { diff --git a/internal/setup/opencode.go b/internal/memory/setup/opencode.go similarity index 98% rename from internal/setup/opencode.go rename to internal/memory/setup/opencode.go index 2518f88e..3d533f94 100644 --- a/internal/setup/opencode.go +++ b/internal/memory/setup/opencode.go @@ -6,7 +6,7 @@ import ( "path/filepath" "strings" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // OpenCodeWriteSkill writes the mnemon skill to the OpenCode skills directory. diff --git a/internal/setup/opencode_test.go b/internal/memory/setup/opencode_test.go similarity index 100% rename from internal/setup/opencode_test.go rename to internal/memory/setup/opencode_test.go diff --git a/internal/setup/pi.go b/internal/memory/setup/pi.go similarity index 96% rename from internal/setup/pi.go rename to internal/memory/setup/pi.go index 6ec291e0..a0f01f12 100644 --- a/internal/setup/pi.go +++ b/internal/memory/setup/pi.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // PiWriteSkill writes the mnemon skill to the Pi skills directory. diff --git a/internal/setup/pi_test.go b/internal/memory/setup/pi_test.go similarity index 97% rename from internal/setup/pi_test.go rename to internal/memory/setup/pi_test.go index f7445fff..ce799524 100644 --- a/internal/setup/pi_test.go +++ b/internal/memory/setup/pi_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) func TestPiWriteSkillAndExtension(t *testing.T) { diff --git a/internal/setup/prompt.go b/internal/memory/setup/prompt.go similarity index 100% rename from internal/setup/prompt.go rename to internal/memory/setup/prompt.go diff --git a/internal/setup/qoder.go b/internal/memory/setup/qoder.go similarity index 98% rename from internal/setup/qoder.go rename to internal/memory/setup/qoder.go index 75164392..4f597107 100644 --- a/internal/setup/qoder.go +++ b/internal/memory/setup/qoder.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // QoderWriteSkill writes the mnemon skill to the Qoder skills directory. diff --git a/internal/setup/qoder_test.go b/internal/memory/setup/qoder_test.go similarity index 100% rename from internal/setup/qoder_test.go rename to internal/memory/setup/qoder_test.go diff --git a/internal/setup/settings.go b/internal/memory/setup/settings.go similarity index 100% rename from internal/setup/settings.go rename to internal/memory/setup/settings.go diff --git a/internal/setup/settings_test.go b/internal/memory/setup/settings_test.go similarity index 100% rename from internal/setup/settings_test.go rename to internal/memory/setup/settings_test.go diff --git a/internal/setup/trae.go b/internal/memory/setup/trae.go similarity index 98% rename from internal/setup/trae.go rename to internal/memory/setup/trae.go index 95ad535d..97561120 100644 --- a/internal/setup/trae.go +++ b/internal/memory/setup/trae.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // TraeWriteSkill writes the mnemon skill to the Trae skills directory. diff --git a/internal/setup/trae_test.go b/internal/memory/setup/trae_test.go similarity index 100% rename from internal/setup/trae_test.go rename to internal/memory/setup/trae_test.go diff --git a/internal/setup/workbuddy.go b/internal/memory/setup/workbuddy.go similarity index 98% rename from internal/setup/workbuddy.go rename to internal/memory/setup/workbuddy.go index 088baa7a..16bce42e 100644 --- a/internal/setup/workbuddy.go +++ b/internal/memory/setup/workbuddy.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "github.com/mnemon-dev/mnemon/internal/setup/assets" + "github.com/mnemon-dev/mnemon/internal/memory/setup/assets" ) // WorkBuddyWriteSkill writes the mnemon skill to the WorkBuddy skills directory. diff --git a/internal/store/db.go b/internal/memory/store/db.go similarity index 99% rename from internal/store/db.go rename to internal/memory/store/db.go index 13474931..3880a076 100644 --- a/internal/store/db.go +++ b/internal/memory/store/db.go @@ -10,7 +10,7 @@ import ( "sort" "strings" - "github.com/mnemon-dev/mnemon/internal/embed" + "github.com/mnemon-dev/mnemon/internal/memory/embed" _ "modernc.org/sqlite" ) diff --git a/internal/store/edge.go b/internal/memory/store/edge.go similarity index 98% rename from internal/store/edge.go rename to internal/memory/store/edge.go index b1627e47..78c03793 100644 --- a/internal/store/edge.go +++ b/internal/memory/store/edge.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) // InsertEdge inserts or replaces an edge. diff --git a/internal/store/node.go b/internal/memory/store/node.go similarity index 99% rename from internal/store/node.go rename to internal/memory/store/node.go index e86c3321..69e67539 100644 --- a/internal/store/node.go +++ b/internal/memory/store/node.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) // Lifecycle constants diff --git a/internal/store/oplog.go b/internal/memory/store/oplog.go similarity index 100% rename from internal/store/oplog.go rename to internal/memory/store/oplog.go diff --git a/internal/store/store_test.go b/internal/memory/store/store_test.go similarity index 99% rename from internal/store/store_test.go rename to internal/memory/store/store_test.go index 869870ba..21067abf 100644 --- a/internal/store/store_test.go +++ b/internal/memory/store/store_test.go @@ -9,8 +9,8 @@ import ( "testing" "time" - "github.com/mnemon-dev/mnemon/internal/embed" - "github.com/mnemon-dev/mnemon/internal/model" + "github.com/mnemon-dev/mnemon/internal/memory/embed" + "github.com/mnemon-dev/mnemon/internal/memory/model" ) // testDB creates a fresh SQLite database in a temp directory, auto-closed on test cleanup. diff --git a/scripts/e2e_test.sh b/scripts/e2e_test.sh index 3206ad4d..8854ba1c 100755 --- a/scripts/e2e_test.sh +++ b/scripts/e2e_test.sh @@ -325,7 +325,7 @@ OUT=$($M --data-dir "$TESTDIR2" related "$ID_D" --edge entity) assert_contains "D → E via entity (reverse)" "$OUT" "$ID_E" step "Entity extraction — file paths" -OUT=$($M --data-dir "$TESTDIR2" remember --no-diff "Config lives at ./cmd/root.go and internal/store/db.go" --cat fact) +OUT=$($M --data-dir "$TESTDIR2" remember --no-diff "Config lives at ./cmd/root.go and internal/memory/store/db.go" --cat fact) echo -e " ${DIM}entities: $(echo "$OUT" | jq -c '.entities')${RESET}" assert_contains "file path extracted" "$OUT" './cmd/root.go' diff --git a/test/mnemond/architecture/mnemond_structure_test.go b/test/mnemond/architecture/mnemond_structure_test.go index 9ef61f6a..f5d95907 100644 --- a/test/mnemond/architecture/mnemond_structure_test.go +++ b/test/mnemond/architecture/mnemond_structure_test.go @@ -42,11 +42,7 @@ func assertNativeMemoryDoesNotImportAgency(t *testing.T, root string) { "internal/artifact": {}, "internal/daemon": {}, "internal/peerlink": {}, } - for _, component := range []string{ - "cmd/memory", "internal/embed", "internal/graph", - "internal/importdraft", "internal/model", "internal/search", "internal/setup", - "internal/store", - } { + for _, component := range []string{"cmd/memory", "internal/memory"} { forEachComponentGoFile(t, root, component, func(path string, file *ast.File) { for _, spec := range file.Imports { importPath, err := strconv.Unquote(spec.Path.Value) @@ -73,17 +69,31 @@ func assertNativeMemoryDoesNotImportAgency(t *testing.T, root string) { func assertMnemondPackageGraph(t *testing.T, root string) { t.Helper() want := map[string][]string{ - "internal/agency": {}, - "internal/agencyclient": {"internal/agency"}, - "internal/attach": {}, - "internal/authority": {"internal/agency"}, - "internal/artifact": {"internal/agency"}, - "internal/daemon": {"internal/agency", "internal/authority", "internal/artifact", "internal/peerlink"}, - "internal/peerlink": {"internal/agency", "internal/artifact"}, - "cmd/agency": {"internal/agencyclient", "internal/attach", "internal/daemon"}, + "internal/memory/embed": {}, + "internal/memory/model": {}, + "internal/memory/importdraft": {"internal/memory/model"}, + "internal/memory/store": {"internal/memory/embed", "internal/memory/model"}, + "internal/memory/search": { + "internal/memory/embed", "internal/memory/model", "internal/memory/store", + }, + "internal/memory/graph": { + "internal/memory/embed", "internal/memory/model", "internal/memory/search", + "internal/memory/store", + }, + "internal/memory/setup/assets": {}, + "internal/memory/setup": {"internal/memory/setup/assets"}, + "internal/agency": {}, + "internal/agencyclient": {"internal/agency"}, + "internal/attach": {}, + "internal/authority": {"internal/agency"}, + "internal/artifact": {"internal/agency"}, + "internal/daemon": {"internal/agency", "internal/authority", "internal/artifact", "internal/peerlink"}, + "internal/peerlink": {"internal/agency", "internal/artifact"}, + "cmd/agency": {"internal/agencyclient", "internal/attach", "internal/daemon"}, "cmd/memory": { - "internal/embed", "internal/graph", "internal/importdraft", "internal/model", - "internal/search", "internal/setup", "internal/setup/assets", "internal/store", + "internal/memory/embed", "internal/memory/graph", "internal/memory/importdraft", + "internal/memory/model", "internal/memory/search", "internal/memory/setup", + "internal/memory/setup/assets", "internal/memory/store", }, } got := make(map[string]map[string]struct{}, len(want)) diff --git a/test/mnemond/architecture/repository_hygiene_test.go b/test/mnemond/architecture/repository_hygiene_test.go index 740bf102..f656c555 100644 --- a/test/mnemond/architecture/repository_hygiene_test.go +++ b/test/mnemond/architecture/repository_hygiene_test.go @@ -70,14 +70,14 @@ func TestRepositoryHygieneRulesRejectGeneratedFiles(t *testing.T) { }{ {"scratch/result.json", `{}`, "durable JSON category"}, {"testdata/mnemond/cases/example/tmp.json", `{}`, "temporary JSON name"}, - {"internal/setup/assets/fixtures/report-copy.json", + {"internal/memory/setup/assets/fixtures/report-copy.json", `{"schema_version":1,"run_id":"run","status":"passed","git_sha":"abc",` + `"scenario":"example","commands":[],"assertions":[]}`, "run report"}, - {"internal/setup/assets/fixtures/manifest-copy.json", + {"internal/memory/setup/assets/fixtures/manifest-copy.json", `{"schema_version":1,"run_id":"run","files":[]}`, "run evidence manifest"}, - {"internal/setup/assets/fixtures/command.json", + {"internal/memory/setup/assets/fixtures/command.json", `{"sequence":1,"node":"A","kind":"setup","started_unix_ms":1,` + `"finished_unix_ms":2,"exit_code":0,"evidence":[]}`, "run transcript"}, @@ -92,8 +92,8 @@ func TestRepositoryHygieneRulesRejectGeneratedFiles(t *testing.T) { func TestRepositoryHygieneRulesAcceptDurableJSONCategories(t *testing.T) { for _, trackedPath := range []string{ - "internal/setup/assets/openclaw/plugin/openclaw.plugin.json", - "internal/setup/assets/openclaw/plugin/package.json", + "internal/memory/setup/assets/openclaw/plugin/openclaw.plugin.json", + "internal/memory/setup/assets/openclaw/plugin/package.json", } { if reason := forbiddenTrackedPathReason(trackedPath); reason != "" { t.Errorf("%s: %s", trackedPath, reason) @@ -235,7 +235,7 @@ func temporaryJSONNameReason(trackedPath string) string { func durableJSONCategory(trackedPath string) string { switch { - case strings.HasPrefix(trackedPath, "internal/setup/assets/"): + case strings.HasPrefix(trackedPath, "internal/memory/setup/assets/"): return "managed asset" default: return "" From 70b8e61011eaa9eb30271879cf4afa15a5488e07 Mon Sep 17 00:00:00 2001 From: Grivn Date: Tue, 11 Aug 2026 19:38:14 +0200 Subject: [PATCH 3/3] refactor: group agency packages by domain Move Agency authority, artifact, peer transport, client, and Pi attachment packages under internal/agency while keeping the protocol root and daemon composition boundary stable. Update imports, package guards, ownership docs, and path-sensitive runtime tests without changing wire, persistence, or workspace paths. Validated with go build -o mnemon ., focused Agency and architecture tests, and umask 022; make test. --- Makefile | 8 +++---- cmd/agency/command.go | 2 +- cmd/agency/setup.go | 2 +- docs/mnemond/protocol.md | 18 +++++++------- docs/zh/mnemond/protocol.md | 18 +++++++------- internal/{ => agency}/artifact/doc.go | 0 internal/{ => agency}/artifact/filesystem.go | 0 internal/{ => agency}/artifact/store.go | 0 internal/{ => agency}/artifact/store_test.go | 0 internal/{ => agency}/attach/assets.go | 0 .../{ => agency}/attach/assets/hook-cue.txt | 0 .../{ => agency}/attach/assets/mnemond.md | 0 .../attach/assets/pi/mnemond-current.ts | 0 .../{ => agency}/attach/assets/pi/mnemond.ts | 0 internal/{ => agency}/attach/attach_test.go | 0 internal/{ => agency}/attach/doc.go | 0 internal/{ => agency}/attach/filesystem.go | 0 internal/{ => agency}/attach/install.go | 0 .../{ => agency}/attach/pi_current_test.go | 0 .../attach/pi_effect_settlement_test.go | 0 internal/{ => agency}/authority/admission.go | 0 .../{ => agency}/authority/admission_apply.go | 0 .../authority/admission_atomicity_test.go | 0 .../authority/admission_lifecycle_test.go | 0 .../authority/admission_record.go | 0 .../authority/admission_reference_test.go | 0 .../authority/admission_replay_test.go | 0 .../authority/admission_test_helpers_test.go | 0 .../authority/admission_validate.go | 0 internal/{ => agency}/authority/artifact.go | 0 .../{ => agency}/authority/artifact_test.go | 0 internal/{ => agency}/authority/attachment.go | 0 .../authority/attachment_begin.go | 0 .../{ => agency}/authority/attachment_end.go | 0 .../authority/attachment_end_test.go | 0 .../{ => agency}/authority/attachment_test.go | 0 internal/{ => agency}/authority/bind.go | 0 internal/{ => agency}/authority/bind_test.go | 0 .../authority/claim_disposition.go | 0 .../claim_disposition_replay_test.go | 0 .../authority/claim_disposition_test.go | 0 internal/{ => agency}/authority/current.go | 0 .../authority/current_combined_bound_test.go | 0 .../{ => agency}/authority/current_focus.go | 0 .../current_focus_federation_test.go | 0 .../authority/current_focus_test.go | 0 .../authority/current_projection.go | 0 .../authority/current_replay_only_test.go | 0 .../authority/current_replay_test.go | 0 internal/{ => agency}/authority/doc.go | 0 .../authority/domain_admission.go | 0 internal/{ => agency}/authority/errors.go | 0 .../{ => agency}/authority/event_depth.go | 0 .../authority/event_depth_test.go | 0 .../authority/event_projection.go | 0 internal/{ => agency}/authority/filesystem.go | 0 .../authority/peer_delivery_admission.go | 0 .../authority/peer_delivery_authority_test.go | 0 .../authority/peer_delivery_inbox.go | 0 .../authority/peer_delivery_outbox.go | 0 .../authority/peer_delivery_projection.go | 0 .../authority/peer_delivery_settlement.go | 0 .../authority/peer_reply_binding_test.go | 0 internal/{ => agency}/authority/peer_route.go | 0 .../{ => agency}/authority/peer_route_test.go | 0 .../peer_terminal_reply_admission.go | 0 .../reply_observation_projection_test.go | 0 internal/{ => agency}/authority/schema.go | 0 internal/{ => agency}/authority/schema.sql | 0 .../{ => agency}/authority/schema_v5_test.go | 0 internal/{ => agency}/authority/store.go | 0 .../authority/store_existing_test.go | 0 internal/{ => agency}/authority/store_test.go | 0 .../authority/terminal_reply_test.go | 0 .../client}/agent_commands.go | 0 .../client}/agent_commands_test.go | 0 .../client}/control_client.go | 0 .../client}/control_client_test.go | 0 .../client}/control_json.go | 0 .../client}/control_peercred_darwin.go | 0 .../client}/control_peercred_linux.go | 0 .../client}/control_transport.go | 0 .../client}/control_types.go | 0 .../client}/hook_boundary.go | 0 .../client}/hook_commands.go | 0 .../client}/intent_diagnostic.go | 0 .../client}/journal.go | 0 .../client}/journal_files.go | 0 .../client}/journal_fs.go | 0 .../client}/journal_test.go | 0 .../client}/process_lock.go | 0 .../client}/terminal.go | 0 .../client}/terminal_test.go | 0 internal/{ => agency}/peerlink/client.go | 2 +- internal/{ => agency}/peerlink/doc.go | 0 internal/{ => agency}/peerlink/errors.go | 0 internal/{ => agency}/peerlink/frame.go | 2 +- internal/{ => agency}/peerlink/frame_test.go | 0 internal/{ => agency}/peerlink/identity.go | 0 internal/{ => agency}/peerlink/server.go | 2 +- .../{ => agency}/peerlink/transport_test.go | 2 +- internal/daemon/control.go | 2 +- internal/daemon/control_error.go | 4 ++-- internal/daemon/control_parse.go | 4 ++-- internal/daemon/daemon.go | 4 ++-- internal/daemon/daemon_test.go | 4 ++-- internal/daemon/ensure.go | 2 +- internal/daemon/exchange.go | 6 ++--- internal/daemon/exchange_fault_test.go | 4 ++-- internal/daemon/exchange_session.go | 2 +- internal/daemon/exchange_test.go | 2 +- internal/daemon/peer_enrollment.go | 4 ++-- internal/daemon/peer_setup.go | 2 +- internal/daemon/peer_setup_test.go | 4 ++-- internal/daemon/provision.go | 4 ++-- internal/daemon/provision_test.go | 4 ++-- internal/daemon/service.go | 4 ++-- .../architecture/mnemond_structure_test.go | 24 ++++++++++--------- .../trace/report_control_diagnostic.go | 2 +- test/mnemond/domainops/trace/trace_test.go | 2 +- .../mnemond/runtime/pi/run_delegate_oracle.sh | 4 ++-- 121 files changed, 73 insertions(+), 71 deletions(-) rename internal/{ => agency}/artifact/doc.go (100%) rename internal/{ => agency}/artifact/filesystem.go (100%) rename internal/{ => agency}/artifact/store.go (100%) rename internal/{ => agency}/artifact/store_test.go (100%) rename internal/{ => agency}/attach/assets.go (100%) rename internal/{ => agency}/attach/assets/hook-cue.txt (100%) rename internal/{ => agency}/attach/assets/mnemond.md (100%) rename internal/{ => agency}/attach/assets/pi/mnemond-current.ts (100%) rename internal/{ => agency}/attach/assets/pi/mnemond.ts (100%) rename internal/{ => agency}/attach/attach_test.go (100%) rename internal/{ => agency}/attach/doc.go (100%) rename internal/{ => agency}/attach/filesystem.go (100%) rename internal/{ => agency}/attach/install.go (100%) rename internal/{ => agency}/attach/pi_current_test.go (100%) rename internal/{ => agency}/attach/pi_effect_settlement_test.go (100%) rename internal/{ => agency}/authority/admission.go (100%) rename internal/{ => agency}/authority/admission_apply.go (100%) rename internal/{ => agency}/authority/admission_atomicity_test.go (100%) rename internal/{ => agency}/authority/admission_lifecycle_test.go (100%) rename internal/{ => agency}/authority/admission_record.go (100%) rename internal/{ => agency}/authority/admission_reference_test.go (100%) rename internal/{ => agency}/authority/admission_replay_test.go (100%) rename internal/{ => agency}/authority/admission_test_helpers_test.go (100%) rename internal/{ => agency}/authority/admission_validate.go (100%) rename internal/{ => agency}/authority/artifact.go (100%) rename internal/{ => agency}/authority/artifact_test.go (100%) rename internal/{ => agency}/authority/attachment.go (100%) rename internal/{ => agency}/authority/attachment_begin.go (100%) rename internal/{ => agency}/authority/attachment_end.go (100%) rename internal/{ => agency}/authority/attachment_end_test.go (100%) rename internal/{ => agency}/authority/attachment_test.go (100%) rename internal/{ => agency}/authority/bind.go (100%) rename internal/{ => agency}/authority/bind_test.go (100%) rename internal/{ => agency}/authority/claim_disposition.go (100%) rename internal/{ => agency}/authority/claim_disposition_replay_test.go (100%) rename internal/{ => agency}/authority/claim_disposition_test.go (100%) rename internal/{ => agency}/authority/current.go (100%) rename internal/{ => agency}/authority/current_combined_bound_test.go (100%) rename internal/{ => agency}/authority/current_focus.go (100%) rename internal/{ => agency}/authority/current_focus_federation_test.go (100%) rename internal/{ => agency}/authority/current_focus_test.go (100%) rename internal/{ => agency}/authority/current_projection.go (100%) rename internal/{ => agency}/authority/current_replay_only_test.go (100%) rename internal/{ => agency}/authority/current_replay_test.go (100%) rename internal/{ => agency}/authority/doc.go (100%) rename internal/{ => agency}/authority/domain_admission.go (100%) rename internal/{ => agency}/authority/errors.go (100%) rename internal/{ => agency}/authority/event_depth.go (100%) rename internal/{ => agency}/authority/event_depth_test.go (100%) rename internal/{ => agency}/authority/event_projection.go (100%) rename internal/{ => agency}/authority/filesystem.go (100%) rename internal/{ => agency}/authority/peer_delivery_admission.go (100%) rename internal/{ => agency}/authority/peer_delivery_authority_test.go (100%) rename internal/{ => agency}/authority/peer_delivery_inbox.go (100%) rename internal/{ => agency}/authority/peer_delivery_outbox.go (100%) rename internal/{ => agency}/authority/peer_delivery_projection.go (100%) rename internal/{ => agency}/authority/peer_delivery_settlement.go (100%) rename internal/{ => agency}/authority/peer_reply_binding_test.go (100%) rename internal/{ => agency}/authority/peer_route.go (100%) rename internal/{ => agency}/authority/peer_route_test.go (100%) rename internal/{ => agency}/authority/peer_terminal_reply_admission.go (100%) rename internal/{ => agency}/authority/reply_observation_projection_test.go (100%) rename internal/{ => agency}/authority/schema.go (100%) rename internal/{ => agency}/authority/schema.sql (100%) rename internal/{ => agency}/authority/schema_v5_test.go (100%) rename internal/{ => agency}/authority/store.go (100%) rename internal/{ => agency}/authority/store_existing_test.go (100%) rename internal/{ => agency}/authority/store_test.go (100%) rename internal/{ => agency}/authority/terminal_reply_test.go (100%) rename internal/{agencyclient => agency/client}/agent_commands.go (100%) rename internal/{agencyclient => agency/client}/agent_commands_test.go (100%) rename internal/{agencyclient => agency/client}/control_client.go (100%) rename internal/{agencyclient => agency/client}/control_client_test.go (100%) rename internal/{agencyclient => agency/client}/control_json.go (100%) rename internal/{agencyclient => agency/client}/control_peercred_darwin.go (100%) rename internal/{agencyclient => agency/client}/control_peercred_linux.go (100%) rename internal/{agencyclient => agency/client}/control_transport.go (100%) rename internal/{agencyclient => agency/client}/control_types.go (100%) rename internal/{agencyclient => agency/client}/hook_boundary.go (100%) rename internal/{agencyclient => agency/client}/hook_commands.go (100%) rename internal/{agencyclient => agency/client}/intent_diagnostic.go (100%) rename internal/{agencyclient => agency/client}/journal.go (100%) rename internal/{agencyclient => agency/client}/journal_files.go (100%) rename internal/{agencyclient => agency/client}/journal_fs.go (100%) rename internal/{agencyclient => agency/client}/journal_test.go (100%) rename internal/{agencyclient => agency/client}/process_lock.go (100%) rename internal/{agencyclient => agency/client}/terminal.go (100%) rename internal/{agencyclient => agency/client}/terminal_test.go (100%) rename internal/{ => agency}/peerlink/client.go (99%) rename internal/{ => agency}/peerlink/doc.go (100%) rename internal/{ => agency}/peerlink/errors.go (100%) rename internal/{ => agency}/peerlink/frame.go (99%) rename internal/{ => agency}/peerlink/frame_test.go (100%) rename internal/{ => agency}/peerlink/identity.go (100%) rename internal/{ => agency}/peerlink/server.go (99%) rename internal/{ => agency}/peerlink/transport_test.go (99%) diff --git a/Makefile b/Makefile index 6849c2b3..44b3a8c9 100644 --- a/Makefile +++ b/Makefile @@ -19,10 +19,10 @@ DETERMINISTIC_PKGS := \ ./cmd/agency \ ./cmd/memory \ ./internal/agency \ - ./internal/agencyclient \ - ./internal/attach \ - ./internal/authority \ - ./internal/artifact \ + ./internal/agency/client \ + ./internal/agency/attach \ + ./internal/agency/authority \ + ./internal/agency/artifact \ ./internal/memory/embed \ ./internal/memory/graph \ ./internal/memory/importdraft \ diff --git a/cmd/agency/command.go b/cmd/agency/command.go index 248a1506..4ed0675f 100644 --- a/cmd/agency/command.go +++ b/cmd/agency/command.go @@ -7,7 +7,7 @@ package agency import ( "errors" - "github.com/mnemon-dev/mnemon/internal/agencyclient" + "github.com/mnemon-dev/mnemon/internal/agency/client" "github.com/mnemon-dev/mnemon/internal/daemon" "github.com/spf13/cobra" ) diff --git a/cmd/agency/setup.go b/cmd/agency/setup.go index 757f24cc..bad0ade6 100644 --- a/cmd/agency/setup.go +++ b/cmd/agency/setup.go @@ -8,7 +8,7 @@ import ( "os" "strings" - "github.com/mnemon-dev/mnemon/internal/attach" + "github.com/mnemon-dev/mnemon/internal/agency/attach" "github.com/mnemon-dev/mnemon/internal/daemon" "github.com/spf13/cobra" ) diff --git a/docs/mnemond/protocol.md b/docs/mnemond/protocol.md index ef0577c1..e3c00227 100644 --- a/docs/mnemond/protocol.md +++ b/docs/mnemond/protocol.md @@ -123,19 +123,19 @@ The two nodes never share a canonical Task or Handling. Consequently: ## Package ownership ```text -internal/agency immutable protocol values and canonical projections -internal/authority sealed View, Intent binding, admission, Handling and Reference state -internal/artifact immutable content bytes and digest verification -internal/peerlink replaceable authenticated transport only -internal/daemon process composition and lifecycle -internal/agencyclient Runtime-facing local terminal and replay journal -internal/attach host Hook, guide, and tool projection +internal/agency immutable protocol values and canonical projections +internal/agency/authority sealed View, Intent binding, admission, Handling and Reference state +internal/agency/artifact immutable content bytes and digest verification +internal/agency/peerlink replaceable authenticated transport only +internal/agency/client Runtime-facing local terminal and replay journal +internal/agency/attach host Hook, guide, and tool projection +internal/daemon process composition and lifecycle ``` -`internal/authority` is the only durable fact writer. Runtime adapters and +`internal/agency/authority` is the only durable fact writer. Runtime adapters and transport may present candidates or observations but do not own protocol state. `internal/agency` validates immutable values; policy that resolves View -handles or decides durable consequences belongs to `internal/authority`. +handles or decides durable consequences belongs to `internal/agency/authority`. ## Capability boundary diff --git a/docs/zh/mnemond/protocol.md b/docs/zh/mnemond/protocol.md index 5ed08990..ce854d61 100644 --- a/docs/zh/mnemond/protocol.md +++ b/docs/zh/mnemond/protocol.md @@ -114,18 +114,18 @@ Node A 收到 candidate ## Package 权责 ```text -internal/agency 不可变协议值与 canonical projection -internal/authority sealed View、Intent binding、admission、Handling/Reference state -internal/artifact 不可变内容字节与 digest 验证 -internal/peerlink 可替换的认证传输 -internal/daemon 进程组合与生命周期 -internal/agencyclient Runtime 面向的本地 terminal 与 replay journal -internal/attach Host Hook、guide 和工具投影 +internal/agency 不可变协议值与 canonical projection +internal/agency/authority sealed View、Intent binding、admission、Handling/Reference state +internal/agency/artifact 不可变内容字节与 digest 验证 +internal/agency/peerlink 可替换的认证传输 +internal/agency/client Runtime 面向的本地 terminal 与 replay journal +internal/agency/attach Host Hook、guide 和工具投影 +internal/daemon 进程组合与生命周期 ``` -`internal/authority` 是唯一持久事实 writer。Runtime adapter 和 transport +`internal/agency/authority` 是唯一持久事实 writer。Runtime adapter 和 transport 只能提供 candidate 或 observation。`internal/agency` 校验不可变值;解析 -View handle、选择持久 consequence 等 policy 必须属于 `internal/authority`。 +View handle、选择持久 consequence 等 policy 必须属于 `internal/agency/authority`。 ## 能力边界 diff --git a/internal/artifact/doc.go b/internal/agency/artifact/doc.go similarity index 100% rename from internal/artifact/doc.go rename to internal/agency/artifact/doc.go diff --git a/internal/artifact/filesystem.go b/internal/agency/artifact/filesystem.go similarity index 100% rename from internal/artifact/filesystem.go rename to internal/agency/artifact/filesystem.go diff --git a/internal/artifact/store.go b/internal/agency/artifact/store.go similarity index 100% rename from internal/artifact/store.go rename to internal/agency/artifact/store.go diff --git a/internal/artifact/store_test.go b/internal/agency/artifact/store_test.go similarity index 100% rename from internal/artifact/store_test.go rename to internal/agency/artifact/store_test.go diff --git a/internal/attach/assets.go b/internal/agency/attach/assets.go similarity index 100% rename from internal/attach/assets.go rename to internal/agency/attach/assets.go diff --git a/internal/attach/assets/hook-cue.txt b/internal/agency/attach/assets/hook-cue.txt similarity index 100% rename from internal/attach/assets/hook-cue.txt rename to internal/agency/attach/assets/hook-cue.txt diff --git a/internal/attach/assets/mnemond.md b/internal/agency/attach/assets/mnemond.md similarity index 100% rename from internal/attach/assets/mnemond.md rename to internal/agency/attach/assets/mnemond.md diff --git a/internal/attach/assets/pi/mnemond-current.ts b/internal/agency/attach/assets/pi/mnemond-current.ts similarity index 100% rename from internal/attach/assets/pi/mnemond-current.ts rename to internal/agency/attach/assets/pi/mnemond-current.ts diff --git a/internal/attach/assets/pi/mnemond.ts b/internal/agency/attach/assets/pi/mnemond.ts similarity index 100% rename from internal/attach/assets/pi/mnemond.ts rename to internal/agency/attach/assets/pi/mnemond.ts diff --git a/internal/attach/attach_test.go b/internal/agency/attach/attach_test.go similarity index 100% rename from internal/attach/attach_test.go rename to internal/agency/attach/attach_test.go diff --git a/internal/attach/doc.go b/internal/agency/attach/doc.go similarity index 100% rename from internal/attach/doc.go rename to internal/agency/attach/doc.go diff --git a/internal/attach/filesystem.go b/internal/agency/attach/filesystem.go similarity index 100% rename from internal/attach/filesystem.go rename to internal/agency/attach/filesystem.go diff --git a/internal/attach/install.go b/internal/agency/attach/install.go similarity index 100% rename from internal/attach/install.go rename to internal/agency/attach/install.go diff --git a/internal/attach/pi_current_test.go b/internal/agency/attach/pi_current_test.go similarity index 100% rename from internal/attach/pi_current_test.go rename to internal/agency/attach/pi_current_test.go diff --git a/internal/attach/pi_effect_settlement_test.go b/internal/agency/attach/pi_effect_settlement_test.go similarity index 100% rename from internal/attach/pi_effect_settlement_test.go rename to internal/agency/attach/pi_effect_settlement_test.go diff --git a/internal/authority/admission.go b/internal/agency/authority/admission.go similarity index 100% rename from internal/authority/admission.go rename to internal/agency/authority/admission.go diff --git a/internal/authority/admission_apply.go b/internal/agency/authority/admission_apply.go similarity index 100% rename from internal/authority/admission_apply.go rename to internal/agency/authority/admission_apply.go diff --git a/internal/authority/admission_atomicity_test.go b/internal/agency/authority/admission_atomicity_test.go similarity index 100% rename from internal/authority/admission_atomicity_test.go rename to internal/agency/authority/admission_atomicity_test.go diff --git a/internal/authority/admission_lifecycle_test.go b/internal/agency/authority/admission_lifecycle_test.go similarity index 100% rename from internal/authority/admission_lifecycle_test.go rename to internal/agency/authority/admission_lifecycle_test.go diff --git a/internal/authority/admission_record.go b/internal/agency/authority/admission_record.go similarity index 100% rename from internal/authority/admission_record.go rename to internal/agency/authority/admission_record.go diff --git a/internal/authority/admission_reference_test.go b/internal/agency/authority/admission_reference_test.go similarity index 100% rename from internal/authority/admission_reference_test.go rename to internal/agency/authority/admission_reference_test.go diff --git a/internal/authority/admission_replay_test.go b/internal/agency/authority/admission_replay_test.go similarity index 100% rename from internal/authority/admission_replay_test.go rename to internal/agency/authority/admission_replay_test.go diff --git a/internal/authority/admission_test_helpers_test.go b/internal/agency/authority/admission_test_helpers_test.go similarity index 100% rename from internal/authority/admission_test_helpers_test.go rename to internal/agency/authority/admission_test_helpers_test.go diff --git a/internal/authority/admission_validate.go b/internal/agency/authority/admission_validate.go similarity index 100% rename from internal/authority/admission_validate.go rename to internal/agency/authority/admission_validate.go diff --git a/internal/authority/artifact.go b/internal/agency/authority/artifact.go similarity index 100% rename from internal/authority/artifact.go rename to internal/agency/authority/artifact.go diff --git a/internal/authority/artifact_test.go b/internal/agency/authority/artifact_test.go similarity index 100% rename from internal/authority/artifact_test.go rename to internal/agency/authority/artifact_test.go diff --git a/internal/authority/attachment.go b/internal/agency/authority/attachment.go similarity index 100% rename from internal/authority/attachment.go rename to internal/agency/authority/attachment.go diff --git a/internal/authority/attachment_begin.go b/internal/agency/authority/attachment_begin.go similarity index 100% rename from internal/authority/attachment_begin.go rename to internal/agency/authority/attachment_begin.go diff --git a/internal/authority/attachment_end.go b/internal/agency/authority/attachment_end.go similarity index 100% rename from internal/authority/attachment_end.go rename to internal/agency/authority/attachment_end.go diff --git a/internal/authority/attachment_end_test.go b/internal/agency/authority/attachment_end_test.go similarity index 100% rename from internal/authority/attachment_end_test.go rename to internal/agency/authority/attachment_end_test.go diff --git a/internal/authority/attachment_test.go b/internal/agency/authority/attachment_test.go similarity index 100% rename from internal/authority/attachment_test.go rename to internal/agency/authority/attachment_test.go diff --git a/internal/authority/bind.go b/internal/agency/authority/bind.go similarity index 100% rename from internal/authority/bind.go rename to internal/agency/authority/bind.go diff --git a/internal/authority/bind_test.go b/internal/agency/authority/bind_test.go similarity index 100% rename from internal/authority/bind_test.go rename to internal/agency/authority/bind_test.go diff --git a/internal/authority/claim_disposition.go b/internal/agency/authority/claim_disposition.go similarity index 100% rename from internal/authority/claim_disposition.go rename to internal/agency/authority/claim_disposition.go diff --git a/internal/authority/claim_disposition_replay_test.go b/internal/agency/authority/claim_disposition_replay_test.go similarity index 100% rename from internal/authority/claim_disposition_replay_test.go rename to internal/agency/authority/claim_disposition_replay_test.go diff --git a/internal/authority/claim_disposition_test.go b/internal/agency/authority/claim_disposition_test.go similarity index 100% rename from internal/authority/claim_disposition_test.go rename to internal/agency/authority/claim_disposition_test.go diff --git a/internal/authority/current.go b/internal/agency/authority/current.go similarity index 100% rename from internal/authority/current.go rename to internal/agency/authority/current.go diff --git a/internal/authority/current_combined_bound_test.go b/internal/agency/authority/current_combined_bound_test.go similarity index 100% rename from internal/authority/current_combined_bound_test.go rename to internal/agency/authority/current_combined_bound_test.go diff --git a/internal/authority/current_focus.go b/internal/agency/authority/current_focus.go similarity index 100% rename from internal/authority/current_focus.go rename to internal/agency/authority/current_focus.go diff --git a/internal/authority/current_focus_federation_test.go b/internal/agency/authority/current_focus_federation_test.go similarity index 100% rename from internal/authority/current_focus_federation_test.go rename to internal/agency/authority/current_focus_federation_test.go diff --git a/internal/authority/current_focus_test.go b/internal/agency/authority/current_focus_test.go similarity index 100% rename from internal/authority/current_focus_test.go rename to internal/agency/authority/current_focus_test.go diff --git a/internal/authority/current_projection.go b/internal/agency/authority/current_projection.go similarity index 100% rename from internal/authority/current_projection.go rename to internal/agency/authority/current_projection.go diff --git a/internal/authority/current_replay_only_test.go b/internal/agency/authority/current_replay_only_test.go similarity index 100% rename from internal/authority/current_replay_only_test.go rename to internal/agency/authority/current_replay_only_test.go diff --git a/internal/authority/current_replay_test.go b/internal/agency/authority/current_replay_test.go similarity index 100% rename from internal/authority/current_replay_test.go rename to internal/agency/authority/current_replay_test.go diff --git a/internal/authority/doc.go b/internal/agency/authority/doc.go similarity index 100% rename from internal/authority/doc.go rename to internal/agency/authority/doc.go diff --git a/internal/authority/domain_admission.go b/internal/agency/authority/domain_admission.go similarity index 100% rename from internal/authority/domain_admission.go rename to internal/agency/authority/domain_admission.go diff --git a/internal/authority/errors.go b/internal/agency/authority/errors.go similarity index 100% rename from internal/authority/errors.go rename to internal/agency/authority/errors.go diff --git a/internal/authority/event_depth.go b/internal/agency/authority/event_depth.go similarity index 100% rename from internal/authority/event_depth.go rename to internal/agency/authority/event_depth.go diff --git a/internal/authority/event_depth_test.go b/internal/agency/authority/event_depth_test.go similarity index 100% rename from internal/authority/event_depth_test.go rename to internal/agency/authority/event_depth_test.go diff --git a/internal/authority/event_projection.go b/internal/agency/authority/event_projection.go similarity index 100% rename from internal/authority/event_projection.go rename to internal/agency/authority/event_projection.go diff --git a/internal/authority/filesystem.go b/internal/agency/authority/filesystem.go similarity index 100% rename from internal/authority/filesystem.go rename to internal/agency/authority/filesystem.go diff --git a/internal/authority/peer_delivery_admission.go b/internal/agency/authority/peer_delivery_admission.go similarity index 100% rename from internal/authority/peer_delivery_admission.go rename to internal/agency/authority/peer_delivery_admission.go diff --git a/internal/authority/peer_delivery_authority_test.go b/internal/agency/authority/peer_delivery_authority_test.go similarity index 100% rename from internal/authority/peer_delivery_authority_test.go rename to internal/agency/authority/peer_delivery_authority_test.go diff --git a/internal/authority/peer_delivery_inbox.go b/internal/agency/authority/peer_delivery_inbox.go similarity index 100% rename from internal/authority/peer_delivery_inbox.go rename to internal/agency/authority/peer_delivery_inbox.go diff --git a/internal/authority/peer_delivery_outbox.go b/internal/agency/authority/peer_delivery_outbox.go similarity index 100% rename from internal/authority/peer_delivery_outbox.go rename to internal/agency/authority/peer_delivery_outbox.go diff --git a/internal/authority/peer_delivery_projection.go b/internal/agency/authority/peer_delivery_projection.go similarity index 100% rename from internal/authority/peer_delivery_projection.go rename to internal/agency/authority/peer_delivery_projection.go diff --git a/internal/authority/peer_delivery_settlement.go b/internal/agency/authority/peer_delivery_settlement.go similarity index 100% rename from internal/authority/peer_delivery_settlement.go rename to internal/agency/authority/peer_delivery_settlement.go diff --git a/internal/authority/peer_reply_binding_test.go b/internal/agency/authority/peer_reply_binding_test.go similarity index 100% rename from internal/authority/peer_reply_binding_test.go rename to internal/agency/authority/peer_reply_binding_test.go diff --git a/internal/authority/peer_route.go b/internal/agency/authority/peer_route.go similarity index 100% rename from internal/authority/peer_route.go rename to internal/agency/authority/peer_route.go diff --git a/internal/authority/peer_route_test.go b/internal/agency/authority/peer_route_test.go similarity index 100% rename from internal/authority/peer_route_test.go rename to internal/agency/authority/peer_route_test.go diff --git a/internal/authority/peer_terminal_reply_admission.go b/internal/agency/authority/peer_terminal_reply_admission.go similarity index 100% rename from internal/authority/peer_terminal_reply_admission.go rename to internal/agency/authority/peer_terminal_reply_admission.go diff --git a/internal/authority/reply_observation_projection_test.go b/internal/agency/authority/reply_observation_projection_test.go similarity index 100% rename from internal/authority/reply_observation_projection_test.go rename to internal/agency/authority/reply_observation_projection_test.go diff --git a/internal/authority/schema.go b/internal/agency/authority/schema.go similarity index 100% rename from internal/authority/schema.go rename to internal/agency/authority/schema.go diff --git a/internal/authority/schema.sql b/internal/agency/authority/schema.sql similarity index 100% rename from internal/authority/schema.sql rename to internal/agency/authority/schema.sql diff --git a/internal/authority/schema_v5_test.go b/internal/agency/authority/schema_v5_test.go similarity index 100% rename from internal/authority/schema_v5_test.go rename to internal/agency/authority/schema_v5_test.go diff --git a/internal/authority/store.go b/internal/agency/authority/store.go similarity index 100% rename from internal/authority/store.go rename to internal/agency/authority/store.go diff --git a/internal/authority/store_existing_test.go b/internal/agency/authority/store_existing_test.go similarity index 100% rename from internal/authority/store_existing_test.go rename to internal/agency/authority/store_existing_test.go diff --git a/internal/authority/store_test.go b/internal/agency/authority/store_test.go similarity index 100% rename from internal/authority/store_test.go rename to internal/agency/authority/store_test.go diff --git a/internal/authority/terminal_reply_test.go b/internal/agency/authority/terminal_reply_test.go similarity index 100% rename from internal/authority/terminal_reply_test.go rename to internal/agency/authority/terminal_reply_test.go diff --git a/internal/agencyclient/agent_commands.go b/internal/agency/client/agent_commands.go similarity index 100% rename from internal/agencyclient/agent_commands.go rename to internal/agency/client/agent_commands.go diff --git a/internal/agencyclient/agent_commands_test.go b/internal/agency/client/agent_commands_test.go similarity index 100% rename from internal/agencyclient/agent_commands_test.go rename to internal/agency/client/agent_commands_test.go diff --git a/internal/agencyclient/control_client.go b/internal/agency/client/control_client.go similarity index 100% rename from internal/agencyclient/control_client.go rename to internal/agency/client/control_client.go diff --git a/internal/agencyclient/control_client_test.go b/internal/agency/client/control_client_test.go similarity index 100% rename from internal/agencyclient/control_client_test.go rename to internal/agency/client/control_client_test.go diff --git a/internal/agencyclient/control_json.go b/internal/agency/client/control_json.go similarity index 100% rename from internal/agencyclient/control_json.go rename to internal/agency/client/control_json.go diff --git a/internal/agencyclient/control_peercred_darwin.go b/internal/agency/client/control_peercred_darwin.go similarity index 100% rename from internal/agencyclient/control_peercred_darwin.go rename to internal/agency/client/control_peercred_darwin.go diff --git a/internal/agencyclient/control_peercred_linux.go b/internal/agency/client/control_peercred_linux.go similarity index 100% rename from internal/agencyclient/control_peercred_linux.go rename to internal/agency/client/control_peercred_linux.go diff --git a/internal/agencyclient/control_transport.go b/internal/agency/client/control_transport.go similarity index 100% rename from internal/agencyclient/control_transport.go rename to internal/agency/client/control_transport.go diff --git a/internal/agencyclient/control_types.go b/internal/agency/client/control_types.go similarity index 100% rename from internal/agencyclient/control_types.go rename to internal/agency/client/control_types.go diff --git a/internal/agencyclient/hook_boundary.go b/internal/agency/client/hook_boundary.go similarity index 100% rename from internal/agencyclient/hook_boundary.go rename to internal/agency/client/hook_boundary.go diff --git a/internal/agencyclient/hook_commands.go b/internal/agency/client/hook_commands.go similarity index 100% rename from internal/agencyclient/hook_commands.go rename to internal/agency/client/hook_commands.go diff --git a/internal/agencyclient/intent_diagnostic.go b/internal/agency/client/intent_diagnostic.go similarity index 100% rename from internal/agencyclient/intent_diagnostic.go rename to internal/agency/client/intent_diagnostic.go diff --git a/internal/agencyclient/journal.go b/internal/agency/client/journal.go similarity index 100% rename from internal/agencyclient/journal.go rename to internal/agency/client/journal.go diff --git a/internal/agencyclient/journal_files.go b/internal/agency/client/journal_files.go similarity index 100% rename from internal/agencyclient/journal_files.go rename to internal/agency/client/journal_files.go diff --git a/internal/agencyclient/journal_fs.go b/internal/agency/client/journal_fs.go similarity index 100% rename from internal/agencyclient/journal_fs.go rename to internal/agency/client/journal_fs.go diff --git a/internal/agencyclient/journal_test.go b/internal/agency/client/journal_test.go similarity index 100% rename from internal/agencyclient/journal_test.go rename to internal/agency/client/journal_test.go diff --git a/internal/agencyclient/process_lock.go b/internal/agency/client/process_lock.go similarity index 100% rename from internal/agencyclient/process_lock.go rename to internal/agency/client/process_lock.go diff --git a/internal/agencyclient/terminal.go b/internal/agency/client/terminal.go similarity index 100% rename from internal/agencyclient/terminal.go rename to internal/agency/client/terminal.go diff --git a/internal/agencyclient/terminal_test.go b/internal/agency/client/terminal_test.go similarity index 100% rename from internal/agencyclient/terminal_test.go rename to internal/agency/client/terminal_test.go diff --git a/internal/peerlink/client.go b/internal/agency/peerlink/client.go similarity index 99% rename from internal/peerlink/client.go rename to internal/agency/peerlink/client.go index 56d5c29e..9c4ba044 100644 --- a/internal/peerlink/client.go +++ b/internal/agency/peerlink/client.go @@ -10,7 +10,7 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" ) const ( diff --git a/internal/peerlink/doc.go b/internal/agency/peerlink/doc.go similarity index 100% rename from internal/peerlink/doc.go rename to internal/agency/peerlink/doc.go diff --git a/internal/peerlink/errors.go b/internal/agency/peerlink/errors.go similarity index 100% rename from internal/peerlink/errors.go rename to internal/agency/peerlink/errors.go diff --git a/internal/peerlink/frame.go b/internal/agency/peerlink/frame.go similarity index 99% rename from internal/peerlink/frame.go rename to internal/agency/peerlink/frame.go index 5dbbe253..8e466477 100644 --- a/internal/peerlink/frame.go +++ b/internal/agency/peerlink/frame.go @@ -10,7 +10,7 @@ import ( "unicode/utf8" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" ) const ( diff --git a/internal/peerlink/frame_test.go b/internal/agency/peerlink/frame_test.go similarity index 100% rename from internal/peerlink/frame_test.go rename to internal/agency/peerlink/frame_test.go diff --git a/internal/peerlink/identity.go b/internal/agency/peerlink/identity.go similarity index 100% rename from internal/peerlink/identity.go rename to internal/agency/peerlink/identity.go diff --git a/internal/peerlink/server.go b/internal/agency/peerlink/server.go similarity index 99% rename from internal/peerlink/server.go rename to internal/agency/peerlink/server.go index 6658be00..6f05d6d9 100644 --- a/internal/peerlink/server.go +++ b/internal/agency/peerlink/server.go @@ -8,7 +8,7 @@ import ( "sync" "time" - "github.com/mnemon-dev/mnemon/internal/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" ) // DeliveryHandler receives opaque candidate bytes only after the TLS key has diff --git a/internal/peerlink/transport_test.go b/internal/agency/peerlink/transport_test.go similarity index 99% rename from internal/peerlink/transport_test.go rename to internal/agency/peerlink/transport_test.go index 16c81c6b..9df04dbf 100644 --- a/internal/peerlink/transport_test.go +++ b/internal/agency/peerlink/transport_test.go @@ -11,7 +11,7 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - artifactstore "github.com/mnemon-dev/mnemon/internal/artifact" + artifactstore "github.com/mnemon-dev/mnemon/internal/agency/artifact" ) func TestTCPRoundTripAuthenticatesDeliveryAndSeparatesACKReceiptAndArtifact(t *testing.T) { diff --git a/internal/daemon/control.go b/internal/daemon/control.go index b8bb268f..18020196 100644 --- a/internal/daemon/control.go +++ b/internal/daemon/control.go @@ -8,7 +8,7 @@ import ( "net/http" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" ) const ( diff --git a/internal/daemon/control_error.go b/internal/daemon/control_error.go index ebe01485..f869f1ee 100644 --- a/internal/daemon/control_error.go +++ b/internal/daemon/control_error.go @@ -9,8 +9,8 @@ import ( "strings" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) type controlErrorCode string diff --git a/internal/daemon/control_parse.go b/internal/daemon/control_parse.go index b65ac177..b05a0951 100644 --- a/internal/daemon/control_parse.go +++ b/internal/daemon/control_parse.go @@ -10,8 +10,8 @@ import ( "strings" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) func prepareControlRequest(request *http.Request, readOnly, requireAttachment, diff --git a/internal/daemon/daemon.go b/internal/daemon/daemon.go index ef781eb0..b1e27874 100644 --- a/internal/daemon/daemon.go +++ b/internal/daemon/daemon.go @@ -11,8 +11,8 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) const ( diff --git a/internal/daemon/daemon_test.go b/internal/daemon/daemon_test.go index e2243c9c..051704ae 100644 --- a/internal/daemon/daemon_test.go +++ b/internal/daemon/daemon_test.go @@ -16,8 +16,8 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) func TestDaemonServesCompleteLocalLoopOverOwnerUnix(t *testing.T) { diff --git a/internal/daemon/ensure.go b/internal/daemon/ensure.go index 66282620..1e7d2089 100644 --- a/internal/daemon/ensure.go +++ b/internal/daemon/ensure.go @@ -13,7 +13,7 @@ import ( "syscall" "time" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/authority" "golang.org/x/sys/unix" ) diff --git a/internal/daemon/exchange.go b/internal/daemon/exchange.go index b386cda8..90985049 100644 --- a/internal/daemon/exchange.go +++ b/internal/daemon/exchange.go @@ -10,9 +10,9 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" - "github.com/mnemon-dev/mnemon/internal/peerlink" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" + "github.com/mnemon-dev/mnemon/internal/agency/peerlink" ) const ( diff --git a/internal/daemon/exchange_fault_test.go b/internal/daemon/exchange_fault_test.go index cd4ec350..ad98686b 100644 --- a/internal/daemon/exchange_fault_test.go +++ b/internal/daemon/exchange_fault_test.go @@ -11,8 +11,8 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/authority" - "github.com/mnemon-dev/mnemon/internal/peerlink" + "github.com/mnemon-dev/mnemon/internal/agency/authority" + "github.com/mnemon-dev/mnemon/internal/agency/peerlink" ) var ( diff --git a/internal/daemon/exchange_session.go b/internal/daemon/exchange_session.go index 84fddd75..1b3d20e8 100644 --- a/internal/daemon/exchange_session.go +++ b/internal/daemon/exchange_session.go @@ -5,7 +5,7 @@ import ( "errors" "sync" - "github.com/mnemon-dev/mnemon/internal/peerlink" + "github.com/mnemon-dev/mnemon/internal/agency/peerlink" ) type exchangeSession struct { diff --git a/internal/daemon/exchange_test.go b/internal/daemon/exchange_test.go index eb07b5fc..a2205a5c 100644 --- a/internal/daemon/exchange_test.go +++ b/internal/daemon/exchange_test.go @@ -11,7 +11,7 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) type exchangeTestNode struct { diff --git a/internal/daemon/peer_enrollment.go b/internal/daemon/peer_enrollment.go index 35ed7e1e..d95d40c9 100644 --- a/internal/daemon/peer_enrollment.go +++ b/internal/daemon/peer_enrollment.go @@ -11,8 +11,8 @@ import ( "strings" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) const ( diff --git a/internal/daemon/peer_setup.go b/internal/daemon/peer_setup.go index 04e8c473..27ea46f8 100644 --- a/internal/daemon/peer_setup.go +++ b/internal/daemon/peer_setup.go @@ -10,7 +10,7 @@ import ( "strings" "unicode" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) const ( diff --git a/internal/daemon/peer_setup_test.go b/internal/daemon/peer_setup_test.go index ca04ad23..dce17ef4 100644 --- a/internal/daemon/peer_setup_test.go +++ b/internal/daemon/peer_setup_test.go @@ -11,8 +11,8 @@ import ( "testing" "time" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) func TestConfigureExchangePublishesCanonicalPrivateCardAndReplays(t *testing.T) { diff --git a/internal/daemon/provision.go b/internal/daemon/provision.go index 94e35ec5..85f287bc 100644 --- a/internal/daemon/provision.go +++ b/internal/daemon/provision.go @@ -9,8 +9,8 @@ import ( "strings" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) var ErrProvision = errors.New("daemon: provision R7 node") diff --git a/internal/daemon/provision_test.go b/internal/daemon/provision_test.go index de2c47ec..1cac823d 100644 --- a/internal/daemon/provision_test.go +++ b/internal/daemon/provision_test.go @@ -10,8 +10,8 @@ import ( "testing" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) func TestResolveProjectStateIsPureAndPhysical(t *testing.T) { diff --git a/internal/daemon/service.go b/internal/daemon/service.go index 0878fe15..65071870 100644 --- a/internal/daemon/service.go +++ b/internal/daemon/service.go @@ -10,8 +10,8 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/artifact" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/artifact" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) const candidateEntropyBytes = 16 diff --git a/test/mnemond/architecture/mnemond_structure_test.go b/test/mnemond/architecture/mnemond_structure_test.go index f5d95907..466f648c 100644 --- a/test/mnemond/architecture/mnemond_structure_test.go +++ b/test/mnemond/architecture/mnemond_structure_test.go @@ -38,9 +38,8 @@ func assertNativeMemoryDoesNotImportAgency(t *testing.T, root string) { t.Helper() agency := map[string]struct{}{ "cmd/agency": {}, - "internal/agency": {}, "internal/agencyclient": {}, "internal/attach": {}, "internal/authority": {}, - "internal/artifact": {}, "internal/daemon": {}, - "internal/peerlink": {}, + "internal/agency": {}, + "internal/daemon": {}, } for _, component := range []string{"cmd/memory", "internal/memory"} { forEachComponentGoFile(t, root, component, func(path string, file *ast.File) { @@ -83,13 +82,16 @@ func assertMnemondPackageGraph(t *testing.T, root string) { "internal/memory/setup/assets": {}, "internal/memory/setup": {"internal/memory/setup/assets"}, "internal/agency": {}, - "internal/agencyclient": {"internal/agency"}, - "internal/attach": {}, - "internal/authority": {"internal/agency"}, - "internal/artifact": {"internal/agency"}, - "internal/daemon": {"internal/agency", "internal/authority", "internal/artifact", "internal/peerlink"}, - "internal/peerlink": {"internal/agency", "internal/artifact"}, - "cmd/agency": {"internal/agencyclient", "internal/attach", "internal/daemon"}, + "internal/agency/client": {"internal/agency"}, + "internal/agency/attach": {}, + "internal/agency/authority": {"internal/agency"}, + "internal/agency/artifact": {"internal/agency"}, + "internal/agency/peerlink": {"internal/agency", "internal/agency/artifact"}, + "internal/daemon": { + "internal/agency", "internal/agency/artifact", "internal/agency/authority", + "internal/agency/peerlink", + }, + "cmd/agency": {"internal/agency/attach", "internal/agency/client", "internal/daemon"}, "cmd/memory": { "internal/memory/embed", "internal/memory/graph", "internal/memory/importdraft", "internal/memory/model", "internal/memory/search", "internal/memory/setup", @@ -180,7 +182,7 @@ func assertInteractiveAttachmentOnly(t *testing.T, root string) { return true }) }) - assertSingleArchitectureMatch(t, declarations, "/internal/authority/", + assertSingleArchitectureMatch(t, declarations, "/internal/agency/authority/", "IssueInteractiveAttachment", "attachment issuer declaration") assertSingleArchitectureMatch(t, calls, "/internal/daemon/", "IssueInteractiveAttachment", "attachment issuer call") diff --git a/test/mnemond/domainops/trace/report_control_diagnostic.go b/test/mnemond/domainops/trace/report_control_diagnostic.go index 6546a27f..59c642dd 100644 --- a/test/mnemond/domainops/trace/report_control_diagnostic.go +++ b/test/mnemond/domainops/trace/report_control_diagnostic.go @@ -5,7 +5,7 @@ import ( "slices" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) type controlDenial struct { diff --git a/test/mnemond/domainops/trace/trace_test.go b/test/mnemond/domainops/trace/trace_test.go index 871fe7ce..8dd61979 100644 --- a/test/mnemond/domainops/trace/trace_test.go +++ b/test/mnemond/domainops/trace/trace_test.go @@ -14,7 +14,7 @@ import ( "time" "github.com/mnemon-dev/mnemon/internal/agency" - "github.com/mnemon-dev/mnemon/internal/authority" + "github.com/mnemon-dev/mnemon/internal/agency/authority" ) func TestParseStoredEventRequiresExactCanonicalDigestAndColumns(t *testing.T) { diff --git a/test/mnemond/runtime/pi/run_delegate_oracle.sh b/test/mnemond/runtime/pi/run_delegate_oracle.sh index 0e59f852..16e5a7a0 100755 --- a/test/mnemond/runtime/pi/run_delegate_oracle.sh +++ b/test/mnemond/runtime/pi/run_delegate_oracle.sh @@ -5,8 +5,8 @@ set -euo pipefail runtime_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P) runner_dir=$(cd "$runtime_dir/../../domainops" && pwd -P) repository_root=$(cd "$runtime_dir/../../../.." && pwd -P) -lifecycle_extension="$repository_root/internal/attach/assets/pi/mnemond.ts" -current_extension="$repository_root/internal/attach/assets/pi/mnemond-current.ts" +lifecycle_extension="$repository_root/internal/agency/attach/assets/pi/mnemond.ts" +current_extension="$repository_root/internal/agency/attach/assets/pi/mnemond-current.ts" current_provider="$runtime_dir/current-rpc-provider.ts" image="mnemon-pi-delegate-oracle:$$" scratch=$(mktemp -d /tmp/mnemon-pi-runtime-oracle.XXXXXX)