Fixed the Gitea build break caused by `go:embed` requiring `internal/app/ui/dist` to exist in a clean checkout. Changes made: - Added `internal/app/ui/dist/placeholder.txt` so the embedded UI directory is always present in source control. - Updated `internal/mcpserver/server_test.go` to derive expected tool names from `BuildToolCatalog()` instead of a stale hard-coded list. - Removed stale maintenance tool entries from `internal/mcpserver/server.go` because those tools are not currently registered. Verification: - `env GOCACHE=/tmp/go-build go test ./internal/mcpserver -run TestNewListsAllRegisteredTools -v` passes. - A broader `go test ./internal/app ./cmd/amcs-server` compile check was started, but it did not finish before this log entry was written. Migration follow-up: - Fixed `migrations/020_generated_schema.sql` after PostgreSQL failed with `operator does not exist: name[] = text[]`. - Root cause: `pg_attribute.attname` is type `name`, so `ARRAY(SELECT a.attname ...)` produced `name[]`, which was compared against `text[]` literals. - Updated each repeated primary-key introspection block to use `SELECT a.attname::text`, keeping the existing `ARRAY[]::text[]` and `ARRAY['id']` / `ARRAY['persona_id']` comparisons valid.