Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
1 line
60 KiB
JSON
1 line
60 KiB
JSON
{"repo": "agentstation/starmap", "files": {"docker-compose.yml": {"afa452c10b358b5def68062c232ff45539083695": {"t": 1785745236.8616722, "n": 2375, "h": "00c24a3d4480811c", "c": "services:\n starmap:\n image: ghcr.io/agentstation/starmap:latest\n container_name: starmap-server\n command: [\"serve\", \"--host\", \"0.0.0.0\", \"--port\", \"8080\"]\n\n # HTTP server port\n ports:\n - \"8080:8080\"\n\n # Environment variables\n # Copy .env.example to .env and customize\n environment:\n # Server configuration\n - HTTP_HOST=0.0.0.0\n - HTTP_PORT=8080\n\n # Provider API keys (optional - for live data fetching)\n # Uncomment and set in .env file\n # - OPENAI_API_KEY=${OPENAI_API_KEY}\n # - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}\n # - GOOGLE_API_KEY=${GOOGLE_API_KEY}\n # - GROQ_API_KEY=${GROQ_API_KEY}\n # - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\n # - CEREBRAS_API_KEY=${CEREBRAS_API_KEY}\n # - DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}\n # - ALIBABA_MODEL_STUDIO_BASE_URL=${ALIBABA_MODEL_STUDIO_BASE_URL}\n # - FIREWORKS_API_KEY=${FIREWORKS_API_KEY}\n # - DEEPINFRA_TOKEN=${DEEPINFRA_TOKEN}\n\n # Google Vertex (optional)\n # - GOOGLE_VERTEX_PROJECT=${GOOGLE_VERTEX_PROJECT}\n # - GOOGLE_VERTEX_LOCATION=${GOOGLE_VERTEX_LOCATION}\n # - GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcp-key.json\n\n # Optional: Load environment from .env file\n env_file:\n - .env\n\n # Persistent storage for catalog data\n volumes:\n - starmap-data:/home/nonroot/.starmap\n # Optional: Mount Google Cloud credentials\n # - ./secrets/gcp-key.json:/secrets/gcp-key.json:ro\n\n # Health check\n healthcheck:\n test: [\"CMD\", \"/ko-app/starmap\", \"version\"]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 10s\n\n # Restart policy\n restart: unless-stopped\n\n # Security: Run as nonroot user (UID 65532 in chainguard images)\n user: \"65532:65532\"\n\n # Security: Read-only root filesystem\n read_only: true\n tmpfs:\n - /tmp\n\n # Security: Drop all capabilities\n cap_drop:\n - ALL\n\n # Security: No new privileges\n security_opt:\n - no-new-privileges:true\n\n # Resource limits (adjust based on your needs)\n deploy:\n resources:\n limits:\n cpus: '2'\n memory: 512M\n reservations:\n cpus: '0.5'\n memory: 256M\n\nvolumes:\n starmap-data:\n driver: local\n\n# Networks (optional - for multi-service deployments)\n# networks:\n# starmap-net:\n# driver: bridge\n"}, "2be4b8accebf0cf570b29df4bc6c58e681f92af0": {"t": 1785749082.981256, "n": 2375, "h": "00c24a3d4480811c", "c": "services:\n starmap:\n image: ghcr.io/agentstation/starmap:latest\n container_name: starmap-server\n command: [\"serve\", \"--host\", \"0.0.0.0\", \"--port\", \"8080\"]\n\n # HTTP server port\n ports:\n - \"8080:8080\"\n\n # Environment variables\n # Copy .env.example to .env and customize\n environment:\n # Server configuration\n - HTTP_HOST=0.0.0.0\n - HTTP_PORT=8080\n\n # Provider API keys (optional - for live data fetching)\n # Uncomment and set in .env file\n # - OPENAI_API_KEY=${OPENAI_API_KEY}\n # - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}\n # - GOOGLE_API_KEY=${GOOGLE_API_KEY}\n # - GROQ_API_KEY=${GROQ_API_KEY}\n # - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\n # - CEREBRAS_API_KEY=${CEREBRAS_API_KEY}\n # - DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}\n # - ALIBABA_MODEL_STUDIO_BASE_URL=${ALIBABA_MODEL_STUDIO_BASE_URL}\n # - FIREWORKS_API_KEY=${FIREWORKS_API_KEY}\n # - DEEPINFRA_TOKEN=${DEEPINFRA_TOKEN}\n\n # Google Vertex (optional)\n # - GOOGLE_VERTEX_PROJECT=${GOOGLE_VERTEX_PROJECT}\n # - GOOGLE_VERTEX_LOCATION=${GOOGLE_VERTEX_LOCATION}\n # - GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcp-key.json\n\n # Optional: Load environment from .env file\n env_file:\n - .env\n\n # Persistent storage for catalog data\n volumes:\n - starmap-data:/home/nonroot/.starmap\n # Optional: Mount Google Cloud credentials\n # - ./secrets/gcp-key.json:/secrets/gcp-key.json:ro\n\n # Health check\n healthcheck:\n test: [\"CMD\", \"/ko-app/starmap\", \"version\"]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 10s\n\n # Restart policy\n restart: unless-stopped\n\n # Security: Run as nonroot user (UID 65532 in chainguard images)\n user: \"65532:65532\"\n\n # Security: Read-only root filesystem\n read_only: true\n tmpfs:\n - /tmp\n\n # Security: Drop all capabilities\n cap_drop:\n - ALL\n\n # Security: No new privileges\n security_opt:\n - no-new-privileges:true\n\n # Resource limits (adjust based on your needs)\n deploy:\n resources:\n limits:\n cpus: '2'\n memory: 512M\n reservations:\n cpus: '0.5'\n memory: 256M\n\nvolumes:\n starmap-data:\n driver: local\n\n# Networks (optional - for multi-service deployments)\n# networks:\n# starmap-net:\n# driver: bridge\n"}, "b6900bdae02dd1f80f5875881ee97c77d98a588b": {"t": 1785749084.218456, "n": 2159, "h": "5fe2b7e3c95e79fe", "c": "services:\n starmap:\n image: ghcr.io/agentstation/starmap:latest\n container_name: starmap-server\n command: [\"serve\", \"--host\", \"0.0.0.0\", \"--port\", \"8080\"]\n\n # HTTP server port\n ports:\n - \"8080:8080\"\n\n # Environment variables\n # Copy .env.example to .env and customize\n environment:\n # Server configuration\n - HTTP_HOST=0.0.0.0\n - HTTP_PORT=8080\n\n # Provider API keys (optional - for live data fetching)\n # Uncomment and set in .env file\n # - OPENAI_API_KEY=${OPENAI_API_KEY}\n # - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}\n # - GOOGLE_API_KEY=${GOOGLE_API_KEY}\n # - GROQ_API_KEY=${GROQ_API_KEY}\n # - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\n # - CEREBRAS_API_KEY=${CEREBRAS_API_KEY}\n\n # Google Vertex (optional)\n # - GOOGLE_VERTEX_PROJECT=${GOOGLE_VERTEX_PROJECT}\n # - GOOGLE_VERTEX_LOCATION=${GOOGLE_VERTEX_LOCATION}\n # - GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcp-key.json\n\n # Optional: Load environment from .env file\n env_file:\n - .env\n\n # Persistent storage for catalog data\n volumes:\n - starmap-data:/home/nonroot/.starmap\n # Optional: Mount Google Cloud credentials\n # - ./secrets/gcp-key.json:/secrets/gcp-key.json:ro\n\n # Health check\n healthcheck:\n test: [\"CMD\", \"/ko-app/starmap\", \"version\"]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 10s\n\n # Restart policy\n restart: unless-stopped\n\n # Security: Run as nonroot user (UID 65532 in chainguard images)\n user: \"65532:65532\"\n\n # Security: Read-only root filesystem\n read_only: true\n tmpfs:\n - /tmp\n\n # Security: Drop all capabilities\n cap_drop:\n - ALL\n\n # Security: No new privileges\n security_opt:\n - no-new-privileges:true\n\n # Resource limits (adjust based on your needs)\n deploy:\n resources:\n limits:\n cpus: '2'\n memory: 512M\n reservations:\n cpus: '0.5'\n memory: 256M\n\nvolumes:\n starmap-data:\n driver: local\n\n# Networks (optional - for multi-service deployments)\n# networks:\n# starmap-net:\n# driver: bridge\n"}, "db2474ae231cf0196add74d8d0e3de2408e65cca": {"t": 1785749085.3156013, "n": 2113, "h": "d30581f2ca8e79dc", "c": "version: '3.9'\n\nservices:\n starmap:\n image: ghcr.io/agentstation/starmap:latest\n container_name: starmap-server\n\n # HTTP server port\n ports:\n - \"8080:8080\"\n\n # Environment variables\n # Copy .env.example to .env and customize\n environment:\n # Server configuration\n - HTTP_HOST=0.0.0.0\n - HTTP_PORT=8080\n\n # Provider API keys (optional - for live data fetching)\n # Uncomment and set in .env file\n # - OPENAI_API_KEY=${OPENAI_API_KEY}\n # - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}\n # - GOOGLE_API_KEY=${GOOGLE_API_KEY}\n # - GROQ_API_KEY=${GROQ_API_KEY}\n # - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\n # - CEREBRAS_API_KEY=${CEREBRAS_API_KEY}\n\n # Google Vertex (optional)\n # - GOOGLE_VERTEX_PROJECT=${GOOGLE_VERTEX_PROJECT}\n # - GOOGLE_VERTEX_LOCATION=${GOOGLE_VERTEX_LOCATION}\n # - GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcp-key.json\n\n # Optional: Load environment from .env file\n env_file:\n - .env\n\n # Persistent storage for catalog data\n volumes:\n - starmap-data:/home/nonroot/.starmap\n # Optional: Mount Google Cloud credentials\n # - ./secrets/gcp-key.json:/secrets/gcp-key.json:ro\n\n # Health check\n healthcheck:\n test: [\"CMD\", \"/ko-app/starmap\", \"version\"]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 10s\n\n # Restart policy\n restart: unless-stopped\n\n # Security: Run as nonroot user (UID 65532 in chainguard images)\n user: \"65532:65532\"\n\n # Security: Read-only root filesystem\n read_only: true\n tmpfs:\n - /tmp\n\n # Security: Drop all capabilities\n cap_drop:\n - ALL\n\n # Security: No new privileges\n security_opt:\n - no-new-privileges:true\n\n # Resource limits (adjust based on your needs)\n deploy:\n resources:\n limits:\n cpus: '2'\n memory: 512M\n reservations:\n cpus: '0.5'\n memory: 256M\n\nvolumes:\n starmap-data:\n driver: local\n\n# Networks (optional - for multi-service deployments)\n# networks:\n# starmap-net:\n# driver: bridge\n"}, "9c5c3175b6a03a1259147e40af15d4ba9d6e84b7": {"t": 1786068220.0052767, "n": 2375, "h": "00c24a3d4480811c", "c": "services:\n starmap:\n image: ghcr.io/agentstation/starmap:latest\n container_name: starmap-server\n command: [\"serve\", \"--host\", \"0.0.0.0\", \"--port\", \"8080\"]\n\n # HTTP server port\n ports:\n - \"8080:8080\"\n\n # Environment variables\n # Copy .env.example to .env and customize\n environment:\n # Server configuration\n - HTTP_HOST=0.0.0.0\n - HTTP_PORT=8080\n\n # Provider API keys (optional - for live data fetching)\n # Uncomment and set in .env file\n # - OPENAI_API_KEY=${OPENAI_API_KEY}\n # - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}\n # - GOOGLE_API_KEY=${GOOGLE_API_KEY}\n # - GROQ_API_KEY=${GROQ_API_KEY}\n # - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\n # - CEREBRAS_API_KEY=${CEREBRAS_API_KEY}\n # - DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}\n # - ALIBABA_MODEL_STUDIO_BASE_URL=${ALIBABA_MODEL_STUDIO_BASE_URL}\n # - FIREWORKS_API_KEY=${FIREWORKS_API_KEY}\n # - DEEPINFRA_TOKEN=${DEEPINFRA_TOKEN}\n\n # Google Vertex (optional)\n # - GOOGLE_VERTEX_PROJECT=${GOOGLE_VERTEX_PROJECT}\n # - GOOGLE_VERTEX_LOCATION=${GOOGLE_VERTEX_LOCATION}\n # - GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcp-key.json\n\n # Optional: Load environment from .env file\n env_file:\n - .env\n\n # Persistent storage for catalog data\n volumes:\n - starmap-data:/home/nonroot/.starmap\n # Optional: Mount Google Cloud credentials\n # - ./secrets/gcp-key.json:/secrets/gcp-key.json:ro\n\n # Health check\n healthcheck:\n test: [\"CMD\", \"/ko-app/starmap\", \"version\"]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 10s\n\n # Restart policy\n restart: unless-stopped\n\n # Security: Run as nonroot user (UID 65532 in chainguard images)\n user: \"65532:65532\"\n\n # Security: Read-only root filesystem\n read_only: true\n tmpfs:\n - /tmp\n\n # Security: Drop all capabilities\n cap_drop:\n - ALL\n\n # Security: No new privileges\n security_opt:\n - no-new-privileges:true\n\n # Resource limits (adjust based on your needs)\n deploy:\n resources:\n limits:\n cpus: '2'\n memory: 512M\n reservations:\n cpus: '0.5'\n memory: 256M\n\nvolumes:\n starmap-data:\n driver: local\n\n# Networks (optional - for multi-service deployments)\n# networks:\n# starmap-net:\n# driver: bridge\n"}}, "scripts/verify.sh": {"afa452c10b358b5def68062c232ff45539083695": {"t": 1785745946.0995407, "n": 4173, "h": "98a9894c940c661f", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\nVERIFY_HOME=\"$TMPDIR/home\"\nGOLANGCI_LINT_CACHE=\"$TMPDIR/golangci-lint-cache\"\nGOLANGCI_LINT_VERSION=\"2.12.2\"\nexport GOLANGCI_LINT_CACHE\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrequire_lint_version() {\n\tlocal output\n\toutput=\"$(\"$@\" version 2>&1)\"\n\tif [[ \"$output\" != *\"version $GOLANGCI_LINT_VERSION \"* ]]; then\n\t\tprintf 'golangci-lint %s is required; found:\\n%s\\n' \"$GOLANGCI_LINT_VERSION\" \"$output\" >&2\n\t\texit 1\n\tfi\n}\n\nrun_lint() {\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trequire_lint_version devbox run golangci-lint\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trequire_lint_version golangci-lint\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tprintf 'golangci-lint %s is required; install it with:\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\tprintf ' go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v%s\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\texit 1\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/openrouter 85\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./internal/catalog/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./internal/catalog/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun make test-pure-go\nrun make test-file-sizes\nrun env CGO_ENABLED=1 go test ./... -race -short -timeout=20m\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\nmkdir -p \"$VERIFY_HOME\"\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_APPLICATION_CREDENTIALS \\\n\t-u GOOGLE_API_KEY \\\n\t-u GOOGLE_VERTEX_LOCATION \\\n\t-u GOOGLE_VERTEX_PROJECT \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\tCLOUDSDK_CONFIG=\"$VERIFY_HOME/.config/gcloud\" \\\n\tHOME=\"$VERIFY_HOME\" \\\n\tXDG_CONFIG_HOME=\"$VERIFY_HOME/.config\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "0bae677aa567494f8b32ef6271dd97ef0a2cee9a": {"t": 1785749083.497118, "n": 4173, "h": "98a9894c940c661f", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\nVERIFY_HOME=\"$TMPDIR/home\"\nGOLANGCI_LINT_CACHE=\"$TMPDIR/golangci-lint-cache\"\nGOLANGCI_LINT_VERSION=\"2.12.2\"\nexport GOLANGCI_LINT_CACHE\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrequire_lint_version() {\n\tlocal output\n\toutput=\"$(\"$@\" version 2>&1)\"\n\tif [[ \"$output\" != *\"version $GOLANGCI_LINT_VERSION \"* ]]; then\n\t\tprintf 'golangci-lint %s is required; found:\\n%s\\n' \"$GOLANGCI_LINT_VERSION\" \"$output\" >&2\n\t\texit 1\n\tfi\n}\n\nrun_lint() {\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trequire_lint_version devbox run golangci-lint\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trequire_lint_version golangci-lint\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tprintf 'golangci-lint %s is required; install it with:\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\tprintf ' go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v%s\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\texit 1\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/openrouter 85\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./internal/catalog/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./internal/catalog/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun make test-pure-go\nrun make test-file-sizes\nrun env CGO_ENABLED=1 go test ./... -race -short -timeout=20m\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\nmkdir -p \"$VERIFY_HOME\"\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_APPLICATION_CREDENTIALS \\\n\t-u GOOGLE_API_KEY \\\n\t-u GOOGLE_VERTEX_LOCATION \\\n\t-u GOOGLE_VERTEX_PROJECT \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\tCLOUDSDK_CONFIG=\"$VERIFY_HOME/.config/gcloud\" \\\n\tHOME=\"$VERIFY_HOME\" \\\n\tXDG_CONFIG_HOME=\"$VERIFY_HOME/.config\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "08f18cbe6ee7195122c2d7eae8957da41facc1c8": {"t": 1785749084.5912757, "n": 3837, "h": "72a9c4590df19b7a", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\nGOLANGCI_LINT_VERSION=\"2.12.2\"\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrequire_lint_version() {\n\tlocal output\n\toutput=\"$(\"$@\" version 2>&1)\"\n\tif [[ \"$output\" != *\"version $GOLANGCI_LINT_VERSION \"* ]]; then\n\t\tprintf 'golangci-lint %s is required; found:\\n%s\\n' \"$GOLANGCI_LINT_VERSION\" \"$output\" >&2\n\t\texit 1\n\tfi\n}\n\nrun_lint() {\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trequire_lint_version devbox run golangci-lint\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trequire_lint_version golangci-lint\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tprintf 'golangci-lint %s is required; install it with:\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\tprintf ' go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v%s\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\texit 1\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/openrouter 85\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./internal/catalog/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./internal/catalog/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun make test-pure-go\nrun make test-file-sizes\nrun env CGO_ENABLED=1 go test ./... -race -short -timeout=20m\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_API_KEY \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "5e0eb9bd7ab11334d1a955d9d898cc93b61f36dd": {"t": 1785749085.6822379, "n": 3786, "h": "9242213ca6ae6f9a", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\nGOLANGCI_LINT_VERSION=\"2.12.2\"\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrequire_lint_version() {\n\tlocal output\n\toutput=\"$(\"$@\" version 2>&1)\"\n\tif [[ \"$output\" != *\"version $GOLANGCI_LINT_VERSION \"* ]]; then\n\t\tprintf 'golangci-lint %s is required; found:\\n%s\\n' \"$GOLANGCI_LINT_VERSION\" \"$output\" >&2\n\t\texit 1\n\tfi\n}\n\nrun_lint() {\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trequire_lint_version devbox run golangci-lint\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trequire_lint_version golangci-lint\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tprintf 'golangci-lint %s is required; install it with:\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\tprintf ' go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v%s\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\texit 1\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/openrouter 85\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./pkg/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./pkg/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun make test-pure-go\nrun env CGO_ENABLED=1 go test ./... -race -short -timeout=20m\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_API_KEY \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "76dd317810815604b6c796814bce5b8887aaadd0": {"t": 1785749086.7921534, "n": 3789, "h": "8aa86d755dc9a625", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\nGOLANGCI_LINT_VERSION=\"2.12.2\"\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrequire_lint_version() {\n\tlocal output\n\toutput=\"$(\"$@\" version 2>&1)\"\n\tif [[ \"$output\" != *\"version $GOLANGCI_LINT_VERSION \"* ]]; then\n\t\tprintf 'golangci-lint %s is required; found:\\n%s\\n' \"$GOLANGCI_LINT_VERSION\" \"$output\" >&2\n\t\texit 1\n\tfi\n}\n\nrun_lint() {\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trequire_lint_version devbox run golangci-lint\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trequire_lint_version golangci-lint\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tprintf 'golangci-lint %s is required; install it with:\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\tprintf ' go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v%s\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\texit 1\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/events 70\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/server/websocket 85\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./pkg/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./pkg/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun go test ./... -race -short -timeout=20m\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_API_KEY \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "9609f4f4a74281a7f9692a97cc4926df5978d754": {"t": 1785749088.036305, "n": 3881, "h": "9b79329128774218", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\nGOLANGCI_LINT_VERSION=\"2.12.2\"\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrequire_lint_version() {\n\tlocal output\n\toutput=\"$(\"$@\" version 2>&1)\"\n\tif [[ \"$output\" != *\"version $GOLANGCI_LINT_VERSION \"* ]]; then\n\t\tprintf 'golangci-lint %s is required; found:\\n%s\\n' \"$GOLANGCI_LINT_VERSION\" \"$output\" >&2\n\t\texit 1\n\tfi\n}\n\nrun_lint() {\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trequire_lint_version devbox run golangci-lint\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trequire_lint_version golangci-lint\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tprintf 'golangci-lint %s is required; install it with:\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\tprintf ' go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v%s\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\texit 1\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/attribution 85\n\tcheck_coverage ./internal/attribution/matcher 75\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/events 70\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/server/websocket 85\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./pkg/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./pkg/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun go test ./... -race -short -timeout=20m\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_API_KEY \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "1dc811b5ca9034c5c6ecf1a4b7a93786e7ecf08f": {"t": 1785749089.108175, "n": 3868, "h": "5231f99a73e09fbb", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\nGOLANGCI_LINT_VERSION=\"2.12.2\"\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrequire_lint_version() {\n\tlocal output\n\toutput=\"$(\"$@\" version 2>&1)\"\n\tif [[ \"$output\" != *\"version $GOLANGCI_LINT_VERSION \"* ]]; then\n\t\tprintf 'golangci-lint %s is required; found:\\n%s\\n' \"$GOLANGCI_LINT_VERSION\" \"$output\" >&2\n\t\texit 1\n\tfi\n}\n\nrun_lint() {\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trequire_lint_version devbox run golangci-lint\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trequire_lint_version golangci-lint\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tprintf 'golangci-lint %s is required; install it with:\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\tprintf ' go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v%s\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\texit 1\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/attribution 85\n\tcheck_coverage ./internal/attribution/matcher 75\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/events 70\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/server/websocket 85\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./pkg/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./pkg/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun go test ./... -race -short\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_API_KEY \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "0452c360ab867aeeec0dd20e6162ee7d23f4b73b": {"t": 1785749090.2191505, "n": 3377, "h": "175c202fc2e5a757", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrun_optional_lint() {\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tprintf '\\n==> skipping golangci-lint: command not found\\n'\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/attribution 85\n\tcheck_coverage ./internal/attribution/matcher 75\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/events 70\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/server/websocket 85\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./pkg/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./pkg/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun go test ./... -race -short\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_optional_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_API_KEY \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "d0f67680ae025c153e166ebcfe66cef9d974f282": {"t": 1785749091.28202, "n": 3362, "h": "15e7041bb716285f", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_STORE_PATH=\"$TMPDIR/catalog-store\"\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrun_optional_lint() {\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tprintf '\\n==> skipping golangci-lint: command not found\\n'\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/attribution 85\n\tcheck_coverage ./internal/attribution/matcher 75\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/events 70\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/server/websocket 85\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./pkg/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./pkg/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun go test ./... -race -short\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_optional_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_STORE_PATH=\"$VERIFY_CATALOG_STORE_PATH\" LOCAL_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_API_KEY \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_STORE_PATH=\"$VERIFY_CATALOG_STORE_PATH\" \\\n\tLOCAL_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_STORE_PATH=\"$VERIFY_CATALOG_STORE_PATH\" LOCAL_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "2be4b8accebf0cf570b29df4bc6c58e681f92af0": {"t": 1785749092.375238, "n": 2992, "h": "91915c7e4e018df8", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrun_optional_lint() {\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tprintf '\\n==> skipping golangci-lint: command not found\\n'\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/attribution 85\n\tcheck_coverage ./internal/attribution/matcher 75\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/events 70\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/server/websocket 85\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./pkg/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./pkg/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun go test ./... -race -short\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_optional_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun \"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_API_KEY \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun \"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}, "9c5c3175b6a03a1259147e40af15d4ba9d6e84b7": {"t": 1786068345.6079361, "n": 4173, "h": "98a9894c940c661f", "c": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nTMPDIR=\"$(mktemp -d \"${TMPDIR:-/tmp}/starmap-verify.XXXXXX\")\"\ntrap 'rm -rf \"$TMPDIR\"' EXIT\nVERIFY_CATALOG_PATH=\"$ROOT/internal/embedded/catalog\"\nVERIFY_CATALOG_DATABASE_PATH=\"$TMPDIR/catalog\"\nVERIFY_HOME=\"$TMPDIR/home\"\nGOLANGCI_LINT_CACHE=\"$TMPDIR/golangci-lint-cache\"\nGOLANGCI_LINT_VERSION=\"2.12.2\"\nexport GOLANGCI_LINT_CACHE\n\ncd \"$ROOT\"\n\nrun() {\n\tprintf '\\n==> %s\\n' \"$*\"\n\t\"$@\"\n}\n\nrequire_lint_version() {\n\tlocal output\n\toutput=\"$(\"$@\" version 2>&1)\"\n\tif [[ \"$output\" != *\"version $GOLANGCI_LINT_VERSION \"* ]]; then\n\t\tprintf 'golangci-lint %s is required; found:\\n%s\\n' \"$GOLANGCI_LINT_VERSION\" \"$output\" >&2\n\t\texit 1\n\tfi\n}\n\nrun_lint() {\n\tif command -v devbox >/dev/null 2>&1; then\n\t\trequire_lint_version devbox run golangci-lint\n\t\trun devbox run golangci-lint run\n\t\treturn\n\tfi\n\tif command -v golangci-lint >/dev/null 2>&1; then\n\t\trequire_lint_version golangci-lint\n\t\trun golangci-lint run\n\t\treturn\n\tfi\n\tprintf 'golangci-lint %s is required; install it with:\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\tprintf ' go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v%s\\n' \"$GOLANGCI_LINT_VERSION\" >&2\n\texit 1\n}\n\ncheck_coverage() {\n\tlocal pkg=\"$1\"\n\tlocal min=\"$2\"\n\tlocal profile\n\tlocal output coverage\n\tprofile=\"$TMPDIR/$(printf '%s' \"$pkg\" | tr '/.' '__').out\"\n\n\tprintf '\\n==> coverage %s >= %s%%\\n' \"$pkg\" \"$min\"\n\toutput=\"$(go test -covermode=atomic -coverprofile=\"$profile\" \"$pkg\" 2>&1)\"\n\tprintf '%s\\n' \"$output\"\n\tcoverage=\"$(printf '%s\\n' \"$output\" | awk '/coverage:/ { for (i = 1; i <= NF; i++) if ($i ~ /%$/) { gsub(\"%\", \"\", $i); print $i; exit } }')\"\n\n\tif [ -z \"$coverage\" ]; then\n\t\tprintf 'coverage check failed: no coverage percentage found for %s\\n' \"$pkg\" >&2\n\t\texit 1\n\tfi\n\n\tawk -v got=\"$coverage\" -v want=\"$min\" 'BEGIN { if ((got + 0) < (want + 0)) exit 1 }' || {\n\t\tprintf 'coverage check failed: %s has %s%% coverage, want at least %s%%\\n' \"$pkg\" \"$coverage\" \"$min\" >&2\n\t\texit 1\n\t}\n}\n\ncheck_critical_coverage() {\n\tcheck_coverage ./internal/catalog/pipeline 70\n\tcheck_coverage ./internal/catalog/query 75\n\tcheck_coverage ./internal/providers/clients 80\n\tcheck_coverage ./internal/sources/providers 75\n\tcheck_coverage ./internal/server/middleware 90\n\tcheck_coverage ./internal/server/openrouter 85\n\tcheck_coverage ./internal/server/params 95\n\tcheck_coverage ./internal/server/response 95\n\tcheck_coverage ./internal/server/sse 90\n\tcheck_coverage ./internal/transport 40\n\tcheck_coverage ./internal/catalog/authority 90\n\tcheck_coverage ./pkg/catalogs 55\n\tcheck_coverage ./pkg/errors 80\n\tcheck_coverage ./internal/catalog/reconciler 75\n\tcheck_coverage ./pkg/sources 35\n}\n\nif [ \"${STARMAP_VERIFY_COVERAGE_ONLY:-}\" = \"1\" ]; then\n\tcheck_critical_coverage\n\tprintf '\\ncritical seam coverage passed\\n'\n\texit 0\nfi\n\nrun go test ./...\nrun make test-pure-go\nrun make test-file-sizes\nrun env CGO_ENABLED=1 go test ./... -race -short -timeout=20m\nrun go vet ./...\nrun ./scripts/verify-catalog-performance.sh\nrun_lint\n\ncheck_critical_coverage\n\nrun make docs-check\nrun git diff --check\n\nrun go build -o \"$TMPDIR/starmap\" ./cmd/starmap\nrun \"$TMPDIR/starmap\" version\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" validate catalog\nprintf '\\n==> isolated credential-free provider listing\\n'\nmkdir -p \"$VERIFY_HOME\"\n(\n\tcd \"$TMPDIR\"\n\tenv \\\n\t-u ALIBABA_MODEL_STUDIO_API_KEY \\\n\t-u ANTHROPIC_API_KEY \\\n\t-u CEREBRAS_API_KEY \\\n\t-u DASHSCOPE_API_KEY \\\n\t-u DEEPINFRA_TOKEN \\\n\t-u DEEPSEEK_API_KEY \\\n\t-u FIREWORKS_API_KEY \\\n\t-u GOOGLE_APPLICATION_CREDENTIALS \\\n\t-u GOOGLE_API_KEY \\\n\t-u GOOGLE_VERTEX_LOCATION \\\n\t-u GOOGLE_VERTEX_PROJECT \\\n\t-u GROQ_API_KEY \\\n\t-u MOONSHOT_API_KEY \\\n\t-u OPENAI_API_KEY \\\n\tCATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" \\\n\tCATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\tCLOUDSDK_CONFIG=\"$VERIFY_HOME/.config/gcloud\" \\\n\tHOME=\"$VERIFY_HOME\" \\\n\tXDG_CONFIG_HOME=\"$VERIFY_HOME/.config\" \\\n\t\"$TMPDIR/starmap\" providers\n)\nrun env CATALOG_PATH=\"$VERIFY_CATALOG_DATABASE_PATH\" CATALOG_EXPORT_PATH=\"$VERIFY_CATALOG_PATH\" \\\n\t\"$TMPDIR/starmap\" models list --limit 5\n\nprintf '\\nrepository verification passed\\n'\n"}}, "internal/providers/deepseek/client_test.go": {"9c5c3175b6a03a1259147e40af15d4ba9d6e84b7": {"t": 1786068286.4027467, "n": 1773, "h": "1ec3aa1d3ee899cc", "c": "package deepseek\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\n\t\"github.com/agentstation/starmap/internal/providers/openai\"\n\t\"github.com/agentstation/starmap/internal/providers/testhelper\"\n\t\"github.com/agentstation/starmap/pkg/catalogs\"\n)\n\n// TestDeepSeekWithUnifiedClient tests the unified OpenAI client with DeepSeek configuration.\nfunc TestDeepSeekWithUnifiedClient(t *testing.T) {\n\t// Load testdata\n\tvar response openai.Response\n\ttesthelper.LoadJSON(t, \"models_list.json\", &response)\n\n\t// Verify testdata structure\n\tassert.Equal(t, \"list\", response.Object)\n\tassert.Greater(t, len(response.Data), 0, \"Should have at least some models\")\n\n\t// Create DeepSeek-configured provider (uses OpenAI-compatible API)\n\tprovider := &catalogs.Provider{\n\t\tID: catalogs.ProviderIDDeepSeek,\n\t\tName: \"DeepSeek\",\n\t\tAPIKey: &catalogs.ProviderAPIKey{\n\t\t\tName: \"DEEPSEEK_API_KEY\",\n\t\t\tHeader: \"Authorization\",\n\t\t\tScheme: \"Bearer\",\n\t\t},\n\t\tCatalog: &catalogs.ProviderCatalog{\n\t\t\tAuth: catalogs.ProviderCatalogAuth{Method: catalogs.ProviderCatalogAuthAPIKey, Required: true},\n\t\t\tEndpoint: catalogs.ProviderEndpoint{\n\t\t\t\tType: catalogs.EndpointTypeOpenAI,\n\t\t\t\tURL: \"https://api.deepseek.com/v1/models\",\n\t\t\t\t// DeepSeek might have specific field mappings\n\t\t\t},\n\t\t},\n\t}\n\n\tclient, err := openai.NewClient(provider)\n\tif err != nil {\n\t\tt.Fatalf(\"NewClient: %v\", err)\n\t}\n\n\t// Test conversion of all models in testdata\n\tfor _, modelData := range response.Data {\n\t\tconverted := client.ConvertToModel(modelData)\n\t\tassert.NotEmpty(t, converted.ID, \"Model ID should be set for model: %s\", modelData.ID)\n\t\tassert.NotEmpty(t, converted.Name, \"Model Name should be set for model: %s\", modelData.ID)\n\t}\n\n\tt.Logf(\"✅ Successfully tested %d DeepSeek models from testdata\", len(response.Data))\n}\n"}}}} |