refactor(store,tools): migrate IDs from UUID to bigserial int64
Some checks failed
CI / build-and-test (push) Failing after -31m12s

All internal entity lookups now use bigserial primary keys (int64) while
GUIDs are retained for external/public identification. Updated store
functions (TouchProject, UpdateThoughtMetadata, AddThoughtAttachment) to
query by id instead of guid, added GetThoughtByID, changed semanticSearch
and all tool helpers to use *int64 project IDs, and updated retry/backfill
workers to use int64 thought IDs throughout.
This commit is contained in:
2026-05-03 11:43:34 +02:00
parent 9e6d05e055
commit 91239bcf4b
58 changed files with 1208 additions and 2774 deletions

View File

@@ -5,7 +5,6 @@ import (
"fmt"
"strings"
"github.com/google/uuid"
"github.com/modelcontextprotocol/go-sdk/mcp"
"git.warky.dev/wdevs/amcs/internal/ai"
@@ -49,9 +48,9 @@ func (t *RecallTool) Handle(ctx context.Context, req *mcp.CallToolRequest, in Re
limit := normalizeLimit(in.Limit, t.search)
var projectID *uuid.UUID
var projectID *int64
if project != nil {
projectID = &project.ID
projectID = &project.NumericID
}
semantic, err := semanticSearch(ctx, t.store, t.embeddings, t.search, query, limit, t.search.DefaultThreshold, projectID, nil)
@@ -66,7 +65,7 @@ func (t *RecallTool) Handle(ctx context.Context, req *mcp.CallToolRequest, in Re
items := make([]ContextItem, 0, limit*2)
seen := map[string]struct{}{}
for _, result := range semantic {
key := result.ID.String()
key := fmt.Sprint(result.ID)
seen[key] = struct{}{}
items = append(items, ContextItem{
ID: key,
@@ -77,7 +76,7 @@ func (t *RecallTool) Handle(ctx context.Context, req *mcp.CallToolRequest, in Re
})
}
for _, thought := range recent {
key := thought.ID.String()
key := fmt.Sprint(thought.ID)
if _, ok := seen[key]; ok {
continue
}
@@ -97,7 +96,7 @@ func (t *RecallTool) Handle(ctx context.Context, req *mcp.CallToolRequest, in Re
header := "Recalled context"
if project != nil {
header = fmt.Sprintf("Recalled context for %s", project.Name)
_ = t.store.TouchProject(ctx, project.ID)
_ = t.store.TouchProject(ctx, project.NumericID)
}
return nil, RecallOutput{